The Device Manager tracks loaded drivers and their interfaces. The Device Manager runs continuously and launches from the kernel. It can notify the user when device interfaces appear and disappear. Additionally, the Device Manager notifies the kernel that it supports file operations, such as CreateFile, to access devices that expose the stream interface. It sends power notification callbacks to device drivers and provides power management services. For more information, see Power Management.
The Device Manager controls the Active key in the registry. Only the Device Manager should access the Active key for read or write access. You can indirectly access the Active key through a parameter to a device driver's initialization function.
The following table shows the functions that the Device Manager provides and their associated tasks.
|ActivateDeviceEx||Loads drivers by reading and writing registry keys.|
|DeactivateDevice||Unloads drivers when the devices no longer need them.|
|Manages device interfaces and interface notifications.|
|Manages resources relevant to device drivers, such as I/O space and interrupt requests (IRQs).|
The Device Manager searches the HKEY_LOCAL_MACHINE\Drivers\RootKey registry key to determine the key to begin the driver loading process. The default value of RootKey is Drivers, but it is usually equal to Drivers\BuiltIn. The Device Manager loads the driver specified by the Dll subkey's value found in the key specified by the RootKey value, the Dll subkey's value is typically RegEnum.dll, also referred to as the Registry Enumerator.
When the Device Manager loads, it also loads the I/O Resource Manager to read a list of available resources from the registry. For more information on the I/O Resource Manager, see I/O Resource Manager.
Device Manager Registry Keys | Driver Development | Driver Architecture
Last updated on Wednesday, April 13, 2005
© 2005 Microsoft Corporation. All rights reserved.