registering a device interface with IoRegisterDeviceInterface
provides a persistent storage location with which drivers and
applications can store and retrieve interface-specific device
settings.
IoRegisterDeviceInterface:
http://msdn.microsoft.com/library/en.../k104_27n6.asp
drivers can open this registry key using:
IoOpenDeviceInterfaceRegistryKey:
http://msdn.microsoft.com/library/en.../k104_8kz6.asp
applications can open this registry using:
SetupDiOpenDeviceInterfaceRegKey:
http://msdn.microsoft.com/library/en...-rtns_375e.asp
once a device interface is registered against a device, it can also
be located in a standard way by other components.
IoGetDeviceInterfaces:
http://msdn.microsoft.com/library/en.../k104_24vm.asp
SetupDiGetClassDevs, DIGCF_DEVICEINTERFACE:
http://msdn.microsoft.com/library/en...-rtns_9ks2.asp
when a device interface is enabled (with IoSetDeviceInterfaceState),
a symbolic link to the device driver stack is provided for clients
to initiate I/O operations. when the interface is disabled, the
symbolic link is removed.
IoSetDeviceInterfaceState:
http://msdn.microsoft.com/library/en.../k104_3epe.asp
enabling or disabling the device interface is also what causes
notification events to be sent to components that have registered
for device interface notification for that interface's class.
kernel-mode components register for device interface event
notification using:
IoRegisterPlugPlayNotification:
http://msdn.microsoft.com/library/en.../k104_7diq.asp
user-mode components register for device interface event
notification using:
RegisterDeviceNotification:
http://msdn.microsoft.com/library/en...tification.asp
if a driver does not register or enable a device interface for a
device, it will not receive the benefit of having a persistant
symbolic link name and associated storage location that is managed by
pnp, or a standard mechanism for other components to receive event
notification on the arrival and removal of this interface.
hope this helps,
jim.
--
This posting is provided "AS IS" with no warranties, and confers no rights.
"Mike Pulice" <badvox@nospam.verizon.net> wrote in message
news:OIGntpSvDHA.1196@TK2MSFTNGP12.phx.gbl...