IRP_MJ_CREATE for non PnP serial device (mouse) in W2K

Hello guys,
can anybody help me with the following problem:
I have legacy non PnP serial device, that should work as mouse under W2K -
actually it is touchscreen. As non PnP device it is not enumerable by
Serenum, so I have decided not to use PnP functionality in first version of
driver. I created draft version of mouse port driver, that use mouclass for
Interface connection as upper-level driver and low level serial driver for
communication with my touchscreen.

Problem is: my driver can’t be loaded as mouse driver – it never receive
IRP_MJ_CREATE nor IRP_MJ_INTERNAL_DEVICE_CONTROL with
IOCTL_INTERNAL_MOUSE_CONNECT!

In DriverEntry I successfully call

status = IoCreateDevice(Driver,
sizeof(DEVICE_EXTENSION),
&devname,
FILE_DEVICE_SERIAL_MOUSE_PORT,
0,
FALSE,
&device);

After all internal initialization and return STATUS_SUCCESS from
DriverEntry I expect to get IRP_MJ_CREATE from Win32 subsystem. According
to DDK “The Win32 subsystem also opens legacy devices by name, for
example,“\Device\KeyboardLegacyClass0”” and (for legacy devices) “The class
driver sends an internal device control request to the port driver to
enable the device”.

I created .inf file with “geninf” tool as inf for mouse port driver with
Type 1 Start, no interface, legacy (non-enumerable) bus type and no PnP ID.
Installed it with “Update Driver” button on “Serial mouse properties”
applet.

Question is: How can I get my driver loaded – first opened, then connected
to mouclass? Is problem in wrong “devname” in IoCreateDevice or some
missing Registry keys? Any hints ant advices would be highly appreciated.

Thank in advance,
Pavel.


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