1*c2c66affSColin Finck /* 2*c2c66affSColin Finck * Declarations for MSACM 3*c2c66affSColin Finck * 4*c2c66affSColin Finck * Copyright (C) the Wine project 5*c2c66affSColin Finck * 6*c2c66affSColin Finck * This library is free software; you can redistribute it and/or 7*c2c66affSColin Finck * modify it under the terms of the GNU Lesser General Public 8*c2c66affSColin Finck * License as published by the Free Software Foundation; either 9*c2c66affSColin Finck * version 2.1 of the License, or (at your option) any later version. 10*c2c66affSColin Finck * 11*c2c66affSColin Finck * This library is distributed in the hope that it will be useful, 12*c2c66affSColin Finck * but WITHOUT ANY WARRANTY; without even the implied warranty of 13*c2c66affSColin Finck * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14*c2c66affSColin Finck * Lesser General Public License for more details. 15*c2c66affSColin Finck * 16*c2c66affSColin Finck * You should have received a copy of the GNU Lesser General Public 17*c2c66affSColin Finck * License along with this library; if not, write to the Free Software 18*c2c66affSColin Finck * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 19*c2c66affSColin Finck */ 20*c2c66affSColin Finck 21*c2c66affSColin Finck #ifndef __WINE_MSACM_H 22*c2c66affSColin Finck #define __WINE_MSACM_H 23*c2c66affSColin Finck 24*c2c66affSColin Finck #ifdef __cplusplus 25*c2c66affSColin Finck extern "C" { 26*c2c66affSColin Finck #endif /* defined(__cplusplus) */ 27*c2c66affSColin Finck 28*c2c66affSColin Finck #include <pshpack1.h> 29*c2c66affSColin Finck 30*c2c66affSColin Finck #define ACMAPI WINAPI 31*c2c66affSColin Finck 32*c2c66affSColin Finck /*********************************************************************** 33*c2c66affSColin Finck * Defines/Enums 34*c2c66affSColin Finck */ 35*c2c66affSColin Finck #define ACMERR_BASE 512 36*c2c66affSColin Finck #define ACMERR_NOTPOSSIBLE (ACMERR_BASE + 0) 37*c2c66affSColin Finck #define ACMERR_BUSY (ACMERR_BASE + 1) 38*c2c66affSColin Finck #define ACMERR_UNPREPARED (ACMERR_BASE + 2) 39*c2c66affSColin Finck #define ACMERR_CANCELED (ACMERR_BASE + 3) 40*c2c66affSColin Finck 41*c2c66affSColin Finck #define MM_ACM_OPEN MM_STREAM_OPEN 42*c2c66affSColin Finck #define MM_ACM_CLOSE MM_STREAM_CLOSE 43*c2c66affSColin Finck #define MM_ACM_DONE MM_STREAM_DONE 44*c2c66affSColin Finck 45*c2c66affSColin Finck #define ACM_DRIVERADDF_NAME 0x00000001L 46*c2c66affSColin Finck #define ACM_DRIVERADDF_FUNCTION 0x00000003L 47*c2c66affSColin Finck #define ACM_DRIVERADDF_NOTIFYHWND 0x00000004L 48*c2c66affSColin Finck #define ACM_DRIVERADDF_TYPEMASK 0x00000007L 49*c2c66affSColin Finck #define ACM_DRIVERADDF_LOCAL 0x00000000L 50*c2c66affSColin Finck #define ACM_DRIVERADDF_GLOBAL 0x00000008L 51*c2c66affSColin Finck 52*c2c66affSColin Finck #define ACMDRIVERDETAILS_SHORTNAME_CHARS 32 53*c2c66affSColin Finck #define ACMDRIVERDETAILS_LONGNAME_CHARS 128 54*c2c66affSColin Finck #define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80 55*c2c66affSColin Finck #define ACMDRIVERDETAILS_LICENSING_CHARS 128 56*c2c66affSColin Finck #define ACMDRIVERDETAILS_FEATURES_CHARS 512 57*c2c66affSColin Finck 58*c2c66affSColin Finck #define ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC mmioFOURCC('a', 'u', 'd', 'c') 59*c2c66affSColin Finck #define ACMDRIVERDETAILS_FCCCOMP_UNDEFINED mmioFOURCC('\0', '\0', '\0', '\0') 60*c2c66affSColin Finck 61*c2c66affSColin Finck #define ACMDRIVERDETAILS_SUPPORTF_CODEC 0x00000001L 62*c2c66affSColin Finck #define ACMDRIVERDETAILS_SUPPORTF_CONVERTER 0x00000002L 63*c2c66affSColin Finck #define ACMDRIVERDETAILS_SUPPORTF_FILTER 0x00000004L 64*c2c66affSColin Finck #define ACMDRIVERDETAILS_SUPPORTF_HARDWARE 0x00000008L 65*c2c66affSColin Finck #define ACMDRIVERDETAILS_SUPPORTF_ASYNC 0x00000010L 66*c2c66affSColin Finck #define ACMDRIVERDETAILS_SUPPORTF_LOCAL 0x40000000L 67*c2c66affSColin Finck #define ACMDRIVERDETAILS_SUPPORTF_DISABLED 0x80000000L 68*c2c66affSColin Finck 69*c2c66affSColin Finck #define ACM_DRIVERENUMF_NOLOCAL 0x40000000L 70*c2c66affSColin Finck #define ACM_DRIVERENUMF_DISABLED 0x80000000L 71*c2c66affSColin Finck 72*c2c66affSColin Finck #define ACM_DRIVERPRIORITYF_ENABLE 0x00000001L 73*c2c66affSColin Finck #define ACM_DRIVERPRIORITYF_DISABLE 0x00000002L 74*c2c66affSColin Finck #define ACM_DRIVERPRIORITYF_ABLEMASK 0x00000003L 75*c2c66affSColin Finck #define ACM_DRIVERPRIORITYF_BEGIN 0x00010000L 76*c2c66affSColin Finck #define ACM_DRIVERPRIORITYF_END 0x00020000L 77*c2c66affSColin Finck #define ACM_DRIVERPRIORITYF_DEFERMASK 0x00030000L 78*c2c66affSColin Finck 79*c2c66affSColin Finck #define MM_ACM_FILTERCHOOSE 0x8000 80*c2c66affSColin Finck 81*c2c66affSColin Finck #define FILTERCHOOSE_MESSAGE 0 82*c2c66affSColin Finck #define FILTERCHOOSE_FILTERTAG_VERIFY (FILTERCHOOSE_MESSAGE+0) 83*c2c66affSColin Finck #define FILTERCHOOSE_FILTER_VERIFY (FILTERCHOOSE_MESSAGE+1) 84*c2c66affSColin Finck #define FILTERCHOOSE_CUSTOM_VERIFY (FILTERCHOOSE_MESSAGE+2) 85*c2c66affSColin Finck 86*c2c66affSColin Finck #define ACMFILTERCHOOSE_STYLEF_SHOWHELP 0x00000004L 87*c2c66affSColin Finck #define ACMFILTERCHOOSE_STYLEF_ENABLEHOOK 0x00000008L 88*c2c66affSColin Finck #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L 89*c2c66affSColin Finck #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L 90*c2c66affSColin Finck #define ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT 0x00000040L 91*c2c66affSColin Finck #define ACMFILTERCHOOSE_STYLEF_CONTEXTHELP 0x00000080L 92*c2c66affSColin Finck 93*c2c66affSColin Finck #define ACMFILTERDETAILS_FILTER_CHARS 128 94*c2c66affSColin Finck 95*c2c66affSColin Finck #define ACM_FILTERDETAILSF_INDEX 0x00000000L 96*c2c66affSColin Finck #define ACM_FILTERDETAILSF_FILTER 0x00000001L 97*c2c66affSColin Finck #define ACM_FILTERDETAILSF_QUERYMASK 0x0000000FL 98*c2c66affSColin Finck 99*c2c66affSColin Finck #define ACMFILTERTAGDETAILS_FILTERTAG_CHARS 48 100*c2c66affSColin Finck 101*c2c66affSColin Finck #define ACM_FILTERTAGDETAILSF_INDEX 0x00000000L 102*c2c66affSColin Finck #define ACM_FILTERTAGDETAILSF_FILTERTAG 0x00000001L 103*c2c66affSColin Finck #define ACM_FILTERTAGDETAILSF_LARGESTSIZE 0x00000002L 104*c2c66affSColin Finck #define ACM_FILTERTAGDETAILSF_QUERYMASK 0x0000000FL 105*c2c66affSColin Finck 106*c2c66affSColin Finck #define ACM_FILTERENUMF_DWFILTERTAG 0x00010000L 107*c2c66affSColin Finck 108*c2c66affSColin Finck #define ACMHELPMSGSTRINGA "acmchoose_help" 109*c2c66affSColin Finck #if defined(__GNUC__) 110*c2c66affSColin Finck # define ACMHELPMSGSTRINGW (const WCHAR []){ 'a','c','m', \ 111*c2c66affSColin Finck 'c','h','o','o','s','e','_','h','e','l','p',0 } 112*c2c66affSColin Finck #elif defined(_MSC_VER) 113*c2c66affSColin Finck # define ACMHELPMSGSTRINGW L"acmchoose_help" 114*c2c66affSColin Finck #else 115*c2c66affSColin Finck static const WCHAR ACMHELPMSGSTRINGW[] = { 'a','c','m', 116*c2c66affSColin Finck 'c','h','o','o','s','e','_','h','e','l','p',0 }; 117*c2c66affSColin Finck #endif 118*c2c66affSColin Finck #define ACMHELPMSGSTRING WINELIB_NAME_AW(ACMHELPMSGSTRING) 119*c2c66affSColin Finck 120*c2c66affSColin Finck #define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu" 121*c2c66affSColin Finck #if defined(__GNUC__) 122*c2c66affSColin Finck # define ACMHELPMSGCONTEXTMENUW (const WCHAR []){ 'a','c','m', \ 123*c2c66affSColin Finck 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','m','e','n','u',0 } 124*c2c66affSColin Finck #elif defined(_MSC_VER) 125*c2c66affSColin Finck # define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu" 126*c2c66affSColin Finck #else 127*c2c66affSColin Finck static const WCHAR ACMHELPMSGCONTEXTMENUW[] = { 'a','c','m', 128*c2c66affSColin Finck 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','m','e','n','u',0 }; 129*c2c66affSColin Finck #endif 130*c2c66affSColin Finck #define ACMHELPMSGCONTEXTMENU WINELIB_NAME_AW(ACMHELPMSGCONTEXTMENU) 131*c2c66affSColin Finck 132*c2c66affSColin Finck #define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp" 133*c2c66affSColin Finck #if defined(__GNUC__) 134*c2c66affSColin Finck # define ACMHELPMSGCONTEXTHELPW (const WCHAR []){ 'a','c','m', \ 135*c2c66affSColin Finck 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','h','e','l','p',0 } 136*c2c66affSColin Finck #elif defined(_MSC_VER) 137*c2c66affSColin Finck # define ACMHELPMSGCONTEXTHELPW L"acmchoose_contexthelp" 138*c2c66affSColin Finck #else 139*c2c66affSColin Finck static const WCHAR ACMHELPMSGCONTEXTHELPW[] = { 'a','c','m', 140*c2c66affSColin Finck 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','h','e','l','p',0 }; 141*c2c66affSColin Finck #endif 142*c2c66affSColin Finck #define ACMHELPMSGCONTEXTHELP WINELIB_NAME_AW(ACMHELPMSGCONTEXTHELP) 143*c2c66affSColin Finck 144*c2c66affSColin Finck #define MM_ACM_FORMATCHOOSE 0x8000 145*c2c66affSColin Finck 146*c2c66affSColin Finck #define FORMATCHOOSE_MESSAGE 0 147*c2c66affSColin Finck #define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0) 148*c2c66affSColin Finck #define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1) 149*c2c66affSColin Finck #define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2) 150*c2c66affSColin Finck 151*c2c66affSColin Finck #define ACMFORMATCHOOSE_STYLEF_SHOWHELP 0x00000004L 152*c2c66affSColin Finck #define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 0x00000008L 153*c2c66affSColin Finck #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L 154*c2c66affSColin Finck #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L 155*c2c66affSColin Finck #define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 0x00000040L 156*c2c66affSColin Finck #define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP 0x00000080L 157*c2c66affSColin Finck 158*c2c66affSColin Finck #define ACMFORMATDETAILS_FORMAT_CHARS 128 159*c2c66affSColin Finck 160*c2c66affSColin Finck #define ACM_FORMATDETAILSF_INDEX 0x00000000L 161*c2c66affSColin Finck #define ACM_FORMATDETAILSF_FORMAT 0x00000001L 162*c2c66affSColin Finck #define ACM_FORMATDETAILSF_QUERYMASK 0x0000000FL 163*c2c66affSColin Finck 164*c2c66affSColin Finck #define ACM_FORMATENUMF_WFORMATTAG 0x00010000L 165*c2c66affSColin Finck #define ACM_FORMATENUMF_NCHANNELS 0x00020000L 166*c2c66affSColin Finck #define ACM_FORMATENUMF_NSAMPLESPERSEC 0x00040000L 167*c2c66affSColin Finck #define ACM_FORMATENUMF_WBITSPERSAMPLE 0x00080000L 168*c2c66affSColin Finck #define ACM_FORMATENUMF_CONVERT 0x00100000L 169*c2c66affSColin Finck #define ACM_FORMATENUMF_SUGGEST 0x00200000L 170*c2c66affSColin Finck #define ACM_FORMATENUMF_HARDWARE 0x00400000L 171*c2c66affSColin Finck #define ACM_FORMATENUMF_INPUT 0x00800000L 172*c2c66affSColin Finck #define ACM_FORMATENUMF_OUTPUT 0x01000000L 173*c2c66affSColin Finck 174*c2c66affSColin Finck #define ACM_FORMATSUGGESTF_WFORMATTAG 0x00010000L 175*c2c66affSColin Finck #define ACM_FORMATSUGGESTF_NCHANNELS 0x00020000L 176*c2c66affSColin Finck #define ACM_FORMATSUGGESTF_NSAMPLESPERSEC 0x00040000L 177*c2c66affSColin Finck #define ACM_FORMATSUGGESTF_WBITSPERSAMPLE 0x00080000L 178*c2c66affSColin Finck #define ACM_FORMATSUGGESTF_TYPEMASK 0x00FF0000L 179*c2c66affSColin Finck 180*c2c66affSColin Finck #define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48 181*c2c66affSColin Finck 182*c2c66affSColin Finck #define ACM_FORMATTAGDETAILSF_INDEX 0x00000000L 183*c2c66affSColin Finck #define ACM_FORMATTAGDETAILSF_FORMATTAG 0x00000001L 184*c2c66affSColin Finck #define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L 185*c2c66affSColin Finck #define ACM_FORMATTAGDETAILSF_QUERYMASK 0x0000000FL 186*c2c66affSColin Finck 187*c2c66affSColin Finck #define ACM_METRIC_COUNT_DRIVERS 1 188*c2c66affSColin Finck #define ACM_METRIC_COUNT_CODECS 2 189*c2c66affSColin Finck #define ACM_METRIC_COUNT_CONVERTERS 3 190*c2c66affSColin Finck #define ACM_METRIC_COUNT_FILTERS 4 191*c2c66affSColin Finck #define ACM_METRIC_COUNT_DISABLED 5 192*c2c66affSColin Finck #define ACM_METRIC_COUNT_HARDWARE 6 193*c2c66affSColin Finck #define ACM_METRIC_COUNT_LOCAL_DRIVERS 20 194*c2c66affSColin Finck #define ACM_METRIC_COUNT_LOCAL_CODECS 21 195*c2c66affSColin Finck #define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22 196*c2c66affSColin Finck #define ACM_METRIC_COUNT_LOCAL_FILTERS 23 197*c2c66affSColin Finck #define ACM_METRIC_COUNT_LOCAL_DISABLED 24 198*c2c66affSColin Finck #define ACM_METRIC_HARDWARE_WAVE_INPUT 30 199*c2c66affSColin Finck #define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31 200*c2c66affSColin Finck #define ACM_METRIC_MAX_SIZE_FORMAT 50 201*c2c66affSColin Finck #define ACM_METRIC_MAX_SIZE_FILTER 51 202*c2c66affSColin Finck #define ACM_METRIC_DRIVER_SUPPORT 100 203*c2c66affSColin Finck #define ACM_METRIC_DRIVER_PRIORITY 101 204*c2c66affSColin Finck 205*c2c66affSColin Finck #define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004 206*c2c66affSColin Finck #define ACM_STREAMCONVERTF_START 0x00000010 207*c2c66affSColin Finck #define ACM_STREAMCONVERTF_END 0x00000020 208*c2c66affSColin Finck 209*c2c66affSColin Finck #define ACMSTREAMHEADER_STATUSF_DONE 0x00010000L 210*c2c66affSColin Finck #define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L 211*c2c66affSColin Finck #define ACMSTREAMHEADER_STATUSF_INQUEUE 0x00100000L 212*c2c66affSColin Finck 213*c2c66affSColin Finck #define ACM_STREAMOPENF_QUERY 0x00000001 214*c2c66affSColin Finck #define ACM_STREAMOPENF_ASYNC 0x00000002 215*c2c66affSColin Finck #define ACM_STREAMOPENF_NONREALTIME 0x00000004 216*c2c66affSColin Finck 217*c2c66affSColin Finck #define ACM_STREAMSIZEF_SOURCE 0x00000000L 218*c2c66affSColin Finck #define ACM_STREAMSIZEF_DESTINATION 0x00000001L 219*c2c66affSColin Finck #define ACM_STREAMSIZEF_QUERYMASK 0x0000000FL 220*c2c66affSColin Finck 221*c2c66affSColin Finck #define ACMDM_USER (DRV_USER + 0x0000) 222*c2c66affSColin Finck #define ACMDM_RESERVED_LOW (DRV_USER + 0x2000) 223*c2c66affSColin Finck #define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF) 224*c2c66affSColin Finck 225*c2c66affSColin Finck #define ACMDM_BASE ACMDM_RESERVED_LOW 226*c2c66affSColin Finck 227*c2c66affSColin Finck #define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11) 228*c2c66affSColin Finck 229*c2c66affSColin Finck /* handles */ 230*c2c66affSColin Finck 231*c2c66affSColin Finck DECLARE_HANDLE(HACMDRIVERID); 232*c2c66affSColin Finck DECLARE_HANDLE(HACMDRIVER); 233*c2c66affSColin Finck DECLARE_HANDLE(HACMSTREAM); 234*c2c66affSColin Finck DECLARE_HANDLE(HACMOBJ); 235*c2c66affSColin Finck typedef HACMDRIVERID *PHACMDRIVERID, *LPHACMDRIVERID; 236*c2c66affSColin Finck typedef HACMDRIVER *PHACMDRIVER, *LPHACMDRIVER; 237*c2c66affSColin Finck typedef HACMSTREAM *PHACMSTREAM, *LPHACMSTREAM; 238*c2c66affSColin Finck typedef HACMOBJ *PHACMOBJ, *LPHACMOBJ; 239*c2c66affSColin Finck 240*c2c66affSColin Finck /*********************************************************************** 241*c2c66affSColin Finck * Callbacks 242*c2c66affSColin Finck */ 243*c2c66affSColin Finck 244*c2c66affSColin Finck typedef BOOL (CALLBACK *ACMDRIVERENUMCB)( 245*c2c66affSColin Finck HACMDRIVERID hadid, DWORD_PTR dwInstance, DWORD fdwSupport 246*c2c66affSColin Finck ); 247*c2c66affSColin Finck 248*c2c66affSColin Finck typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROCA)( 249*c2c66affSColin Finck HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam 250*c2c66affSColin Finck ); 251*c2c66affSColin Finck 252*c2c66affSColin Finck typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROCW)( 253*c2c66affSColin Finck HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam 254*c2c66affSColin Finck ); 255*c2c66affSColin Finck #define ACMFILTERCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFILTERCHOOSEHOOKPROC) 256*c2c66affSColin Finck 257*c2c66affSColin Finck typedef UINT (CALLBACK *ACMFORMATCHOOSEHOOKPROCA)( 258*c2c66affSColin Finck HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam 259*c2c66affSColin Finck ); 260*c2c66affSColin Finck 261*c2c66affSColin Finck typedef UINT (CALLBACK *ACMFORMATCHOOSEHOOKPROCW)( 262*c2c66affSColin Finck HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam 263*c2c66affSColin Finck ); 264*c2c66affSColin Finck #define ACMFORMATCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFORMATCHOOSEHOOKPROC) 265*c2c66affSColin Finck 266*c2c66affSColin Finck /*********************************************************************** 267*c2c66affSColin Finck * Structures 268*c2c66affSColin Finck */ 269*c2c66affSColin Finck 270*c2c66affSColin Finck typedef struct _ACMDRIVERDETAILSA 271*c2c66affSColin Finck { 272*c2c66affSColin Finck DWORD cbStruct; 273*c2c66affSColin Finck 274*c2c66affSColin Finck FOURCC fccType; 275*c2c66affSColin Finck FOURCC fccComp; 276*c2c66affSColin Finck 277*c2c66affSColin Finck WORD wMid; 278*c2c66affSColin Finck WORD wPid; 279*c2c66affSColin Finck 280*c2c66affSColin Finck DWORD vdwACM; 281*c2c66affSColin Finck DWORD vdwDriver; 282*c2c66affSColin Finck 283*c2c66affSColin Finck DWORD fdwSupport; 284*c2c66affSColin Finck DWORD cFormatTags; 285*c2c66affSColin Finck DWORD cFilterTags; 286*c2c66affSColin Finck 287*c2c66affSColin Finck HICON hicon; 288*c2c66affSColin Finck 289*c2c66affSColin Finck CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS]; 290*c2c66affSColin Finck CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS]; 291*c2c66affSColin Finck CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS]; 292*c2c66affSColin Finck CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS]; 293*c2c66affSColin Finck CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS]; 294*c2c66affSColin Finck } ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA, *LPACMDRIVERDETAILSA; 295*c2c66affSColin Finck 296*c2c66affSColin Finck typedef struct _ACMDRIVERDETAILSW 297*c2c66affSColin Finck { 298*c2c66affSColin Finck DWORD cbStruct; 299*c2c66affSColin Finck 300*c2c66affSColin Finck FOURCC fccType; 301*c2c66affSColin Finck FOURCC fccComp; 302*c2c66affSColin Finck 303*c2c66affSColin Finck WORD wMid; 304*c2c66affSColin Finck WORD wPid; 305*c2c66affSColin Finck 306*c2c66affSColin Finck DWORD vdwACM; 307*c2c66affSColin Finck DWORD vdwDriver; 308*c2c66affSColin Finck 309*c2c66affSColin Finck DWORD fdwSupport; 310*c2c66affSColin Finck DWORD cFormatTags; 311*c2c66affSColin Finck DWORD cFilterTags; 312*c2c66affSColin Finck 313*c2c66affSColin Finck HICON hicon; 314*c2c66affSColin Finck 315*c2c66affSColin Finck WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS]; 316*c2c66affSColin Finck WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS]; 317*c2c66affSColin Finck WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS]; 318*c2c66affSColin Finck WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS]; 319*c2c66affSColin Finck WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS]; 320*c2c66affSColin Finck } ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW, *LPACMDRIVERDETAILSW; 321*c2c66affSColin Finck 322*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(ACMDRIVERDETAILS) 323*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(PACMDRIVERDETAILS) 324*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(LPACMDRIVERDETAILS) 325*c2c66affSColin Finck 326*c2c66affSColin Finck typedef struct tACMFILTERCHOOSEA 327*c2c66affSColin Finck { 328*c2c66affSColin Finck DWORD cbStruct; 329*c2c66affSColin Finck DWORD fdwStyle; 330*c2c66affSColin Finck 331*c2c66affSColin Finck HWND hwndOwner; 332*c2c66affSColin Finck 333*c2c66affSColin Finck PWAVEFILTER pwfltr; 334*c2c66affSColin Finck DWORD cbwfltr; 335*c2c66affSColin Finck 336*c2c66affSColin Finck LPCSTR pszTitle; 337*c2c66affSColin Finck 338*c2c66affSColin Finck CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]; 339*c2c66affSColin Finck CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS]; 340*c2c66affSColin Finck LPSTR pszName; 341*c2c66affSColin Finck DWORD cchName; 342*c2c66affSColin Finck 343*c2c66affSColin Finck DWORD fdwEnum; 344*c2c66affSColin Finck PWAVEFILTER pwfltrEnum; 345*c2c66affSColin Finck 346*c2c66affSColin Finck HINSTANCE hInstance; 347*c2c66affSColin Finck LPCSTR pszTemplateName; 348*c2c66affSColin Finck LPARAM lCustData; 349*c2c66affSColin Finck ACMFILTERCHOOSEHOOKPROCA pfnHook; 350*c2c66affSColin Finck } ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA, *LPACMFILTERCHOOSEA; 351*c2c66affSColin Finck 352*c2c66affSColin Finck typedef struct _ACMFILTERCHOOSEW 353*c2c66affSColin Finck { 354*c2c66affSColin Finck DWORD cbStruct; 355*c2c66affSColin Finck DWORD fdwStyle; 356*c2c66affSColin Finck 357*c2c66affSColin Finck HWND hwndOwner; 358*c2c66affSColin Finck 359*c2c66affSColin Finck PWAVEFILTER pwfltr; 360*c2c66affSColin Finck DWORD cbwfltr; 361*c2c66affSColin Finck 362*c2c66affSColin Finck LPCWSTR pszTitle; 363*c2c66affSColin Finck 364*c2c66affSColin Finck WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]; 365*c2c66affSColin Finck WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS]; 366*c2c66affSColin Finck LPWSTR pszName; 367*c2c66affSColin Finck DWORD cchName; 368*c2c66affSColin Finck 369*c2c66affSColin Finck DWORD fdwEnum; 370*c2c66affSColin Finck PWAVEFILTER pwfltrEnum; 371*c2c66affSColin Finck 372*c2c66affSColin Finck HINSTANCE hInstance; 373*c2c66affSColin Finck LPCWSTR pszTemplateName; 374*c2c66affSColin Finck LPARAM lCustData; 375*c2c66affSColin Finck ACMFILTERCHOOSEHOOKPROCW pfnHook; 376*c2c66affSColin Finck } ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW, *LPACMFILTERCHOOSEW; 377*c2c66affSColin Finck 378*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(ACMFILTERCHOOSE) 379*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(PACMFILTERCHOOSE) 380*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(LPACMFILTERCHOOSE) 381*c2c66affSColin Finck 382*c2c66affSColin Finck typedef struct _ACMFILTERDETAILSA 383*c2c66affSColin Finck { 384*c2c66affSColin Finck DWORD cbStruct; 385*c2c66affSColin Finck DWORD dwFilterIndex; 386*c2c66affSColin Finck DWORD dwFilterTag; 387*c2c66affSColin Finck DWORD fdwSupport; 388*c2c66affSColin Finck PWAVEFILTER pwfltr; 389*c2c66affSColin Finck DWORD cbwfltr; 390*c2c66affSColin Finck CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS]; 391*c2c66affSColin Finck } ACMFILTERDETAILSA, *PACMFILTERDETAILSA, *LPACMFILTERDETAILSA; 392*c2c66affSColin Finck 393*c2c66affSColin Finck typedef struct _ACMFILTERDETAILSW 394*c2c66affSColin Finck { 395*c2c66affSColin Finck DWORD cbStruct; 396*c2c66affSColin Finck DWORD dwFilterIndex; 397*c2c66affSColin Finck DWORD dwFilterTag; 398*c2c66affSColin Finck DWORD fdwSupport; 399*c2c66affSColin Finck PWAVEFILTER pwfltr; 400*c2c66affSColin Finck DWORD cbwfltr; 401*c2c66affSColin Finck WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS]; 402*c2c66affSColin Finck } ACMFILTERDETAILSW, *PACMFILTERDETAILSW, *LPACMFILTERDETAILSW; 403*c2c66affSColin Finck 404*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(ACMFILTERDETAILS) 405*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(PACMFILTERDETAILS) 406*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(LPACMFILTERDETAILS) 407*c2c66affSColin Finck 408*c2c66affSColin Finck typedef struct _ACMFILTERTAGDETAILSA 409*c2c66affSColin Finck { 410*c2c66affSColin Finck DWORD cbStruct; 411*c2c66affSColin Finck DWORD dwFilterTagIndex; 412*c2c66affSColin Finck DWORD dwFilterTag; 413*c2c66affSColin Finck DWORD cbFilterSize; 414*c2c66affSColin Finck DWORD fdwSupport; 415*c2c66affSColin Finck DWORD cStandardFilters; 416*c2c66affSColin Finck CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]; 417*c2c66affSColin Finck } ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA, *LPACMFILTERTAGDETAILSA; 418*c2c66affSColin Finck 419*c2c66affSColin Finck typedef struct _ACMFILTERTAGDETAILSW 420*c2c66affSColin Finck { 421*c2c66affSColin Finck DWORD cbStruct; 422*c2c66affSColin Finck DWORD dwFilterTagIndex; 423*c2c66affSColin Finck DWORD dwFilterTag; 424*c2c66affSColin Finck DWORD cbFilterSize; 425*c2c66affSColin Finck DWORD fdwSupport; 426*c2c66affSColin Finck DWORD cStandardFilters; 427*c2c66affSColin Finck WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]; 428*c2c66affSColin Finck } ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW, *LPACMFILTERTAGDETAILSW; 429*c2c66affSColin Finck 430*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(ACMFILTERTAGDETAILS) 431*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(PACMFILTERTAGDETAILS) 432*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(LPACMFILTERTAGDETAILS) 433*c2c66affSColin Finck 434*c2c66affSColin Finck typedef struct _ACMFORMATCHOOSEA 435*c2c66affSColin Finck { 436*c2c66affSColin Finck DWORD cbStruct; 437*c2c66affSColin Finck DWORD fdwStyle; 438*c2c66affSColin Finck 439*c2c66affSColin Finck HWND hwndOwner; 440*c2c66affSColin Finck 441*c2c66affSColin Finck PWAVEFORMATEX pwfx; 442*c2c66affSColin Finck DWORD cbwfx; 443*c2c66affSColin Finck LPCSTR pszTitle; 444*c2c66affSColin Finck 445*c2c66affSColin Finck CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]; 446*c2c66affSColin Finck CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; 447*c2c66affSColin Finck 448*c2c66affSColin Finck LPSTR pszName; 449*c2c66affSColin Finck DWORD cchName; 450*c2c66affSColin Finck 451*c2c66affSColin Finck DWORD fdwEnum; 452*c2c66affSColin Finck PWAVEFORMATEX pwfxEnum; 453*c2c66affSColin Finck 454*c2c66affSColin Finck HINSTANCE hInstance; 455*c2c66affSColin Finck LPCSTR pszTemplateName; 456*c2c66affSColin Finck LPARAM lCustData; 457*c2c66affSColin Finck ACMFORMATCHOOSEHOOKPROCA pfnHook; 458*c2c66affSColin Finck } ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA, *LPACMFORMATCHOOSEA; 459*c2c66affSColin Finck 460*c2c66affSColin Finck typedef struct _ACMFORMATCHOOSEW 461*c2c66affSColin Finck { 462*c2c66affSColin Finck DWORD cbStruct; 463*c2c66affSColin Finck DWORD fdwStyle; 464*c2c66affSColin Finck 465*c2c66affSColin Finck HWND hwndOwner; 466*c2c66affSColin Finck 467*c2c66affSColin Finck PWAVEFORMATEX pwfx; 468*c2c66affSColin Finck DWORD cbwfx; 469*c2c66affSColin Finck LPCWSTR pszTitle; 470*c2c66affSColin Finck 471*c2c66affSColin Finck WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]; 472*c2c66affSColin Finck WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; 473*c2c66affSColin Finck 474*c2c66affSColin Finck LPWSTR pszName; 475*c2c66affSColin Finck DWORD cchName; 476*c2c66affSColin Finck 477*c2c66affSColin Finck DWORD fdwEnum; 478*c2c66affSColin Finck LPWAVEFORMATEX pwfxEnum; 479*c2c66affSColin Finck 480*c2c66affSColin Finck HINSTANCE hInstance; 481*c2c66affSColin Finck LPCWSTR pszTemplateName; 482*c2c66affSColin Finck LPARAM lCustData; 483*c2c66affSColin Finck ACMFORMATCHOOSEHOOKPROCW pfnHook; 484*c2c66affSColin Finck } ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW, *LPACMFORMATCHOOSEW; 485*c2c66affSColin Finck 486*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(ACMFORMATCHOOSE) 487*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(PACMFORMATCHOOSE) 488*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(LPACMFORMATCHOOSE) 489*c2c66affSColin Finck 490*c2c66affSColin Finck typedef struct _ACMFORMATDETAILSA 491*c2c66affSColin Finck { 492*c2c66affSColin Finck DWORD cbStruct; 493*c2c66affSColin Finck DWORD dwFormatIndex; 494*c2c66affSColin Finck DWORD dwFormatTag; 495*c2c66affSColin Finck DWORD fdwSupport; 496*c2c66affSColin Finck PWAVEFORMATEX pwfx; 497*c2c66affSColin Finck DWORD cbwfx; 498*c2c66affSColin Finck CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; 499*c2c66affSColin Finck } ACMFORMATDETAILSA, *PACMFORMATDETAILSA, *LPACMFORMATDETAILSA; 500*c2c66affSColin Finck 501*c2c66affSColin Finck typedef struct _ACMFORMATDETAILSW 502*c2c66affSColin Finck { 503*c2c66affSColin Finck DWORD cbStruct; 504*c2c66affSColin Finck DWORD dwFormatIndex; 505*c2c66affSColin Finck DWORD dwFormatTag; 506*c2c66affSColin Finck DWORD fdwSupport; 507*c2c66affSColin Finck PWAVEFORMATEX pwfx; 508*c2c66affSColin Finck DWORD cbwfx; 509*c2c66affSColin Finck WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; 510*c2c66affSColin Finck } ACMFORMATDETAILSW, *PACMFORMATDETAILSW, *LPACMFORMATDETAILSW; 511*c2c66affSColin Finck 512*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(ACMFORMATDETAILS) 513*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(PACMFORMATDETAILS) 514*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(LPACMFORMATDETAILS) 515*c2c66affSColin Finck 516*c2c66affSColin Finck typedef struct _ACMFORMATTAGDETAILSA 517*c2c66affSColin Finck { 518*c2c66affSColin Finck DWORD cbStruct; 519*c2c66affSColin Finck DWORD dwFormatTagIndex; 520*c2c66affSColin Finck DWORD dwFormatTag; 521*c2c66affSColin Finck DWORD cbFormatSize; 522*c2c66affSColin Finck DWORD fdwSupport; 523*c2c66affSColin Finck DWORD cStandardFormats; 524*c2c66affSColin Finck CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]; 525*c2c66affSColin Finck } ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA, *LPACMFORMATTAGDETAILSA; 526*c2c66affSColin Finck 527*c2c66affSColin Finck typedef struct _ACMFORMATTAGDETAILSW 528*c2c66affSColin Finck { 529*c2c66affSColin Finck DWORD cbStruct; 530*c2c66affSColin Finck DWORD dwFormatTagIndex; 531*c2c66affSColin Finck DWORD dwFormatTag; 532*c2c66affSColin Finck DWORD cbFormatSize; 533*c2c66affSColin Finck DWORD fdwSupport; 534*c2c66affSColin Finck DWORD cStandardFormats; 535*c2c66affSColin Finck WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]; 536*c2c66affSColin Finck } ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW, *LPACMFORMATTAGDETAILSW; 537*c2c66affSColin Finck 538*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(ACMFORMATTAGDETAILS) 539*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(PACMFORMATTAGDETAILS) 540*c2c66affSColin Finck DECL_WINELIB_TYPE_AW(LPACMFORMATTAGDETAILS) 541*c2c66affSColin Finck 542*c2c66affSColin Finck #ifdef _WIN64 543*c2c66affSColin Finck # define _ACMSTREAMHEADERRESERVE 15 544*c2c66affSColin Finck #else 545*c2c66affSColin Finck # define _ACMSTREAMHEADERRESERVE 10 546*c2c66affSColin Finck #endif 547*c2c66affSColin Finck 548*c2c66affSColin Finck typedef struct _ACMSTREAMHEADER 549*c2c66affSColin Finck { 550*c2c66affSColin Finck DWORD cbStruct; 551*c2c66affSColin Finck DWORD fdwStatus; 552*c2c66affSColin Finck DWORD_PTR dwUser; 553*c2c66affSColin Finck LPBYTE pbSrc; 554*c2c66affSColin Finck DWORD cbSrcLength; 555*c2c66affSColin Finck DWORD cbSrcLengthUsed; 556*c2c66affSColin Finck DWORD_PTR dwSrcUser; 557*c2c66affSColin Finck LPBYTE pbDst; 558*c2c66affSColin Finck DWORD cbDstLength; 559*c2c66affSColin Finck DWORD cbDstLengthUsed; 560*c2c66affSColin Finck DWORD_PTR dwDstUser; 561*c2c66affSColin Finck DWORD dwReservedDriver[_ACMSTREAMHEADERRESERVE]; 562*c2c66affSColin Finck } ACMSTREAMHEADER, *PACMSTREAMHEADER, *LPACMSTREAMHEADER; 563*c2c66affSColin Finck 564*c2c66affSColin Finck #undef _ACMSTREAMHEADERRESERVE 565*c2c66affSColin Finck 566*c2c66affSColin Finck /*********************************************************************** 567*c2c66affSColin Finck * Callbacks 2 568*c2c66affSColin Finck */ 569*c2c66affSColin Finck 570*c2c66affSColin Finck typedef BOOL (CALLBACK *ACMFILTERENUMCBA)( 571*c2c66affSColin Finck HACMDRIVERID hadid, PACMFILTERDETAILSA pafd, 572*c2c66affSColin Finck DWORD_PTR dwInstance, DWORD fdwSupport 573*c2c66affSColin Finck ); 574*c2c66affSColin Finck 575*c2c66affSColin Finck typedef BOOL (CALLBACK *ACMFILTERENUMCBW)( 576*c2c66affSColin Finck HACMDRIVERID hadid, PACMFILTERDETAILSW pafd, 577*c2c66affSColin Finck DWORD_PTR dwInstance, DWORD fdwSupport 578*c2c66affSColin Finck ); 579*c2c66affSColin Finck 580*c2c66affSColin Finck #define ACMFILTERENUMCB WINELIB_NAME_AW(ACMFILTERENUMCB) 581*c2c66affSColin Finck 582*c2c66affSColin Finck typedef BOOL (CALLBACK *ACMFILTERTAGENUMCBA)( 583*c2c66affSColin Finck HACMDRIVERID hadid, PACMFILTERTAGDETAILSA paftd, 584*c2c66affSColin Finck DWORD_PTR dwInstance, DWORD fdwSupport 585*c2c66affSColin Finck ); 586*c2c66affSColin Finck 587*c2c66affSColin Finck typedef BOOL (CALLBACK *ACMFILTERTAGENUMCBW)( 588*c2c66affSColin Finck HACMDRIVERID hadid, PACMFILTERTAGDETAILSW paftd, 589*c2c66affSColin Finck DWORD_PTR dwInstance, DWORD fdwSupport 590*c2c66affSColin Finck ); 591*c2c66affSColin Finck 592*c2c66affSColin Finck #define ACMFILTERTAGENUMCB WINELIB_NAME_AW(ACMFILTERTAGENUMCB) 593*c2c66affSColin Finck 594*c2c66affSColin Finck typedef BOOL (CALLBACK *ACMFORMATENUMCBA)( 595*c2c66affSColin Finck HACMDRIVERID hadid, PACMFORMATDETAILSA pafd, 596*c2c66affSColin Finck DWORD_PTR dwInstance, DWORD fdwSupport 597*c2c66affSColin Finck ); 598*c2c66affSColin Finck 599*c2c66affSColin Finck typedef BOOL (CALLBACK *ACMFORMATENUMCBW)( 600*c2c66affSColin Finck HACMDRIVERID hadid, PACMFORMATDETAILSW pafd, 601*c2c66affSColin Finck DWORD_PTR dwInstance, DWORD fdwSupport 602*c2c66affSColin Finck ); 603*c2c66affSColin Finck 604*c2c66affSColin Finck #define ACMFORMATENUMCB WINELIB_NAME_AW(ACMFORMATENUMCB) 605*c2c66affSColin Finck 606*c2c66affSColin Finck typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBA)( 607*c2c66affSColin Finck HACMDRIVERID hadid, PACMFORMATTAGDETAILSA paftd, 608*c2c66affSColin Finck DWORD_PTR dwInstance, DWORD fdwSupport 609*c2c66affSColin Finck ); 610*c2c66affSColin Finck 611*c2c66affSColin Finck typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBW)( 612*c2c66affSColin Finck HACMDRIVERID hadid, PACMFORMATTAGDETAILSW paftd, 613*c2c66affSColin Finck DWORD_PTR dwInstance, DWORD fdwSupport 614*c2c66affSColin Finck ); 615*c2c66affSColin Finck 616*c2c66affSColin Finck #define ACMFORMATTAGENUMCB WINELIB_NAME_AW(ACMFORMATTAGENUMCB) 617*c2c66affSColin Finck 618*c2c66affSColin Finck /*********************************************************************** 619*c2c66affSColin Finck * Functions - Win32 620*c2c66affSColin Finck */ 621*c2c66affSColin Finck 622*c2c66affSColin Finck MMRESULT WINAPI acmDriverAddA( 623*c2c66affSColin Finck PHACMDRIVERID phadid, HINSTANCE hinstModule, 624*c2c66affSColin Finck LPARAM lParam, DWORD dwPriority, DWORD fdwAdd 625*c2c66affSColin Finck ); 626*c2c66affSColin Finck MMRESULT WINAPI acmDriverAddW( 627*c2c66affSColin Finck PHACMDRIVERID phadid, HINSTANCE hinstModule, 628*c2c66affSColin Finck LPARAM lParam, DWORD dwPriority, DWORD fdwAdd 629*c2c66affSColin Finck ); 630*c2c66affSColin Finck #define acmDriverAdd WINELIB_NAME_AW(acmDriverAdd) 631*c2c66affSColin Finck 632*c2c66affSColin Finck MMRESULT WINAPI acmDriverClose( 633*c2c66affSColin Finck HACMDRIVER had, DWORD fdwClose 634*c2c66affSColin Finck ); 635*c2c66affSColin Finck MMRESULT WINAPI acmDriverDetailsA( 636*c2c66affSColin Finck HACMDRIVERID hadid, PACMDRIVERDETAILSA padd, DWORD fdwDetails 637*c2c66affSColin Finck ); 638*c2c66affSColin Finck MMRESULT WINAPI acmDriverDetailsW( 639*c2c66affSColin Finck HACMDRIVERID hadid, PACMDRIVERDETAILSW padd, DWORD fdwDetails 640*c2c66affSColin Finck ); 641*c2c66affSColin Finck #define acmDriverDetails WINELIB_NAME_AW(acmDriverDetails) 642*c2c66affSColin Finck 643*c2c66affSColin Finck MMRESULT WINAPI acmDriverEnum( 644*c2c66affSColin Finck ACMDRIVERENUMCB fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 645*c2c66affSColin Finck ); 646*c2c66affSColin Finck MMRESULT WINAPI acmDriverID( 647*c2c66affSColin Finck HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID 648*c2c66affSColin Finck ); 649*c2c66affSColin Finck LRESULT WINAPI acmDriverMessage( 650*c2c66affSColin Finck HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2 651*c2c66affSColin Finck ); 652*c2c66affSColin Finck MMRESULT WINAPI acmDriverOpen( 653*c2c66affSColin Finck PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen 654*c2c66affSColin Finck ); 655*c2c66affSColin Finck MMRESULT WINAPI acmDriverPriority( 656*c2c66affSColin Finck HACMDRIVERID hadid, DWORD dwPriority, DWORD fdwPriority 657*c2c66affSColin Finck ); 658*c2c66affSColin Finck MMRESULT WINAPI acmDriverRemove( 659*c2c66affSColin Finck HACMDRIVERID hadid, DWORD fdwRemove 660*c2c66affSColin Finck ); 661*c2c66affSColin Finck MMRESULT WINAPI acmFilterChooseA( 662*c2c66affSColin Finck PACMFILTERCHOOSEA pafltrc 663*c2c66affSColin Finck ); 664*c2c66affSColin Finck MMRESULT WINAPI acmFilterChooseW( 665*c2c66affSColin Finck PACMFILTERCHOOSEW pafltrc 666*c2c66affSColin Finck ); 667*c2c66affSColin Finck #define acmFilterChoose WINELIB_NAME_AW(acmFilterChoose) 668*c2c66affSColin Finck 669*c2c66affSColin Finck MMRESULT WINAPI acmFilterDetailsA( 670*c2c66affSColin Finck HACMDRIVER had, PACMFILTERDETAILSA pafd, DWORD fdwDetails 671*c2c66affSColin Finck ); 672*c2c66affSColin Finck MMRESULT WINAPI acmFilterDetailsW( 673*c2c66affSColin Finck HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails 674*c2c66affSColin Finck ); 675*c2c66affSColin Finck #define acmFilterDetails WINELIB_NAME_AW(acmFilterDetails) 676*c2c66affSColin Finck 677*c2c66affSColin Finck MMRESULT WINAPI acmFilterEnumA( 678*c2c66affSColin Finck HACMDRIVER had, PACMFILTERDETAILSA pafd, 679*c2c66affSColin Finck ACMFILTERENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 680*c2c66affSColin Finck ); 681*c2c66affSColin Finck MMRESULT WINAPI acmFilterEnumW( 682*c2c66affSColin Finck HACMDRIVER had, PACMFILTERDETAILSW pafd, 683*c2c66affSColin Finck ACMFILTERENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 684*c2c66affSColin Finck ); 685*c2c66affSColin Finck #define acmFilterEnum WINELIB_NAME_AW(acmFilterEnum) 686*c2c66affSColin Finck 687*c2c66affSColin Finck MMRESULT WINAPI acmFilterTagDetailsA( 688*c2c66affSColin Finck HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, DWORD fdwDetails 689*c2c66affSColin Finck ); 690*c2c66affSColin Finck MMRESULT WINAPI acmFilterTagDetailsW( 691*c2c66affSColin Finck HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, DWORD fdwDetails 692*c2c66affSColin Finck ); 693*c2c66affSColin Finck #define acmFilterTagDetails WINELIB_NAME_AW(acmFilterTagDetails) 694*c2c66affSColin Finck 695*c2c66affSColin Finck MMRESULT WINAPI acmFilterTagEnumA( 696*c2c66affSColin Finck HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, 697*c2c66affSColin Finck ACMFILTERTAGENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 698*c2c66affSColin Finck ); 699*c2c66affSColin Finck MMRESULT WINAPI acmFilterTagEnumW( 700*c2c66affSColin Finck HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, 701*c2c66affSColin Finck ACMFILTERTAGENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 702*c2c66affSColin Finck ); 703*c2c66affSColin Finck #define acmFilterTagEnum WINELIB_NAME_AW(acmFilterTagEnum) 704*c2c66affSColin Finck 705*c2c66affSColin Finck MMRESULT WINAPI acmFormatChooseA( 706*c2c66affSColin Finck PACMFORMATCHOOSEA pafmtc 707*c2c66affSColin Finck ); 708*c2c66affSColin Finck MMRESULT WINAPI acmFormatChooseW( 709*c2c66affSColin Finck PACMFORMATCHOOSEW pafmtc 710*c2c66affSColin Finck ); 711*c2c66affSColin Finck #define acmFormatChoose WINELIB_NAME_AW(acmFormatChoose) 712*c2c66affSColin Finck 713*c2c66affSColin Finck MMRESULT WINAPI acmFormatDetailsA( 714*c2c66affSColin Finck HACMDRIVER had, PACMFORMATDETAILSA pafd, DWORD fdwDetails 715*c2c66affSColin Finck ); 716*c2c66affSColin Finck MMRESULT WINAPI acmFormatDetailsW( 717*c2c66affSColin Finck HACMDRIVER had, PACMFORMATDETAILSW pafd, DWORD fdwDetails 718*c2c66affSColin Finck ); 719*c2c66affSColin Finck #define acmFormatDetails WINELIB_NAME_AW(acmFormatDetails) 720*c2c66affSColin Finck 721*c2c66affSColin Finck MMRESULT WINAPI acmFormatEnumA( 722*c2c66affSColin Finck HACMDRIVER had, PACMFORMATDETAILSA pafd, 723*c2c66affSColin Finck ACMFORMATENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 724*c2c66affSColin Finck ); 725*c2c66affSColin Finck MMRESULT WINAPI acmFormatEnumW( 726*c2c66affSColin Finck HACMDRIVER had, PACMFORMATDETAILSW pafd, 727*c2c66affSColin Finck ACMFORMATENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 728*c2c66affSColin Finck ); 729*c2c66affSColin Finck #define acmFormatEnum WINELIB_NAME_AW(acmFormatEnum) 730*c2c66affSColin Finck 731*c2c66affSColin Finck MMRESULT WINAPI acmFormatSuggest( 732*c2c66affSColin Finck HACMDRIVER had, PWAVEFORMATEX pwfxSrc, PWAVEFORMATEX pwfxDst, 733*c2c66affSColin Finck DWORD cbwfxDst, DWORD fdwSuggest 734*c2c66affSColin Finck ); 735*c2c66affSColin Finck MMRESULT WINAPI acmFormatTagDetailsA( 736*c2c66affSColin Finck HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, DWORD fdwDetails 737*c2c66affSColin Finck ); 738*c2c66affSColin Finck MMRESULT WINAPI acmFormatTagDetailsW( 739*c2c66affSColin Finck HACMDRIVER had, PACMFORMATTAGDETAILSW paftd, DWORD fdwDetails 740*c2c66affSColin Finck ); 741*c2c66affSColin Finck #define acmFormatTagDetails WINELIB_NAME_AW(acmFormatTagDetails) 742*c2c66affSColin Finck 743*c2c66affSColin Finck MMRESULT WINAPI acmFormatTagEnumA( 744*c2c66affSColin Finck HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, 745*c2c66affSColin Finck ACMFORMATTAGENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 746*c2c66affSColin Finck ); 747*c2c66affSColin Finck MMRESULT WINAPI acmFormatTagEnumW( 748*c2c66affSColin Finck HACMDRIVER had, PACMFORMATTAGDETAILSW paftd, 749*c2c66affSColin Finck ACMFORMATTAGENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 750*c2c66affSColin Finck ); 751*c2c66affSColin Finck #define acmFormatTagEnum WINELIB_NAME_AW(acmFormatTagEnum) 752*c2c66affSColin Finck 753*c2c66affSColin Finck DWORD WINAPI acmGetVersion(void 754*c2c66affSColin Finck ); 755*c2c66affSColin Finck MMRESULT WINAPI acmMetrics( 756*c2c66affSColin Finck HACMOBJ hao, UINT uMetric, LPVOID pMetric 757*c2c66affSColin Finck ); 758*c2c66affSColin Finck MMRESULT WINAPI acmStreamClose( 759*c2c66affSColin Finck HACMSTREAM has, DWORD fdwClose 760*c2c66affSColin Finck ); 761*c2c66affSColin Finck MMRESULT WINAPI acmStreamConvert( 762*c2c66affSColin Finck HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwConvert 763*c2c66affSColin Finck ); 764*c2c66affSColin Finck MMRESULT WINAPI acmStreamMessage( 765*c2c66affSColin Finck HACMSTREAM has, UINT uMsg, LPARAM lParam1, LPARAM lParam2 766*c2c66affSColin Finck ); 767*c2c66affSColin Finck MMRESULT WINAPI acmStreamOpen( 768*c2c66affSColin Finck PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pwfxSrc, 769*c2c66affSColin Finck PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD_PTR dwCallback, 770*c2c66affSColin Finck DWORD_PTR dwInstance, DWORD fdwOpen 771*c2c66affSColin Finck ); 772*c2c66affSColin Finck MMRESULT WINAPI acmStreamPrepareHeader( 773*c2c66affSColin Finck HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwPrepare 774*c2c66affSColin Finck ); 775*c2c66affSColin Finck MMRESULT WINAPI acmStreamReset( 776*c2c66affSColin Finck HACMSTREAM has, DWORD fdwReset 777*c2c66affSColin Finck ); 778*c2c66affSColin Finck MMRESULT WINAPI acmStreamSize( 779*c2c66affSColin Finck HACMSTREAM has, DWORD cbInput, 780*c2c66affSColin Finck LPDWORD pdwOutputBytes, DWORD fdwSize 781*c2c66affSColin Finck ); 782*c2c66affSColin Finck MMRESULT WINAPI acmStreamUnprepareHeader( 783*c2c66affSColin Finck HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwUnprepare 784*c2c66affSColin Finck ); 785*c2c66affSColin Finck 786*c2c66affSColin Finck #include <poppack.h> 787*c2c66affSColin Finck 788*c2c66affSColin Finck #ifdef __cplusplus 789*c2c66affSColin Finck } /* extern "C" */ 790*c2c66affSColin Finck #endif /* defined(__cplusplus) */ 791*c2c66affSColin Finck 792*c2c66affSColin Finck #endif /* __WINE_MSACM_H */ 793