|This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.|
Some Windows CE waveform audio drivers contain a check for the
presence of the
waveOutOpenentry point in
coredll.dll. This is intended to prevent the
driver from loading if there is no API with which to use the
driver. Under DirectSound, however, it is possible for the driver
to be used even when the standard waveform API is not exposed by
coredll.dll. A DirectSound-compliant waveform driver should
not make this check.
Applications that use DirectSound for audio streaming for long periods of time can run into problems if the waveform driver does not handle the WODM_GETPOS correctly. In particular, drivers that bypass the MDD implementation of WODM_GETPOS need to correctly handle the case where the 32-bit position counter overflows and wraps back to zero.
Waveform Audio Drivers registry entries should include a "Dll" key that names the driver's DLL, and the "Index" key should be set to 9 instead of 1. This allows the DirectSound waveform API emulation layer to be exposed to the core operating system as the standard wavedev driver.
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\<mydriver>] "Prefix"="WAV" "Dll"="<mydriver>.dll" "Index"=dword:9 "Order"=dword:0
It is recommended that the waveform driver's IST thread priority be set to 150 (96h) to work properly with the other DirectSound components. For more details see the thread priority section within Multimedia and Graphics.
Last updated on Tuesday, July 13, 2004