/*********************************************************************** * acmFormatTagEnumA (MSACM32.@) */ MMRESULT WINAPI acmFormatTagEnumA(HACMDRIVER had, PACMFORMATTAGDETAILSA paftda, ACMFORMATTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum) { ACMFORMATTAGDETAILSW aftdw; struct MSACM_FormatTagEnumWtoA_Instance aftei; if (!paftda) return MMSYSERR_INVALPARAM; if (paftda->cbStruct < sizeof(*paftda)) return MMSYSERR_INVALPARAM; if (fdwEnum != 0) return MMSYSERR_INVALFLAG; memset(&aftdw, 0, sizeof(aftdw)); aftdw.cbStruct = sizeof(aftdw); aftdw.dwFormatTagIndex = paftda->dwFormatTagIndex; aftdw.dwFormatTag = paftda->dwFormatTag; aftei.paftda = paftda; aftei.dwInstance = dwInstance; aftei.fnCallback = fnCallback; return acmFormatTagEnumW(had, &aftdw, MSACM_FormatTagEnumCallbackWtoA, (DWORD)&aftei, fdwEnum); }
static BOOL MSACM_FillFormatTags(HWND hWnd) { ACMFORMATTAGDETAILSW aftd; struct MSACM_FillFormatData affd; memset(&aftd, 0, sizeof(aftd)); aftd.cbStruct = sizeof(aftd); affd.hWnd = hWnd; affd.mode = WINE_ACMFF_TAG; acmFormatTagEnumW(NULL, &aftd, MSACM_FillFormatTagsCB, (DWORD_PTR)&affd, 0); SendDlgItemMessageW(hWnd, IDD_ACMFORMATCHOOSE_CMB_FORMATTAG, CB_SETCURSEL, 0, 0); return TRUE; }
static MMRESULT MSACM_GetWFX(HWND hWnd, PACMFORMATCHOOSEW afc) { ACMFORMATTAGDETAILSW aftd; struct MSACM_FillFormatData affd; memset(&aftd, 0, sizeof(aftd)); aftd.cbStruct = sizeof(aftd); affd.hWnd = hWnd; affd.mode = WINE_ACMFF_WFX; affd.afc = afc; affd.ret = MMSYSERR_NOERROR; SendDlgItemMessageW(hWnd, IDD_ACMFORMATCHOOSE_CMB_FORMATTAG, CB_GETLBTEXT, SendDlgItemMessageW(hWnd, IDD_ACMFORMATCHOOSE_CMB_FORMATTAG, CB_GETCURSEL, 0, 0), (LPARAM)affd.szFormatTag); acmFormatTagEnumW(NULL, &aftd, MSACM_FillFormatTagsCB, (DWORD_PTR)&affd, 0); return affd.ret; }