Título: cast parametro null Publicado por: neo_from_cs_matrix en 5 Marzo 2012, 08:04 am en c esto es Código: AdjustTokenPrivileges(hToken, 0, tkp, 0, (TOKEN_PRIVILEGES) 0, 0) necesito en vb como hacerlo, osea esta linea es el problema con el parametro 5 Código: Call AdjustTokenPrivileges(hToken, 0, tkp, 0, 0, 0) :/ Título: Re: cast parametro null Publicado por: MCKSys Argentina en 5 Marzo 2012, 18:24 pm Segun: http://msdn.microsoft.com/en-us/library/windows/desktop/aa375202(v=vs.85).aspx (http://msdn.microsoft.com/en-us/library/windows/desktop/aa375202(v=vs.85).aspx)
Código: BOOL WINAPI AdjustTokenPrivileges( Como ves, PreviousState es un puntero a una estructura TOKEN_PRIVILEGES. Como es de entrada/salida, no puedes pasar 0. Lo que puedes hacer es llenar un estructura con 0 o nulls y pasarsela a la API. Aunque la MSDN dice que SI se puede pasar null... es raro :P Título: Re: cast parametro null Publicado por: raul338 en 5 Marzo 2012, 19:51 pm es que en realidad es depende de como este declarada la API, si el ultimo parametro es ByRef... estas jodido x'D
Tenes que poner como ByVal ReturnLength As Long, Si lo llamas en otras ocasiones con el tipo de datos, tenes que pasarlos usando VarPtr Título: Re: cast parametro null Publicado por: BlackZeroX en 5 Marzo 2012, 20:01 pm .
Si declaras la API como en la MSDN tendrías que usar así los parámetros, ¿como tienes declarada la API?. Todo depende de la declaración API... Código
Sangrientas Lunas!¡. Título: Re: cast parametro null Publicado por: neo_from_cs_matrix en 5 Marzo 2012, 22:41 pm declarado de esta forma Código: Private Declare Function AdjustTokenPrivileges Lib "advapi32" _ el tema es que yo tengo el code en c pero lo estoy convirtiendo a vb, la linea de c dice Código: AdjustTokenPrivileges(hToken, 0, tkp, 0, (TOKEN_PRIVILEGES) 0, 0) entonces yo lo que preguntaba era como castiar el "previousstate" de forma qe me permita pasarle 0 (null). Código: Call AdjustTokenPrivileges(hToken, 0, tkp, 0, 0, 0) pregunto... deberia hacerlo asi ? Código: Call AdjustTokenPrivileges(hToken, 0, tkp, 0, &H0&, 0) les agradezco que me digan como hago, y el tema del casteo en el parametro me vendria bien saberlo porque ando con visual basic estos dias XD Título: Re: cast parametro null Publicado por: MCKSys Argentina en 5 Marzo 2012, 22:59 pm Completa la estructura con ceros/nulls y pasasela a la API...
Título: Re: cast parametro null Publicado por: raul338 en 5 Marzo 2012, 23:11 pm las ultimas 2 lineas de la declaración, pásala a
Código
0 = &H0 :P (la diferencia es que en la izquierda es la notación decimal y la derecha es hexadecimal) Título: Re: cast parametro null Publicado por: neo_from_cs_matrix en 5 Marzo 2012, 23:22 pm Citar las ultimas 2 lineas de la declaración, pásala a graxCódigo ByVal PreviousState As Long, _ ByVal ReturnLength As Long) As Long 0 = &H0 (la diferencia es que en la izquierda es la notación decimal y la derecha es hexadecimal) Código: Private Type LUID los longs los pongo a cero pero los otros campos como los pongo a cero :/ Título: Re: cast parametro null Publicado por: x64core en 5 Marzo 2012, 23:26 pm si te referis a los campos de las estructuras se establecen automaticamente a 0
Título: Re: cast parametro null Publicado por: neo_from_cs_matrix en 5 Marzo 2012, 23:29 pm no me estaba refiriendo a un post arriba, de otro usuario
Citar Completa la estructura con ceros/nulls y pasasela a la API... Título: Re: cast parametro null Publicado por: x64core en 5 Marzo 2012, 23:36 pm Creo que se referia que en lugar de pasar una estructura pasaras 0 :P no... :B
Título: Re: cast parametro null Publicado por: neo_from_cs_matrix en 5 Marzo 2012, 23:51 pm si eso es lo que queria hacer en primer lugar
Título: Re: cast parametro null Publicado por: x64core en 5 Marzo 2012, 23:55 pm no podes, si en la documentacion de la API dice que se requiere una estructura tal se necesita una estructura, sino la API
no va a funcionar a menos que diga que podas pasarle un 0 :rolleyes: Título: Re: cast parametro null Publicado por: neo_from_cs_matrix en 5 Marzo 2012, 23:58 pm lo dice, de hecho en c lo tengo asi al code pasando 0
pero a lo sumo se debe poder hacer como dijo raul338, cambiar la declaracion y asi si pasar 0 Título: Re: cast parametro null Publicado por: Karcrack en 6 Marzo 2012, 02:44 am Aunque en la declaración de la función el parámetro esté establecido como ByRef puedes forzar que se pase como ByVal haciendo la llamada de esta forma:
Código
Saludos |