The mid level drivers are represented by some common API
functions, mostly mciSendCommand
and
mciSendString
. Wine implements several
MCI mid level drivers.
Table 14-2. Wine MCI drivers
MCI Name | DLL Name | Role | Location | Comments |
---|---|---|---|---|
CdAudio | MciCDA.drv | MCI interface to a CD audio player | dlls/winmm/mcicda/ | Relies on NTDLL CdRom raw interface (through
DeviceIoControl ).
|
WaveAudio | MciWave.drv | MCI interface for wave playback and record | dlls/winmm/mciwave/ | It uses the low level audio API. |
Sequencer | MciSeq.drv | Midi Sequencer (playback) | dlls/winmm/mciseq/ | It uses the low level midi APIs |
AviVideo | MciAvi.drv | AVI playback and record | dlls/winmm/mciavi/ | It rather heavily relies on MSVIDEO/MSVFW32 DLLs pair to work. |
Adding a new MCI driver is just a matter of writing the corresponding DLL with the correct interface (see existing MCI drivers for the details), and to provide the relevant setup information for wine.inf