Using drvlib.lib

The user-mode library drvlib.lib provides the following:

·A standard set of user-mode audio driver entry points for waveform, MIDI, mixer, and auxiliary user-mode drivers.

·A communication path to the device's kernel-mode driver. This path consists of:

·Calling the Windows NT I/O Manager (by means of DeviceIoControl, described in the Win32 SDK) to send I/O control codes to the kernel-mode driver.

·Calling ReadFileEx and WriteFileEx (described in the Win32 SDK) to pass data between the user-mode and kernel-mode drivers.

For information on I/O control codes for multimedia drivers, see the Kernel-Mode Drivers Reference.

·A set of functions for creating and managing a kernel-mode driver as a Windows NT service, and for easily accessing driver keys within the Windows NT Registry. These functions are useful for installation and configuration operations, and are listed in Installing and Configuring your Driver, Using drvlib.lib.

The entry points, support functions, and communications path to the kernel-mode driver are identical to those provided by the standard audio driver, mmdrv.dll. This library is particularly useful if your user-mode driver requires only the functionality of mmdrv.dll, with the addition of customized installation and configuration operations. In such a case, you would create a module containing a customized DriverProc function, and then link it with drvlib.lib. To initialize the library, call DrvLibInit when your driver is loaded.

If your driver requires customized audio entry point functions, you might still want to base your functions on the those contained in drvlib.lib. Sources for drvlib.lib are provided with this DDK, in the directory path listed in Sample Audio Drivers.