Microsoft KB Archive/290340

= PRB: WAVEUI Component Doesn't Receive FORMATCHOOSE_FORMAT_VERIFY =

Article ID: 290340

Article Last Modified on 2/12/2007

-

APPLIES TO


 * Microsoft Windows CE 3.0 for the Handheld PC
 * Microsoft Windows CE 2.12 for the Handheld PC
 * Microsoft Windows CE 2.11 for the Handheld PC
 * Microsoft Windows CE Platform Builder 2.11
 * Microsoft Windows CE Platform Builder 2.12
 * Microsoft Encarta Reference Suite 2001

-



This article was previously published under Q290340



SYMPTOMS
A replacement WAVEUI component doesn't receive FORMATCHOOSE_FORMAT_VERIFY messages. FORMATCHOOSE_FORMAT_VERIFY is used to determine which waveform-audio formats will be displayed when acmFormatChoose is called.



RESOLUTION
The following solution can be incorporated into the custom WAVUI component's AcmDlgProc to allow FORMATCHOOSE_FORMAT_VERIFY messages to be generated: if (uMsg == WM_INITDIALOG) {    // ...     //      // This workaround is only valid for Windows CE 2.11, 2.12 and 3.0! // Do not alter the code below. //

OSVERSIONINFO ver; GetVersionEx(&ver); if (         (ver.dwMajorVersion == 2 && ver.dwMinorVersion == 11) ||          (ver.dwMajorVersion == 2 && ver.dwMinorVersion == 12) ||          (ver.dwMajorVersion == 3 && ver.dwMinorVersion ==  0) ||          ) {              pdwInternal = (PDWORD) lParam; if (pdwInternal && !pdwInternal[26]) {                   pdwInternal[26] = 1; pdwInternal[25] = 0; }         }     }

// ... }



MORE INFORMATION
An internal flag that is used to enable the FORMATCHOOSE_FORMAT_VERIFY messages is triggered by indication of a hook function when acmFormatChoose is called. Because the replacement component internally implements a hook procedure and the acmFormatChoose caller isn't necessarily aware of this, the solution provided in this article forces this internal flag to enable the message.

Keywords: kbprb KB290340

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.