DeviceReference on Whistler

Hi,
I have found, to my great chagrin, that Whistler has removed the
“devicereference” registry entries which Win2000 always provided.

In Win2000, under the CCS/Control/Enum key, every present device is
provided with a key, under which there is a subkey called “control”, under
which there is a value named “devicereference”.

This value is incredibly useful; it is the handle to the kernel device
which controls the item. For instance, I have a PCI modem. Under
CCS/Control/Enum/PCI, my modem appears, with a 32-bit device reference.
This 32-bit value is the handle to the kernel device which receives the
IOCTL’s for the modem. This value is the handle which would be returned by
IoGetDeviceObjectPointer regarding that device.

However, on Whistler Beta 1, the value is gone! The same registry
structure exists, but the devicereference value is simply not there!

1] Is there another way to retrieve this value (that is, without knowing
the kernel name of the device; all I know is the registry entry under
CCS/Control/Enum).

2] Is there a chance that Microsoft will put this value back? Has anyone
else been bothered by its disappearance?

Avi Shmidman


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

The address in the DeviceReference field is the PDO of the device. This
field is removed from the registry because it wasn’t meant for public use.
This was never documented so no body should be using it. There are other
documented ways to do what you want to do.

-Eliyas

-----Original Message-----
From: Avi Shmidman [mailto:xxxxx@excalibur.co.il]
Sent: Wednesday, February 28, 2001 11:27 AM
To: NT Developers Interest List
Subject: [ntdev] DeviceReference on Whistler

Hi,
I have found, to my great chagrin, that Whistler has removed the
“devicereference” registry entries which Win2000 always provided.

In Win2000, under the CCS/Control/Enum key, every present device is
provided with a key, under which there is a subkey called “control”, under
which there is a value named “devicereference”.

This value is incredibly useful; it is the handle to the kernel device
which controls the item. For instance, I have a PCI modem. Under
CCS/Control/Enum/PCI, my modem appears, with a 32-bit device reference.
This 32-bit value is the handle to the kernel device which receives the
IOCTL’s for the modem. This value is the handle which would be returned by
IoGetDeviceObjectPointer regarding that device.

However, on Whistler Beta 1, the value is gone! The same registry
structure exists, but the devicereference value is simply not there!

1] Is there another way to retrieve this value (that is, without knowing
the kernel name of the device; all I know is the registry entry under
CCS/Control/Enum).

2] Is there a chance that Microsoft will put this value back? Has anyone
else been bothered by its disappearance?

Avi Shmidman


You are currently subscribed to ntdev as: xxxxx@microsoft.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

Sorry, Avi… Eliyas is right.

What are you trying to do. Surely there’s an easier, and more correct, way
to do this than relying on the coincidental value of an undocumented
registry key.

Peter
OSR


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