Microsoft Windows CE 3.0  

Implementation Differences

Important:
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.

Entry Point Checking

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.

GetPosition Support

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.

Registry changes

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

Thread Priority

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

© 2004 Microsoft Corporation. All rights reserved.