Hi,
Can anybody point me where i can find information about
communication between a WDM driver and VxD in Windows 98/ME?
I need to support custom USB H/W in Win 98/ME. I have written a
WDM driver for the USB interface. I need to write a VxD and need to
implement the communication between that .sys and .vxd
TIA.
Regards,
Vijay Anand
Hi,
I am also doing same thing.I have written a WDM
driver for the ethernet interface for win 2k. I need
to write a VxD for 98 and need to implement the
communication between .sys and .vxd.
Help please…
Regards
mcreddy
— anand wrote:
> Hi,
> Can anybody point me where i can find
> information about
> communication between a WDM driver and VxD in
> Windows 98/ME?
>
> I need to support custom USB H/W in Win 98/ME. I
> have written a
> WDM driver for the USB interface. I need to write a
> VxD and need to
> implement the communication between that .sys and
> .vxd
>
> TIA.
>
> Regards,
> Vijay Anand
>
>
>
> —
> You are currently subscribed to ntdev as:
> xxxxx@yahoo.co.uk
> To unsubscribe send a blank email to
xxxxx@lists.osr.com
__________________________________________________
Do you Yahoo!?
Yahoo! Platinum - Watch CBS’ NCAA March Madness, live on your desktop!
http://platinum.yahoo.com
Unfortunately, this subject is totally undocumented (in my opinion), but
it’s a very usefull thing especially when developing two
architecture-different modules - VXD/SYS. Nevertheless Microsoft actively
uses this technique in many WDM drivers from Windows 9x/Me. There are
several methods to perform VXD/WDM communication. For instance, ACPI.SYS
driver creates DDB so this module behaves as a pure WDM driver exporting
functions thru PE export table an also as a VXD module exporting VXD
services thru DDB table.
You can export some functions from your SYS-module and then in VXD module
obtain pointers to these functions thru
_PELDR_GetModuleHandle/_PELDR_GetProcAddress services.
On the other hand you can create an export table in your VXD module thru
_PELDR_AddExportTable service and then simply use these functions in your
SYS module (as if they were exported from, for instance, NTOSKRNL.EXE or
HAL.DLL). You should simply create export library and header file with these
functions and link it with your SYS module. The trick is that when you
create export table with _PELDR_AddExportTable service you indicate a module
name from which these functions virtually exported. It’s worth mentioning
that all WDM functions in Windows 9x/Me are exported as I described above.
And finally you can directly call VXD services (defined in your VXD module)
from your SYS module (of course, you should export these services from your
VXD module thru DDB).
By the way you can also call almost all WDM functions from a VXD module thru
INT 2Eh entry point.
If you have any additional questions please feel free to ask me. But I
didn’t work with this stuff for a long time so many things may be forgotten
%-)))
Konstantin Manurin
Programmer
Nival Interactive
mailto:xxxxx@nival.com
10a bld. 5, 1st Volokolamsky proezd
Moscow 123060 Russia
Tel: +7 (095) 363-9630
Fax: +7 (095) 363-9631
http://www.nival.com
http://www.etherlords.com
http://www.evil-islands.com