For all multimedia devices, the Class entry in the [Version] section of the .INF file must be set to MEDIA. This associates the device with the multimedia class installer, which provides the necessary interfaces to the multimedia control panel and multimedia subsystem.
[Version]
Signature="$CHICAGO$"
Class=MEDIA
provider=%NMCMfgName%
The [Manufacturer] section specifies the manufacturer name and section name for the manufacturer's device(s). In the following example, the string "New Media Corporation" is associated with the [NewMediaCorp] section and contains a single PCMCIA device descriptor.
[Manufacturer]
%NMCMfgName%=NewMediaCorp
[NewMediaCorp]
%PCMCIA\New_Media_Corporation-.WAVjammer-6B54.DeviceDesc%=PNPB007_Device,PCMCIA\New_Media_Corporation-.WAVjammer-6B54
In the section above, the device identifier string "PCMCIA\New_Media_Corporation-.WAVjammer-6B54" is assigned to the [PNPB007_Device] section. The device description that is visible to the user is the string referred to by the identifier %PCMCIA\New_Media_Corporation-.WAVjammer-6B54.DeviceDesc%.
The device section [PNPB007_Device] describes the files to delete and copy, the strings to remove from SYSTEM.INI, and the sections to add to the registry.
[PNPB007_Device]
DelFiles=WSS.DelList
CopyFiles=WSS.CopyList
AddReg=WAVE.AddReg, MIXER.AddReg, PNPB007.AddReg, WSS.AddReg
UpdateInis=WSS.UpdateInis
[WSS.UpdateInis]
system.ini,386Enh,"device=vsndsys.386"
system.ini,drivers,"wave*=sndsys.drv",,1
system.ini,drivers,"midi*=sndsys.drv",,1
system.ini,drivers,"aux*=sndsys.drv",,1
system.ini,drivers,"mixer*=sndsys.drv",,1
[WSS.CopyList]
mssndsys.vxd,,
mssndsys.drv,,
msopl.drv,,
[WSS.DelList]
vsndsys.386,,,1
sndsys.drv,,,1
The following section adds the multimedia specific entries to the registry. The Driver entry is used by the multimedia device loader and is the supporting VxD for the device. Each of the subclasses (wave, mixer, aux and midi) contain driver entries and descriptions for each of the subclass drivers.
[PNPB007.AddReg]
HKR,,Driver,,mssndsys.vxd
HKR,Drivers\wave\mssndsys.drv,Driver,,mssndsys.drv
HKR,Drivers\wave\mssndsys.drv,Description,,%*PNPB007.DeviceDesc%
HKR,Drivers\mixer\mssndsys.drv,Driver,,mssndsys.drv
HKR,Drivers\mixer\mssndsys.drv,Description,,%*PNPB007.DeviceDesc%
HKR,Drivers\aux\mssndsys.drv,Driver,,mssndsys.drv
HKR,Drivers\aux\mssndsys.drv,Description,,%*PNPB007.DeviceDesc%
HKR,Drivers\midi\msopl.drv,Driver,,msopl.drv
HKR,Drivers\midi\msopl.drv,Description,,%V_INTERNAL%
HKR,Drivers,SubClasses,,"wave,midi,aux,mixer"
The following sections are standard registry modifications. The [MIXER.AddReg] section automatically starts the system tray for the tray volume control. If your device has a supporting mixer driver, you should reference this section as demonstrated above. The [WAVE.AddReg] section cleans up any previous driver entries for the device node and sets the device loader to MMDEVLDR.VXD.
[MIXER.AddReg]
HKLM,Software\Microsoft\Windows\CurrentVersion\Run,SystemTray,,"SysTray.Exe"
[WAVE.AddReg]
HKR,,DevLoader,,mmdevldr.vxd
HKR,Drivers,MIGRATED,,0
HKR,Drivers\midi,,,
HKR,Drivers\wave,,,
HKR,Drivers\mixer,,,
HKR,Drivers\aux,,,
The following section describes the disk names and file layout on the disks.
[SourceDisksNames]
1="New Media .WAV Jammer Driver Disk ",, 0001
[SourceDisksFiles]
mssndsys.drv=1
msopl.drv=1
mssndsys.vxd=1
For multimedia devices, the default destination directory is the SYSTEM directory. The [Strings] section contains the localizable strings for the .INF file.
[DestinationDirs]
DefaultDestDir = 11 ; LDID_SYS
[Strings]
;Localizable strings
NMCMfgName="New Media Corporation"
PCMCIA\New_Media_Corporation-.WAVjammer-6B54.DeviceDesc="New Media .WAVjammer audio adapter"
*PNPB007.DeviceDesc="MS Windows Sound System Compatible"
V_INTERNAL="Internal OPL2/OPL3 FM Synthesis"