The Structure of Multimedia Device Drivers

Multimedia device drivers and other installable drivers are dynamic-link libraries (DLLs), usually written in C, assembly language, or a combination of the two languages. The filenames for device-driver DLLs are not required to have a filename extension of .DLL. You can name your driver using any filename extension you like. For drivers that do not use the ACM, the extension .DRV conforms to Windows development conventions. For drivers that use the ACM, the extension .ACM is the Windows convention.

Installable drivers provide a DriverProc entry point to process system messages. The DriverProc entry point processes messages sent by the system to the driver as the result of an application call to a low-level function. For example, when an application opens a video-capture device, the system sends the specified device driver a DRV_OPEN message. The DriverProc function receives and processes this message.

For general information about installable drivers, the DriverProc entry point, and system messages sent to this entry point, see the Microsoft Windows Programmer's Reference. The device-specific main topics in this documentation include supplemental information for many system messages. This information describes specifically how multimedia drivers should respond to the system messages that are critical to their operation.

Note

Your driver should respond to all system messages, not just those described in this main topic. For messages not included in this main topic, use the definitions provided in the Microsoft Windows Programmer's Reference.

Video drivers use the DriverProc entry point to process messages specifically for video operation. Information about how drivers use the DriverProc entry point to process these messages is contained in the device-specific main topic.

Audio drivers supplement the DriverProc entry point with the wodMessage, widMessage, modMessage, midMessage, and auxMessage entry points to process messages specifically for audio operation. Device-specific main topics include information about how drivers use these entry points to process audio messages.