00001
00002
00003
00004
00005 #ifndef __WINE_MSACM_H
00006 #define __WINE_MSACM_H
00007
00008 #include "windef.h"
00009 #include "driver.h"
00010 #include "mmreg.h"
00011
00012 #ifdef __cplusplus
00013 extern "C" {
00014 #endif
00015
00016
00017
00018 typedef UINT16 MMVERSION16;
00019 typedef UINT MMVERSION;
00020 typedef UINT16 MCIDEVICEID16;
00021 typedef UINT MCIDEVICEID;
00022 typedef UINT16 MMRESULT16;
00023 typedef UINT MMRESULT;
00024 typedef DWORD FOURCC;
00025
00026
00027
00028 #if !defined(WAVE_FORMAT_PCM)
00029 #define WAVE_FORMAT_PCM 1
00030 #endif
00031
00032
00033
00034
00035
00036 #define ACMERR_BASE 512
00037 #define ACMERR_NOTPOSSIBLE (ACMERR_BASE + 0)
00038 #define ACMERR_BUSY (ACMERR_BASE + 1)
00039 #define ACMERR_UNPREPARED (ACMERR_BASE + 2)
00040 #define ACMERR_CANCELED (ACMERR_BASE + 3)
00041
00042 #define MM_ACM_OPEN MM_STREAM_OPEN
00043 #define MM_ACM_CLOSE MM_STREAM_CLOSE
00044 #define MM_ACM_DONE MM_STREAM_DONE
00045
00046 #define ACM_DRIVERADDF_FUNCTION 0x00000003L
00047 #define ACM_DRIVERADDF_NOTIFYHWND 0x00000004L
00048 #define ACM_DRIVERADDF_TYPEMASK 0x00000007L
00049 #define ACM_DRIVERADDF_LOCAL 0x00000000L
00050 #define ACM_DRIVERADDF_GLOBAL 0x00000008L
00051
00052 #define ACMDRIVERDETAILS_SHORTNAME_CHARS 32
00053 #define ACMDRIVERDETAILS_LONGNAME_CHARS 128
00054 #define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80
00055 #define ACMDRIVERDETAILS_LICENSING_CHARS 128
00056 #define ACMDRIVERDETAILS_FEATURES_CHARS 512
00057
00058 #define ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC mmioFOURCC('a', 'u', 'd', 'c')
00059 #define ACMDRIVERDETAILS_FCCCOMP_UNDEFINED mmioFOURCC('\0', '\0', '\0', '\0')
00060
00061 #define ACMDRIVERDETAILS_SUPPORTF_CODEC 0x00000001L
00062 #define ACMDRIVERDETAILS_SUPPORTF_CONVERTER 0x00000002L
00063 #define ACMDRIVERDETAILS_SUPPORTF_FILTER 0x00000004L
00064 #define ACMDRIVERDETAILS_SUPPORTF_HARDWARE 0x00000008L
00065 #define ACMDRIVERDETAILS_SUPPORTF_ASYNC 0x00000010L
00066 #define ACMDRIVERDETAILS_SUPPORTF_LOCAL 0x40000000L
00067 #define ACMDRIVERDETAILS_SUPPORTF_DISABLED 0x80000000L
00068
00069 #define ACM_DRIVERENUMF_NOLOCAL 0x40000000L
00070 #define ACM_DRIVERENUMF_DISABLED 0x80000000L
00071
00072 #define ACM_DRIVERPRIORITYF_ENABLE 0x00000001L
00073 #define ACM_DRIVERPRIORITYF_DISABLE 0x00000002L
00074 #define ACM_DRIVERPRIORITYF_ABLEMASK 0x00000003L
00075 #define ACM_DRIVERPRIORITYF_BEGIN 0x00010000L
00076 #define ACM_DRIVERPRIORITYF_END 0x00020000L
00077 #define ACM_DRIVERPRIORITYF_DEFERMASK 0x00030000L
00078
00079 #define MM_ACM_FILTERCHOOSE 0x8000
00080
00081 #define FILTERCHOOSE_MESSAGE 0
00082 #define FILTERCHOOSE_FILTERTAG_VERIFY (FILTERCHOOSE_MESSAGE+0)
00083 #define FILTERCHOOSE_FILTER_VERIFY (FILTERCHOOSE_MESSAGE+1)
00084 #define FILTERCHOOSE_CUSTOM_VERIFY (FILTERCHOOSE_MESSAGE+2)
00085
00086 #define ACMFILTERCHOOSE_STYLEF_SHOWHELP 0x00000004L
00087 #define ACMFILTERCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
00088 #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
00089 #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
00090 #define ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT 0x00000040L
00091 #define ACMFILTERCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
00092
00093 #define ACMFILTERDETAILS_FILTER_CHARS 128
00094
00095 #define ACM_FILTERDETAILSF_INDEX 0x00000000L
00096 #define ACM_FILTERDETAILSF_FILTER 0x00000001L
00097 #define ACM_FILTERDETAILSF_QUERYMASK 0x0000000FL
00098
00099 #define ACMFILTERTAGDETAILS_FILTERTAG_CHARS 48
00100
00101 #define ACM_FILTERTAGDETAILSF_INDEX 0x00000000L
00102 #define ACM_FILTERTAGDETAILSF_FILTERTAG 0x00000001L
00103 #define ACM_FILTERTAGDETAILSF_LARGESTSIZE 0x00000002L
00104 #define ACM_FILTERTAGDETAILSF_QUERYMASK 0x0000000FL
00105
00106 #define ACM_FILTERENUMF_DWFILTERTAG 0x00010000L
00107
00108 #define ACMHELPMSGSTRINGA "acmchoose_help"
00109 #define ACMHELPMSGSTRINGW L"acmchoose_help"
00110 #define ACMHELPMSGSTRING16 "acmchoose_help"
00111
00112 #define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"
00113 #define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu"
00114 #define ACMHELPMSGCONTEXTMENU16 "acmchoose_contextmenu"
00115
00116 #define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"
00117 #define ACMHELPMSGCONTEXTHELPW L"acmchoose_contexthelp"
00118 #define ACMHELPMSGCONTEXTHELP16 "acmchoose_contexthelp"
00119
00120 #define MM_ACM_FORMATCHOOSE 0x8000
00121
00122 #define FORMATCHOOSE_MESSAGE 0
00123 #define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0)
00124 #define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1)
00125 #define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2)
00126
00127 #define ACMFORMATCHOOSE_STYLEF_SHOWHELP 0x00000004L
00128 #define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
00129 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
00130 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
00131 #define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 0x00000040L
00132 #define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
00133
00134 #define ACMFORMATDETAILS_FORMAT_CHARS 128
00135
00136 #define ACM_FORMATDETAILSF_INDEX 0x00000000L
00137 #define ACM_FORMATDETAILSF_FORMAT 0x00000001L
00138 #define ACM_FORMATDETAILSF_QUERYMASK 0x0000000FL
00139
00140 #define ACM_FORMATENUMF_WFORMATTAG 0x00010000L
00141 #define ACM_FORMATENUMF_NCHANNELS 0x00020000L
00142 #define ACM_FORMATENUMF_NSAMPLESPERSEC 0x00040000L
00143 #define ACM_FORMATENUMF_WBITSPERSAMPLE 0x00080000L
00144 #define ACM_FORMATENUMF_CONVERT 0x00100000L
00145 #define ACM_FORMATENUMF_SUGGEST 0x00200000L
00146 #define ACM_FORMATENUMF_HARDWARE 0x00400000L
00147 #define ACM_FORMATENUMF_INPUT 0x00800000L
00148 #define ACM_FORMATENUMF_OUTPUT 0x01000000L
00149
00150 #define ACM_FORMATSUGGESTF_WFORMATTAG 0x00010000L
00151 #define ACM_FORMATSUGGESTF_NCHANNELS 0x00020000L
00152 #define ACM_FORMATSUGGESTF_NSAMPLESPERSEC 0x00040000L
00153 #define ACM_FORMATSUGGESTF_WBITSPERSAMPLE 0x00080000L
00154 #define ACM_FORMATSUGGESTF_TYPEMASK 0x00FF0000L
00155
00156 #define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48
00157
00158 #define ACM_FORMATTAGDETAILSF_INDEX 0x00000000L
00159 #define ACM_FORMATTAGDETAILSF_FORMATTAG 0x00000001L
00160 #define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L
00161 #define ACM_FORMATTAGDETAILSF_QUERYMASK 0x0000000FL
00162
00163 #define ACM_METRIC_COUNT_DRIVERS 1
00164 #define ACM_METRIC_COUNT_CODECS 2
00165 #define ACM_METRIC_COUNT_CONVERTERS 3
00166 #define ACM_METRIC_COUNT_FILTERS 4
00167 #define ACM_METRIC_COUNT_DISABLED 5
00168 #define ACM_METRIC_COUNT_HARDWARE 6
00169 #define ACM_METRIC_COUNT_LOCAL_DRIVERS 20
00170 #define ACM_METRIC_COUNT_LOCAL_CODECS 21
00171 #define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22
00172 #define ACM_METRIC_COUNT_LOCAL_FILTERS 23
00173 #define ACM_METRIC_COUNT_LOCAL_DISABLED 24
00174 #define ACM_METRIC_HARDWARE_WAVE_INPUT 30
00175 #define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31
00176 #define ACM_METRIC_MAX_SIZE_FORMAT 50
00177 #define ACM_METRIC_MAX_SIZE_FILTER 51
00178 #define ACM_METRIC_DRIVER_SUPPORT 100
00179 #define ACM_METRIC_DRIVER_PRIORITY 101
00180
00181 #define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004
00182 #define ACM_STREAMCONVERTF_START 0x00000010
00183 #define ACM_STREAMCONVERTF_END 0x00000020
00184
00185 #define ACMSTREAMHEADER_STATUSF_DONE 0x00010000L
00186 #define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L
00187 #define ACMSTREAMHEADER_STATUSF_INQUEUE 0x00100000L
00188
00189 #define ACM_STREAMOPENF_QUERY 0x00000001
00190 #define ACM_STREAMOPENF_ASYNC 0x00000002
00191 #define ACM_STREAMOPENF_NONREALTIME 0x00000004
00192
00193 #define ACM_STREAMSIZEF_SOURCE 0x00000000L
00194 #define ACM_STREAMSIZEF_DESTINATION 0x00000001L
00195 #define ACM_STREAMSIZEF_QUERYMASK 0x0000000FL
00196
00197 #define ACMDM_USER (DRV_USER + 0x0000)
00198 #define ACMDM_RESERVED_LOW (DRV_USER + 0x2000)
00199 #define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF)
00200
00201 #define ACMDM_BASE ACMDM_RESERVED_LOW
00202
00203 #define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11)
00204
00205
00206
00207
00208
00209 typedef WIN_BOOL CALLBACK ( *ACMDRIVERENUMCB)(
00210 HACMDRIVERID hadid, DWORD dwInstance, DWORD fdwSupport
00211 );
00212
00213 typedef WIN_BOOL16 CALLBACK ( *ACMDRIVERENUMCB16)(
00214 HACMDRIVERID16 hadid, DWORD dwInstance, DWORD fdwSupport
00215 );
00216
00217 typedef UINT CALLBACK ( *ACMFILTERCHOOSEHOOKPROCA)(
00218 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
00219 );
00220
00221 typedef UINT CALLBACK ( *ACMFILTERCHOOSEHOOKPROCW)(
00222 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
00223 );
00224
00225 typedef UINT CALLBACK ( *ACMFILTERCHOOSEHOOKPROC16)(
00226 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
00227 );
00228
00229 typedef UINT CALLBACK ( *ACMFORMATCHOOSEHOOKPROCA)(
00230 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
00231 );
00232
00233 typedef UINT CALLBACK ( *ACMFORMATCHOOSEHOOKPROCW)(
00234 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
00235 );
00236
00237 typedef UINT16 CALLBACK ( *ACMFORMATCHOOSEHOOKPROC16)(
00238 HWND16 hwnd, UINT16 uMsg, WPARAM16 wParam, LPARAM lParam
00239 );
00240
00241
00242
00243
00244
00245 typedef struct _ACMDRIVERDETAILSA
00246 {
00247 DWORD cbStruct;
00248
00249 FOURCC fccType;
00250 FOURCC fccComp;
00251
00252 WORD wMid;
00253 WORD wPid;
00254
00255 DWORD vdwACM;
00256 DWORD vdwDriver;
00257
00258 DWORD fdwSupport;
00259 DWORD cFormatTags;
00260 DWORD cFilterTags;
00261
00262 HICON hicon;
00263
00264 CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
00265 CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
00266 CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
00267 CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
00268 CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
00269 } ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA;
00270
00271 typedef struct _ACMDRIVERDETAILSW
00272 {
00273 DWORD cbStruct;
00274
00275 FOURCC fccType;
00276 FOURCC fccComp;
00277
00278 WORD wMid;
00279 WORD wPid;
00280
00281 DWORD vdwACM;
00282 DWORD vdwDriver;
00283
00284 DWORD fdwSupport;
00285 DWORD cFormatTags;
00286 DWORD cFilterTags;
00287
00288 HICON hicon;
00289
00290 WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
00291 WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
00292 WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
00293 WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
00294 WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
00295 } ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW;
00296
00297 typedef struct _ACMDRIVERDETAILS16
00298 {
00299 DWORD cbStruct;
00300
00301 FOURCC fccType;
00302 FOURCC fccComp;
00303
00304 WORD wMid;
00305 WORD wPid;
00306
00307 DWORD vdwACM;
00308 DWORD vdwDriver;
00309
00310 DWORD fdwSupport;
00311 DWORD cFormatTags;
00312 DWORD cFilterTags;
00313
00314 HICON16 hicon;
00315
00316 CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
00317 CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
00318 CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
00319 CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
00320 CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
00321 } ACMDRIVERDETAILS16, *NPACMDRIVERDETAILS16, *LPACMDRIVERDETAILS16;
00322
00323 typedef struct _ACMFILTERCHOOSEA
00324 {
00325 DWORD cbStruct;
00326 DWORD fdwStyle;
00327
00328 HWND hwndOwner;
00329
00330 PWAVEFILTER pwfltr;
00331 DWORD cbwfltr;
00332
00333 LPCSTR pszTitle;
00334
00335 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
00336 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
00337 LPSTR pszName;
00338 DWORD cchName;
00339
00340 DWORD fdwEnum;
00341 PWAVEFILTER pwfltrEnum;
00342
00343 HINSTANCE hInstance;
00344 LPCSTR pszTemplateName;
00345 LPARAM lCustData;
00346 ACMFILTERCHOOSEHOOKPROCA pfnHook;
00347 } ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA;
00348
00349 typedef struct _ACMFILTERCHOOSEW
00350 {
00351 DWORD cbStruct;
00352 DWORD fdwStyle;
00353
00354 HWND hwndOwner;
00355
00356 PWAVEFILTER pwfltr;
00357 DWORD cbwfltr;
00358
00359 LPCWSTR pszTitle;
00360
00361 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
00362 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
00363 LPWSTR pszName;
00364 DWORD cchName;
00365
00366 DWORD fdwEnum;
00367 PWAVEFILTER pwfltrEnum;
00368
00369 HINSTANCE hInstance;
00370 LPCWSTR pszTemplateName;
00371 LPARAM lCustData;
00372 ACMFILTERCHOOSEHOOKPROCW pfnHook;
00373 } ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW;
00374
00375 typedef struct _ACMFILTERCHOOSE16
00376 {
00377 DWORD cbStruct;
00378 DWORD fdwStyle;
00379
00380 HWND16 hwndOwner;
00381
00382 LPWAVEFILTER pwfltr;
00383 DWORD cbwfltr;
00384
00385 LPCSTR pszTitle;
00386
00387 char szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
00388 char szFilter[ACMFILTERDETAILS_FILTER_CHARS];
00389 LPSTR pszName;
00390 DWORD cchName;
00391
00392 DWORD fdwEnum;
00393 LPWAVEFILTER pwfltrEnum;
00394
00395 HINSTANCE16 hInstance;
00396 LPCSTR pszTemplateName;
00397 LPARAM lCustData;
00398 ACMFILTERCHOOSEHOOKPROC16 pfnHook;
00399 } ACMFILTERCHOOSE16, *NPACMFILTERCHOOSE16, *LPACMFILTERCHOOSE16;
00400
00401 typedef struct _ACMFILTERDETAILSA
00402 {
00403 DWORD cbStruct;
00404 DWORD dwFilterIndex;
00405 DWORD dwFilterTag;
00406 DWORD fdwSupport;
00407 PWAVEFILTER pwfltr;
00408 DWORD cbwfltr;
00409 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
00410 } ACMFILTERDETAILSA, *PACMFILTERDETAILSA;
00411
00412 typedef struct _ACMFILTERDETAILSW
00413 {
00414 DWORD cbStruct;
00415 DWORD dwFilterIndex;
00416 DWORD dwFilterTag;
00417 DWORD fdwSupport;
00418 PWAVEFILTER pwfltr;
00419 DWORD cbwfltr;
00420 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
00421 } ACMFILTERDETAILSW, *PACMFILTERDETAILSW;
00422
00423 typedef struct _ACMFILTERDETAILS16
00424 {
00425 DWORD cbStruct;
00426 DWORD dwFilterIndex;
00427 DWORD dwFilterTag;
00428 DWORD fdwSupport;
00429 LPWAVEFILTER pwfltr;
00430 DWORD cbwfltr;
00431 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
00432 } ACMFILTERDETAILS16, *NPACMFILTERDETAILS16, *LPACMFILTERDETAILS16;
00433
00434 typedef struct _ACMFILTERTAGDETAILSA
00435 {
00436 DWORD cbStruct;
00437 DWORD dwFilterTagIndex;
00438 DWORD dwFilterTag;
00439 DWORD cbFilterSize;
00440 DWORD fdwSupport;
00441 DWORD cStandardFilters;
00442 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
00443 } ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA;
00444
00445 typedef struct _ACMFILTERTAGDETAILSW
00446 {
00447 DWORD cbStruct;
00448 DWORD dwFilterTagIndex;
00449 DWORD dwFilterTag;
00450 DWORD cbFilterSize;
00451 DWORD fdwSupport;
00452 DWORD cStandardFilters;
00453 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
00454 } ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW;
00455
00456 typedef struct _ACMFILTERTAGDETAILS16
00457 {
00458 DWORD cbStruct;
00459 DWORD dwFilterTagIndex;
00460 DWORD dwFilterTag;
00461 DWORD cbFilterSize;
00462 DWORD fdwSupport;
00463 DWORD cStandardFilters;
00464 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
00465 } ACMFILTERTAGDETAILS16, *NPACMFILTERTAGDETAILS16, *LPACMFILTERTAGDETAILS16;
00466
00467 typedef struct _ACMFORMATCHOOSEA
00468 {
00469 DWORD cbStruct;
00470 DWORD fdwStyle;
00471
00472 HWND hwndOwner;
00473
00474 PWAVEFORMATEX pwfx;
00475 DWORD cbwfx;
00476 LPCSTR pszTitle;
00477
00478 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
00479 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
00480
00481 LPSTR pszName;
00482 DWORD cchName;
00483
00484 DWORD fdwEnum;
00485 PWAVEFORMATEX pwfxEnum;
00486
00487 HINSTANCE hInstance;
00488 LPCSTR pszTemplateName;
00489 LPARAM lCustData;
00490 ACMFORMATCHOOSEHOOKPROCA pfnHook;
00491 } ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA;
00492
00493 typedef struct _ACMFORMATCHOOSEW
00494 {
00495 DWORD cbStruct;
00496 DWORD fdwStyle;
00497
00498 HWND hwndOwner;
00499
00500 PWAVEFORMATEX pwfx;
00501 DWORD cbwfx;
00502 LPCWSTR pszTitle;
00503
00504 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
00505 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
00506
00507 LPWSTR pszName;
00508 DWORD cchName;
00509
00510 DWORD fdwEnum;
00511 LPWAVEFORMATEX pwfxEnum;
00512
00513 HINSTANCE hInstance;
00514 LPCWSTR pszTemplateName;
00515 LPARAM lCustData;
00516 ACMFORMATCHOOSEHOOKPROCW pfnHook;
00517 } ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW;
00518
00519 typedef struct _ACMFORMATCHOOSE16
00520 {
00521 DWORD cbStruct;
00522 DWORD fdwStyle;
00523
00524 HWND16 hwndOwner;
00525
00526 LPWAVEFORMATEX pwfx;
00527 DWORD cbwfx;
00528 LPCSTR pszTitle;
00529
00530 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
00531 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
00532
00533 LPSTR pszName;
00534 DWORD cchName;
00535
00536 DWORD fdwEnum;
00537 LPWAVEFORMATEX pwfxEnum;
00538
00539 HINSTANCE16 hInstance;
00540 LPCSTR pszTemplateName;
00541 LPARAM lCustData;
00542 ACMFORMATCHOOSEHOOKPROC16 pfnHook;
00543 } ACMFORMATCHOOSE16, *NPACMFORMATCHOOSE16, *LPACMFORMATCHOOSE16;
00544
00545 typedef struct _ACMFORMATDETAILSA
00546 {
00547 DWORD cbStruct;
00548 DWORD dwFormatIndex;
00549 DWORD dwFormatTag;
00550 DWORD fdwSupport;
00551 PWAVEFORMATEX pwfx;
00552 DWORD cbwfx;
00553 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
00554 } ACMFORMATDETAILSA, *PACMFORMATDETAILSA;
00555
00556 typedef struct _ACMFORMATDETAILSW
00557 {
00558 DWORD cbStruct;
00559 DWORD dwFormatIndex;
00560 DWORD dwFormatTag;
00561 DWORD fdwSupport;
00562 PWAVEFORMATEX pwfx;
00563 DWORD cbwfx;
00564 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
00565 } ACMFORMATDETAILSW, *PACMFORMATDETAILSW;
00566
00567 typedef struct _ACMFORMATDETAILS16
00568 {
00569 DWORD cbStruct;
00570 DWORD dwFormatIndex;
00571 DWORD dwFormatTag;
00572 DWORD fdwSupport;
00573 LPWAVEFORMATEX pwfx;
00574 DWORD cbwfx;
00575 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
00576 } ACMFORMATDETAILS16, *NPACMFORMATDETAILS16, *LPACMFORMATDETAILS16;
00577
00578 typedef struct _ACMFORMATTAGDETAILSA
00579 {
00580 DWORD cbStruct;
00581 DWORD dwFormatTagIndex;
00582 DWORD dwFormatTag;
00583 DWORD cbFormatSize;
00584 DWORD fdwSupport;
00585 DWORD cStandardFormats;
00586 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
00587 } ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA;
00588
00589 typedef struct _ACMFORMATTAGDETAILSW
00590 {
00591 DWORD cbStruct;
00592 DWORD dwFormatTagIndex;
00593 DWORD dwFormatTag;
00594 DWORD cbFormatSize;
00595 DWORD fdwSupport;
00596 DWORD cStandardFormats;
00597 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
00598 } ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW;
00599
00600 typedef struct _ACMFORMATTAGDETAILS16
00601 {
00602 DWORD cbStruct;
00603 DWORD dwFormatTagIndex;
00604 DWORD dwFormatTag;
00605 DWORD cbFormatSize;
00606 DWORD fdwSupport;
00607 DWORD cStandardFormats;
00608 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
00609 } ACMFORMATTAGDETAILS16, *NPACMFORMATTAGDETAILS16, *LPACMFORMATTAGDETAILS16;
00610
00611 typedef struct _ACMSTREAMHEADER
00612 {
00613 DWORD cbStruct;
00614 DWORD fdwStatus;
00615 DWORD dwUser;
00616 LPBYTE pbSrc;
00617 DWORD cbSrcLength;
00618 DWORD cbSrcLengthUsed;
00619 DWORD dwSrcUser;
00620 LPBYTE pbDst;
00621 DWORD cbDstLength;
00622 DWORD cbDstLengthUsed;
00623 DWORD dwDstUser;
00624 DWORD dwReservedDriver[10];
00625 } ACMSTREAMHEADER16, *NPACMSTREAMHEADER16, *LPACMSTREAMHEADER16,
00626 ACMSTREAMHEADER, *PACMSTREAMHEADER;
00627
00628
00629
00630
00631
00632 typedef WIN_BOOL CALLBACK ( *ACMFILTERENUMCBA)(
00633 HACMDRIVERID hadid, PACMFILTERDETAILSA pafd,
00634 DWORD dwInstance, DWORD fdwSupport
00635 );
00636
00637 typedef WIN_BOOL CALLBACK ( *ACMFILTERENUMCBW)(
00638 HACMDRIVERID hadid, PACMFILTERDETAILSW pafd,
00639 DWORD dwInstance, DWORD fdwSupport
00640 );
00641
00642 typedef WIN_BOOL16 CALLBACK ( *ACMFILTERENUMCB16)(
00643 HACMDRIVERID16 hadid, LPACMFILTERDETAILS16 pafd,
00644 DWORD dwInstance, DWORD fdwSupport
00645 );
00646
00647 typedef WIN_BOOL CALLBACK ( *ACMFILTERTAGENUMCBA)(
00648 HACMDRIVERID hadid, PACMFILTERTAGDETAILSA paftd,
00649 DWORD dwInstance, DWORD fdwSupport
00650 );
00651
00652 typedef WIN_BOOL CALLBACK ( *ACMFILTERTAGENUMCBW)(
00653 HACMDRIVERID hadid, PACMFILTERTAGDETAILSW paftd,
00654 DWORD dwInstance, DWORD fdwSupport
00655 );
00656
00657 typedef WIN_BOOL16 CALLBACK ( *ACMFILTERTAGENUMCB16)(
00658 HACMDRIVERID16 hadid, LPACMFILTERTAGDETAILS16 paftd,
00659 DWORD dwInstance, DWORD fdwSupport
00660 );
00661
00662 typedef WIN_BOOL CALLBACK ( *ACMFORMATENUMCBA)(
00663 HACMDRIVERID hadid, PACMFORMATDETAILSA pafd,
00664 DWORD dwInstance, DWORD fdwSupport
00665 );
00666
00667 typedef WIN_BOOL CALLBACK ( *ACMFORMATENUMCBW)(
00668 HACMDRIVERID hadid, PACMFORMATDETAILSW pafd,
00669 DWORD dwInstance, DWORD fdwSupport
00670 );
00671
00672 typedef WIN_BOOL16 CALLBACK ( *ACMFORMATENUMCB16)(
00673 HACMDRIVERID16 hadid, LPACMFORMATDETAILS16 pafd,
00674 DWORD dwInstance, DWORD fdwSupport
00675 );
00676
00677 typedef WIN_BOOL CALLBACK ( *ACMFORMATTAGENUMCBA)(
00678 HACMDRIVERID hadid, PACMFORMATTAGDETAILSA paftd,
00679 DWORD dwInstance, DWORD fdwSupport
00680 );
00681
00682 typedef WIN_BOOL CALLBACK ( *ACMFORMATTAGENUMCBW)(
00683 HACMDRIVERID hadid, PACMFORMATTAGDETAILSW paftd,
00684 DWORD dwInstance, DWORD fdwSupport
00685 );
00686
00687 typedef WIN_BOOL16 CALLBACK ( *ACMFORMATTAGENUMCB16)(
00688 HACMDRIVERID16 hadid, LPACMFORMATTAGDETAILS16 paftd,
00689 DWORD dwInstance, DWORD fdwSupport
00690 );
00691
00692
00693
00694
00695
00696 DWORD WINAPI acmGetVersion16(
00697 );
00698 MMRESULT16 WINAPI acmMetrics16(
00699 HACMOBJ16 hao, UINT16 uMetric, LPVOID pMetric
00700 );
00701 MMRESULT16 WINAPI acmDriverEnum16(
00702 ACMDRIVERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
00703 );
00704 MMRESULT16 WINAPI acmDriverDetails16(
00705 HACMDRIVERID16 hadid, LPACMDRIVERDETAILS16 padd, DWORD fdwDetails
00706 );
00707 MMRESULT16 WINAPI acmDriverAdd16(
00708 LPHACMDRIVERID16 phadid, HINSTANCE16 hinstModule,
00709 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
00710 );
00711 MMRESULT16 WINAPI acmDriverRemove16(
00712 HACMDRIVERID16 hadid, DWORD fdwRemove
00713 );
00714 MMRESULT16 WINAPI acmDriverOpen16(
00715 LPHACMDRIVER16 phad, HACMDRIVERID16 hadid, DWORD fdwOpen
00716 );
00717 MMRESULT16 WINAPI acmDriverClose16(
00718 HACMDRIVER16 had, DWORD fdwClose
00719 );
00720 LRESULT WINAPI acmDriverMessage16(
00721 HACMDRIVER16 had, UINT16 uMsg, LPARAM lParam1, LPARAM lParam2
00722 );
00723 MMRESULT16 WINAPI acmDriverID16(
00724 HACMOBJ16 hao, LPHACMDRIVERID16 phadid, DWORD fdwDriverID
00725 );
00726 MMRESULT16 WINAPI acmDriverPriority16(
00727 HACMDRIVERID16 hadid, DWORD dwPriority, DWORD fdwPriority
00728 );
00729 MMRESULT16 WINAPI acmFormatTagDetails16(
00730 HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd, DWORD fdwDetails
00731 );
00732 MMRESULT16 WINAPI acmFormatTagEnum16(
00733 HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd,
00734 ACMFORMATTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
00735 );
00736 MMRESULT16 WINAPI acmFormatChoose16(
00737 LPACMFORMATCHOOSE16 pafmtc
00738 );
00739 MMRESULT16 WINAPI acmFormatDetails16(
00740 HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd, DWORD fdwDetails
00741 );
00742 MMRESULT16 WINAPI acmFormatEnum16(
00743 HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd,
00744 ACMFORMATENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
00745 );
00746 MMRESULT16 WINAPI acmFormatSuggest16(
00747 HACMDRIVER16 had, LPWAVEFORMATEX pwfxSrc,
00748 LPWAVEFORMATEX pwfxDst, DWORD cbwfxDst, DWORD fdwSuggest
00749 );
00750 MMRESULT16 WINAPI acmFilterTagDetails16(
00751 HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd, DWORD fdwDetails
00752 );
00753 MMRESULT16 WINAPI acmFilterTagEnum16(
00754 HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd,
00755 ACMFILTERTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
00756 );
00757 MMRESULT16 WINAPI acmFilterChoose16(
00758 LPACMFILTERCHOOSE16 pafltrc
00759 );
00760 MMRESULT16 WINAPI acmFilterDetails16(
00761 HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd, DWORD fdwDetails
00762 );
00763 MMRESULT16 WINAPI acmFilterEnum16(
00764 HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd,
00765 ACMFILTERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
00766 );
00767 MMRESULT16 WINAPI acmStreamOpen16(
00768 LPHACMSTREAM16 phas, HACMDRIVER16 had,
00769 LPWAVEFORMATEX pwfxSrc, LPWAVEFORMATEX pwfxDst,
00770 LPWAVEFILTER pwfltr, DWORD dwCallback,
00771 DWORD dwInstance, DWORD fdwOpen
00772 );
00773 MMRESULT16 WINAPI acmStreamClose16(
00774 HACMSTREAM16 has, DWORD fdwClose
00775 );
00776 MMRESULT16 WINAPI acmStreamSize16(
00777 HACMSTREAM16 has, DWORD cbInput,
00778 LPDWORD pdwOutputBytes, DWORD fdwSize
00779 );
00780 MMRESULT16 WINAPI acmStreamConvert16(
00781 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwConvert
00782 );
00783 MMRESULT16 WINAPI acmStreamReset16(
00784 HACMSTREAM16 has, DWORD fdwReset
00785 );
00786 MMRESULT16 WINAPI acmStreamPrepareHeader16(
00787 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwPrepare
00788 );
00789 MMRESULT16 WINAPI acmStreamUnprepareHeader16(
00790 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwUnprepare
00791 );
00792
00793
00794
00795
00796
00797 MMRESULT WINAPI acmDriverAddA(
00798 PHACMDRIVERID phadid, HINSTANCE hinstModule,
00799 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
00800 );
00801 MMRESULT WINAPI acmDriverAddW(
00802 PHACMDRIVERID phadid, HINSTANCE hinstModule,
00803 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
00804 );
00805 MMRESULT WINAPI acmDriverClose(
00806 HACMDRIVER had, DWORD fdwClose
00807 );
00808 MMRESULT WINAPI acmDriverDetailsA(
00809 HACMDRIVERID hadid, PACMDRIVERDETAILSA padd, DWORD fdwDetails
00810 );
00811 MMRESULT WINAPI acmDriverDetailsW(
00812 HACMDRIVERID hadid, PACMDRIVERDETAILSW padd, DWORD fdwDetails
00813 );
00814 MMRESULT WINAPI acmDriverEnum(
00815 ACMDRIVERENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum
00816 );
00817 MMRESULT WINAPI acmDriverID(
00818 HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID
00819 );
00820 LRESULT WINAPI acmDriverMessage(
00821 HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2
00822 );
00823 MMRESULT WINAPI acmDriverOpen(
00824 PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen
00825 );
00826 MMRESULT WINAPI acmDriverPriority(
00827 HACMDRIVERID hadid, DWORD dwPriority, DWORD fdwPriority
00828 );
00829 MMRESULT WINAPI acmDriverRemove(
00830 HACMDRIVERID hadid, DWORD fdwRemove
00831 );
00832 MMRESULT WINAPI acmFilterChooseA(
00833 PACMFILTERCHOOSEA pafltrc
00834 );
00835 MMRESULT WINAPI acmFilterChooseW(
00836 PACMFILTERCHOOSEW pafltrc
00837 );
00838 MMRESULT WINAPI acmFilterDetailsA(
00839 HACMDRIVER had, PACMFILTERDETAILSA pafd, DWORD fdwDetails
00840 );
00841 MMRESULT WINAPI acmFilterDetailsW(
00842 HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails
00843 );
00844 MMRESULT WINAPI acmFilterEnumA(
00845 HACMDRIVER had, PACMFILTERDETAILSA pafd,
00846 ACMFILTERENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
00847 );
00848 MMRESULT WINAPI acmFilterEnumW(
00849 HACMDRIVER had, PACMFILTERDETAILSW pafd,
00850 ACMFILTERENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
00851 );
00852 MMRESULT WINAPI acmFilterTagDetailsA(
00853 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, DWORD fdwDetails
00854 );
00855 MMRESULT WINAPI acmFilterTagDetailsW(
00856 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, DWORD fdwDetails
00857 );
00858 MMRESULT WINAPI acmFilterTagEnumA(
00859 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd,
00860 ACMFILTERTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
00861 );
00862 MMRESULT WINAPI acmFilterTagEnumW(
00863 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd,
00864 ACMFILTERTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
00865 );
00866 MMRESULT WINAPI acmFormatChooseA(
00867 PACMFORMATCHOOSEA pafmtc
00868 );
00869 MMRESULT WINAPI acmFormatChooseW(
00870 PACMFORMATCHOOSEW pafmtc
00871 );
00872 MMRESULT WINAPI acmFormatDetailsA(
00873 HACMDRIVER had, PACMFORMATDETAILSA pafd, DWORD fdwDetails
00874 );
00875 MMRESULT WINAPI acmFormatDetailsW(
00876 HACMDRIVER had, PACMFORMATDETAILSW pafd, DWORD fdwDetails
00877 );
00878 MMRESULT WINAPI acmFormatEnumA(
00879 HACMDRIVER had, PACMFORMATDETAILSA pafd,
00880 ACMFORMATENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
00881 );
00882 MMRESULT WINAPI acmFormatEnumW(
00883 HACMDRIVER had, PACMFORMATDETAILSW pafd,
00884 ACMFORMATENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
00885 );
00886 MMRESULT WINAPI acmFormatSuggest(
00887 HACMDRIVER had, PWAVEFORMATEX pwfxSrc, PWAVEFORMATEX pwfxDst,
00888 DWORD cbwfxDst, DWORD fdwSuggest
00889 );
00890 MMRESULT WINAPI acmFormatTagDetailsA(
00891 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, DWORD fdwDetails
00892 );
00893 MMRESULT WINAPI acmFormatTagDetailsW(
00894 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd, DWORD fdwDetails
00895 );
00896 MMRESULT WINAPI acmFormatTagEnumA(
00897 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd,
00898 ACMFORMATTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
00899 );
00900 MMRESULT WINAPI acmFormatTagEnumW(
00901 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd,
00902 ACMFORMATTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
00903 );
00904 DWORD WINAPI acmGetVersion(
00905 );
00906 MMRESULT WINAPI acmMetrics(
00907 HACMOBJ hao, UINT uMetric, LPVOID pMetric
00908 );
00909 MMRESULT WINAPI acmStreamClose(
00910 HACMSTREAM has, DWORD fdwClose
00911 );
00912 MMRESULT WINAPI acmStreamConvert(
00913 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwConvert
00914 );
00915 MMRESULT WINAPI acmStreamMessage(
00916 HACMSTREAM has, UINT uMsg, LPARAM lParam1, LPARAM lParam2
00917 );
00918 MMRESULT WINAPI acmStreamOpen(
00919 PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pwfxSrc,
00920 PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD dwCallback,
00921 DWORD dwInstance, DWORD fdwOpen
00922 );
00923 MMRESULT WINAPI acmStreamPrepareHeader(
00924 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwPrepare
00925 );
00926 MMRESULT WINAPI acmStreamReset(
00927 HACMSTREAM has, DWORD fdwReset
00928 );
00929 MMRESULT WINAPI acmStreamSize(
00930 HACMSTREAM has, DWORD cbInput,
00931 LPDWORD pdwOutputBytes, DWORD fdwSize
00932 );
00933 MMRESULT WINAPI acmStreamUnprepareHeader(
00934 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwUnprepare
00935 );
00936
00937 #ifdef __cplusplus
00938 }
00939 #endif
00940
00941 #endif
00942
00943