calling VXD from WDM

Hi All,

Is it possible to send IOCTLs to VXD drivers from WDM drivers. If possible,
Can I use the same functions like IoGetDeviceObjectPointer() and
IoCallDriver(). Will this work ?

Thanks in advance
-Fareed.


Join the world’s largest e-mail service with MSN Hotmail.
http://www.hotmail.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

You can put in your WDM driver VxDCall macros to communicate with your VXD
driver. In my opinion you can’t use IoCallDriver() function because VXDs
don’t have corresponding device objects.
But you can try to use ZwCreateFile(), ZwDeviceIoControlFile() and ZwClose()
functions to open and operate with your VXD driver. I didn’t try the latter
technique and can’t say anything valuable about this.
Microsoft actively uses VxDCall macros in WDM drivers for Windows 98/ME. For
example, WDMFS.SYS driver maps all Nt(Zw)XxxFile() functions to IFSMGR.VXD
driver services using VxDCall macros. ACPI.SYS driver uses VxDCall macros
too. If you succefully apply ZwCreateFile() technique for communicating with
VXD please let me know. In addition, you can use in your VXD driver these
three NTKERN.VXD services for communicating with WDM driver:

NtKernCreateFile()
NtKernDeviceIoControl()
NtKernClose()

These services have the same parameters as ZwXxxFile() functions.
Please feel free to ask me about this stuff. I’m myself very interested in
this subject.

Konstantin Manurin (aka NizeG)
Programmer
Nival Interactive
mailto:xxxxx@nival.com

10a bld. 5, 1st Volokolamsky proezd
Moscow 123060 Russia
Tel: +7 (095) 363-9630
Tel: +7 (095) 363 9636
http://www.nival.com

----- Original Message -----
From: “Fareed Anwar”
To: “NT Developers Interest List”
Sent: Tuesday, January 29, 2002 2:59 AM
Subject: [ntdev] calling VXD from WDM

> Hi All,
>
> Is it possible to send IOCTLs to VXD drivers from WDM drivers. If
possible,
> Can I use the same functions like IoGetDeviceObjectPointer() and
> IoCallDriver(). Will this work ?
>
> Thanks in advance
> -Fareed.
>
> _________________________________________________________________
> Join the world’s largest e-mail service with MSN Hotmail.
> http://www.hotmail.com
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@nival.com
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Konstantin:

thanks for the reply. I found this article from MSJ at

http://www.microsoft.com/msj/defaultframe.asp?page=/msj/1297/win32driver2.htm

which does talks about interfacing vxd and wdm.

I tried _NtKern routines as described in this article in my wdm driver to
talk to the vxd but _NtKernCreateFile will always return 0xc0000033, invalid
object name, no matter how I give it. I tried \\.\vxdname
\\.\vxdname.vxd but no success. Do you have any idea about it.

I think I should go for VxdCalls now.

Thanks.
-Fareed

From: “Konstantin Manurin”
>Reply-To: “NT Developers Interest List”
>To: “NT Developers Interest List”
>Subject: [ntdev] Re: calling VXD from WDM
>Date: Tue, 29 Jan 2002 12:02:56 +0300
>
>You can put in your WDM driver VxDCall macros to communicate with your VXD
>driver. In my opinion you can’t use IoCallDriver() function because VXDs
>don’t have corresponding device objects.
>But you can try to use ZwCreateFile(), ZwDeviceIoControlFile() and
>ZwClose()
>functions to open and operate with your VXD driver. I didn’t try the latter
>technique and can’t say anything valuable about this.
>Microsoft actively uses VxDCall macros in WDM drivers for Windows 98/ME.
>For
>example, WDMFS.SYS driver maps all Nt(Zw)XxxFile() functions to IFSMGR.VXD
>driver services using VxDCall macros. ACPI.SYS driver uses VxDCall macros
>too. If you succefully apply ZwCreateFile() technique for communicating
>with
>VXD please let me know. In addition, you can use in your VXD driver these
>three NTKERN.VXD services for communicating with WDM driver:
>
>NtKernCreateFile()
>NtKernDeviceIoControl()
>NtKernClose()
>
>These services have the same parameters as ZwXxxFile() functions.
>Please feel free to ask me about this stuff. I’m myself very interested in
>this subject.
>
>Konstantin Manurin (aka NizeG)
>Programmer
>Nival Interactive
>mailto:xxxxx@nival.com
>
>10a bld. 5, 1st Volokolamsky proezd
>Moscow 123060 Russia
>Tel: +7 (095) 363-9630
>Tel: +7 (095) 363 9636
>http://www.nival.com
>
>----- Original Message -----
>From: “Fareed Anwar”
>To: “NT Developers Interest List”
>Sent: Tuesday, January 29, 2002 2:59 AM
>Subject: [ntdev] calling VXD from WDM
>
>
> > Hi All,
> >
> > Is it possible to send IOCTLs to VXD drivers from WDM drivers. If
>possible,
> > Can I use the same functions like IoGetDeviceObjectPointer() and
> > IoCallDriver(). Will this work ?
> >
> > Thanks in advance
> > -Fareed.
> >
> >
> > Join the world’s largest e-mail service with MSN Hotmail.
> > http://www.hotmail.com
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@nival.com
> > To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
> >
>
>
>
>—
>You are currently subscribed to ntdev as: xxxxx@hotmail.com
>To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


Send and receive Hotmail on your mobile device: http://mobile.msn.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com