User-mode multimedia drivers executing under Windows NT have the following characteristics:
Typically, user-mode drivers call CreateFile to open a device instance. Then they make numerous calls to DeviceIoControl to send I/O control codes to the kernel-mode driver. Some drivers also call the ReadFileEx and WriteFileEx functions to transfer data blocks. Calling CloseHandle closes the device instance. (All of these functions are described in the Win32 SDK.)
User-mode drivers do not generally call these Win32 functions directly. Instead, they typically call functions in support libraries, which in turn call the Win32 functions. The support libraries are described in the chapters discussing the various driver types. The chapters are listed in Types of Multimedia Devices.
User-mode drivers do not necessarily communicate with a kernel-mode driver ¾ some communicate with other user-mode drivers. For example some MCI drivers call Win32 Audio API functions to communicate with user-mode audio device drivers.
Because user-mode Windows NT drivers run under the Windows NT Win32 Subsystem and call Win32 API functions described in the Win32 SDK, these drivers are sometimes called Win32-based drivers.
For information about designing a user-mode multimedia driver, see Designing a User-Mode Multimedia Driver.