Installing and Configuring your Driver, Using drvlib.lib
User-mode drivers can call functions in drvlib.lib to start the
kernel-mode driver and to modify registry keys. The most commonly used
functions include:
-
DrvLibInit
-
Initializes drvlib.lib for use with your user-mode driver.
-
DrvCreateServicesNode
-
Creates a connection to the Windows NT service control manager and,
optionally, creates a service object for the kernel-mode driver.
-
DrvConfigureDriver
-
Opens a connection to the service control manager, creates a kernel-mode
driver service for the specified driver, and loads the kernel-mode driver.
This function is typically called when DriverProc
receives a DRV_INSTALL or DRV_CONFIGURE
message.
-
DrvCloseServiceManager
-
Closes a connection to the service control manager.
-
DrvCreateDeviceKey
-
Creates a device subkey under the driver’s \Parameters registry key.
You should store a device’s configuration parameters under this key.
-
GetInterruptsAndDma
-
Examines the registry to determine which interrupt numbers and DMA channels
are assigned to devices.
-
DrvSetDeviceIdParameter
-
Assigns a value to a value name in the registry, under a device’s \Parameters
key. Use this function to save configuration parameters.
-
DrvQueryDeviceIdParameter
-
Reads the value associated with a value name, under a device’s \Parameters
registry key. Use this function to read configuration parameters you have
stored in the registry.
-
DrvRemoveDriver
-
Unloads the kernel-mode driver and marks the kernel-mode driver service for
deletion. Typically called when DriverProc
receives a DRV_REMOVE message.
Other installation and configuration functions provided by drvlib.lib
are DrvSaveParametersKey, DrvRestoreParametersKey,
DrvDeleteServicesNode, DrvLoadKernelDriver,
DrvUnloadKernelDriver, DrvIsDriverLoaded,
DrvNumberOfDevices, and DrvSetMapperName.