Installing ACM Drivers

If you are writing an ACM driver that is meant to be available to all applications, the driver must be installed so that the ACM can find it.

On the other hand, if you are writing an ACM driver that is meant to be locally available to a specific application, the driver is not installed. Instead, either the application or the driver calls acmDriverAdd, described in the Win32 SDK, to make the driver locally accessible. (For more information about local ACM drivers, see Designing Local ACM Drivers.)

ACM drivers that are meant to be available to all applications are installed by using the Multimedia applet in the Control Panel. You must provide an oemsetup.inf file for your driver. Following is a sample oemsetup.inf file:

[Source Media Descriptions]

    1  = "MSGSM610"  , TAGFILE = disk1

[Installable.Drivers]

msgsm610 = 1:msgsm32.acm, "msacm.msgsm610", "Microsoft GSM 6.10 Audio CODEC" ,,,

For a description of oemsetup.inf file contents, see Installing Multimedia Drivers. The sample file causes the Multimedia applet to create the following registry entry:

msacm.msgsm610 : REG_SZ : msgsm32.acm

This entry is placed in the registry path HKEY_LOCAL_MACHINE \SOFTWARE \Microsoft \Windows NT \CurrentVersion \Drivers32

The ACM searches this registry path to determine which ACM drivers are installed. For each installed ACM driver, there must be a registry value name of the form msacm.alias, where alias is a unique name. This name is generally known as the driver type. For ACM drivers, only one driver file can be associated with each driver type.

Notice that the ACM driver’s file extension is .acm. While not required, this extension is favored over .dll for ACM drivers.