Plug and Play Drivers

Some ACM drivers may utilize hardware to perform operations on audio data (for example, conversions, compression and decompression, and filtering). The manufacturer of the hardware and ACM driver should develop a Plug and Play driver.

To develop a Plug and Play ACM driver you must first become familiar with device nodes (DevNodes), the Configuration Manager, and the general architecture for multimedia Plug and Play drivers. You must develop a VxD that interacts with the system Configuration Manager, provides access to the hardware, and communicates with the ACM driver DLL. You must write the driver DLL so that it communicates with the VxD for all hardware access. For more information about Windows multimedia Plug and Play drivers, see .

The only detail specific to ACM drivers is the mechanism by which the driver DLL determines the DevNode for which it is being opened. When the ACM opens the driver DLL (even a non - Plug-and-Play DLL), it passes to the driver a pointer to an ACMDRVOPENDESC structure. The driver receives this pointer as the lParam2 parameter of the DRV_OPEN message to its DriverProc function. For Plug and Play drivers, the dnDevNode member of this structure contains an identifier that identifies a DevNode. A DevNode represents a particular instance of hardware in the system. The driver DLL uses this DevNode identifier when it communicates with the VxD. The VxD requires this information when it communicates with Configuration Manager.