DriverProc in ACM Drivers

Like all other Win32-based user-mode drivers, ACM drivers must export a DriverProc entry point which recognizes all of the standard driver messages. The ACM sends messages to its drivers by calling SendDriverMessage, which is exported by winmm.dll and described in the Win32 SDK.

ACM drivers generally provide support for DRV_OPEN, DRV_CLOSE, DRV_CONFIGURE and DRV_QUERYCONFIGURE messages, as illustrated by the sample ACM drivers. ACM drivers generally do not need to provide much, if any, support for DRV_INSTALL, DRV_LOAD, DRV_ENABLE, DRV_DISABLE, DRV_FREE, or DRV_REMOVE messages.

When an ACM driver receives a DRV_OPEN message from the ACM, it also receives a pointer to an ACMDRVOPENDESC structure. The driver receives the pointer as the lParam2 argument to its DriverProc function.

In addition to supporting the standard messages, the DriverProc entry point for ACM drivers must support a set of ACM driver messages.