VxD's en VB

Iniciado por EstoyBaneado, 1 Junio 2005, 02:44 AM

0 Miembros y 1 Visitante están viendo este tema.

EstoyBaneado

Hola, alguien sabe como usar un VXD en el Visual?

tengo el VxD, el binario y el source... tengo q pasarlo a DLL?

bueno, gracias

salu2.
Fui baneado por decir lo que pienso...
No importa, rezare por uds... y eso que soy ateo xD

....Gusto....

creo q si, pero mucha idea no tengo de eso de las VxDs ;D
.:.~GuStO~.:.


Slasher-K

Para utilizar los VXDs existe la función DeviceIOControl. Con esta función se pueden enviar mensajes directamente al VXD y ejecutar las funciones que tenga incorporadas. Es al nivel más bajo que se puede acceder legalmente desde VB.

Esta función toma como parámetro un hDevice que es el handle al VXD. Este handle se obtiene anteriormente abriendo el archivo del VXD mediante la función CreateFile.

DeviceIoControl funciona tanto para VXDs dinámicos como estáticos.

Saludos.



A la reina de las profundidades que cuida los pasos de una sombra en la noche :*

EstoyBaneado

gracias a dios, un guru visita este foro xD

gracias EsLaYer

como haces para saber todo? jaja. salu2 capo.

PD: estuve 1 dia entero tratando de descubrir xq no creaba el file, y me di cuenta de q el vxd tiene q ser llamado con las barras, osea  "\\.\vxd.vxd" ....... jaja, q idiota. lo digo por si acaso otro comete el mismo error que yo xD.
Fui baneado por decir lo que pienso...
No importa, rezare por uds... y eso que soy ateo xD

EstoyBaneado

alguien sabe como pasar este code:
#define DDD      (ULONG) CTL_CODE( 0x00008305, 0x00, METHOD_BUFFERED, FILE_ANY_ACCESS )


a codigo VB ?? agradeceria cualquier ayuda.

salu2.
Fui baneado por decir lo que pienso...
No importa, rezare por uds... y eso que soy ateo xD

byebye

CTL_CODE es una funcion. METHOD_BUFFERED el valor es 0, y de FILE_ANY_ACCESS es 0 tb.

EstoyBaneado

a lo q me refiero es justamente a esa funcion, como la puedo pasar, xq no la entiendo, ahorita no la tengo aki, pero se q esta en un include del vc++.

cuando pase de vuelta, la posteo, a ver si me ayudan.

salu2
Fui baneado por decir lo que pienso...
No importa, rezare por uds... y eso que soy ateo xD

byebye

#define CTL_CODE(DeviceType, Function, Method, Access)( \
  ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))


en el ddk la tienes definida, no se hasta que punto podras usarlo en vb.

EstoyBaneado

q rayos es el ddk?  ;)
Fui baneado por decir lo que pienso...
No importa, rezare por uds... y eso que soy ateo xD

Slasher-K

DDK = Driver Developers Kit

Es una base de datos con recursos para los programadores de drivers pero hay que pagar. Tiene info técnica, conceptos, funciones, etc.

Acá te dejo la macro que puso Mek pero para VB:


Function LShiftWord(ByVal Word As Integer, ByVal C As Integer) As Integer
          Dim dw&

  dw = Word * (2 ^ C)

  If dw And &H8000& Then
    LShiftWord = CInt(dw And &H7FFF&) Or &H8000
  Else
    LShiftWord = dw And &HFFFF&
  End If
End Function

Function CTL_CODE(DeviceType As Integer, Func As Integer, Method As Integer, Access As Integer) As Long
  CTL_CODE = (LShiftWord(DeviceType, 16) Or LShiftWord(Access, 14) Or LShiftWord(Func, 2) Or Method)
End Function


Saludos.



A la reina de las profundidades que cuida los pasos de una sombra en la noche :*