Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenmsacm.h
Go to the documentation of this file.
00001 /* 00002 * Declarations for MSACM 00003 * 00004 * Copyright (C) the Wine project 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Lesser General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2.1 of the License, or (at your option) any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Lesser General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Lesser General Public 00017 * License along with this library; if not, write to the Free Software 00018 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00019 */ 00020 00021 #ifndef __WINE_MSACM_H 00022 #define __WINE_MSACM_H 00023 00024 #ifdef __cplusplus 00025 extern "C" { 00026 #endif /* defined(__cplusplus) */ 00027 00028 #include <pshpack1.h> 00029 00030 #define ACMAPI WINAPI 00031 00032 /*********************************************************************** 00033 * Defines/Enums 00034 */ 00035 #define ACMERR_BASE 512 00036 #define ACMERR_NOTPOSSIBLE (ACMERR_BASE + 0) 00037 #define ACMERR_BUSY (ACMERR_BASE + 1) 00038 #define ACMERR_UNPREPARED (ACMERR_BASE + 2) 00039 #define ACMERR_CANCELED (ACMERR_BASE + 3) 00040 00041 #define MM_ACM_OPEN MM_STREAM_OPEN 00042 #define MM_ACM_CLOSE MM_STREAM_CLOSE 00043 #define MM_ACM_DONE MM_STREAM_DONE 00044 00045 #define ACM_DRIVERADDF_NAME 0x00000001L 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 #if defined(__GNUC__) 00110 # define ACMHELPMSGSTRINGW (const WCHAR []){ 'a','c','m', \ 00111 'c','h','o','o','s','e','_','h','e','l','p',0 } 00112 #elif defined(_MSC_VER) 00113 # define ACMHELPMSGSTRINGW L"acmchoose_help" 00114 #else 00115 static const WCHAR ACMHELPMSGSTRINGW[] = { 'a','c','m', 00116 'c','h','o','o','s','e','_','h','e','l','p',0 }; 00117 #endif 00118 #define ACMHELPMSGSTRING WINELIB_NAME_AW(ACMHELPMSGSTRING) 00119 00120 #define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu" 00121 #if defined(__GNUC__) 00122 # define ACMHELPMSGCONTEXTMENUW (const WCHAR []){ 'a','c','m', \ 00123 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','m','e','n','u',0 } 00124 #elif defined(_MSC_VER) 00125 # define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu" 00126 #else 00127 static const WCHAR ACMHELPMSGCONTEXTMENUW[] = { 'a','c','m', 00128 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','m','e','n','u',0 }; 00129 #endif 00130 #define ACMHELPMSGCONTEXTMENU WINELIB_NAME_AW(ACMHELPMSGCONTEXTMENU) 00131 00132 #define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp" 00133 #if defined(__GNUC__) 00134 # define ACMHELPMSGCONTEXTHELPW (const WCHAR []){ 'a','c','m', \ 00135 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','h','e','l','p',0 } 00136 #elif defined(_MSC_VER) 00137 # define ACMHELPMSGCONTEXTHELPW L"acmchoose_contexthelp" 00138 #else 00139 static const WCHAR ACMHELPMSGCONTEXTHELPW[] = { 'a','c','m', 00140 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','h','e','l','p',0 }; 00141 #endif 00142 #define ACMHELPMSGCONTEXTHELP WINELIB_NAME_AW(ACMHELPMSGCONTEXTHELP) 00143 00144 #define MM_ACM_FORMATCHOOSE 0x8000 00145 00146 #define FORMATCHOOSE_MESSAGE 0 00147 #define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0) 00148 #define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1) 00149 #define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2) 00150 00151 #define ACMFORMATCHOOSE_STYLEF_SHOWHELP 0x00000004L 00152 #define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 0x00000008L 00153 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L 00154 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L 00155 #define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 0x00000040L 00156 #define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP 0x00000080L 00157 00158 #define ACMFORMATDETAILS_FORMAT_CHARS 128 00159 00160 #define ACM_FORMATDETAILSF_INDEX 0x00000000L 00161 #define ACM_FORMATDETAILSF_FORMAT 0x00000001L 00162 #define ACM_FORMATDETAILSF_QUERYMASK 0x0000000FL 00163 00164 #define ACM_FORMATENUMF_WFORMATTAG 0x00010000L 00165 #define ACM_FORMATENUMF_NCHANNELS 0x00020000L 00166 #define ACM_FORMATENUMF_NSAMPLESPERSEC 0x00040000L 00167 #define ACM_FORMATENUMF_WBITSPERSAMPLE 0x00080000L 00168 #define ACM_FORMATENUMF_CONVERT 0x00100000L 00169 #define ACM_FORMATENUMF_SUGGEST 0x00200000L 00170 #define ACM_FORMATENUMF_HARDWARE 0x00400000L 00171 #define ACM_FORMATENUMF_INPUT 0x00800000L 00172 #define ACM_FORMATENUMF_OUTPUT 0x01000000L 00173 00174 #define ACM_FORMATSUGGESTF_WFORMATTAG 0x00010000L 00175 #define ACM_FORMATSUGGESTF_NCHANNELS 0x00020000L 00176 #define ACM_FORMATSUGGESTF_NSAMPLESPERSEC 0x00040000L 00177 #define ACM_FORMATSUGGESTF_WBITSPERSAMPLE 0x00080000L 00178 #define ACM_FORMATSUGGESTF_TYPEMASK 0x00FF0000L 00179 00180 #define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48 00181 00182 #define ACM_FORMATTAGDETAILSF_INDEX 0x00000000L 00183 #define ACM_FORMATTAGDETAILSF_FORMATTAG 0x00000001L 00184 #define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L 00185 #define ACM_FORMATTAGDETAILSF_QUERYMASK 0x0000000FL 00186 00187 #define ACM_METRIC_COUNT_DRIVERS 1 00188 #define ACM_METRIC_COUNT_CODECS 2 00189 #define ACM_METRIC_COUNT_CONVERTERS 3 00190 #define ACM_METRIC_COUNT_FILTERS 4 00191 #define ACM_METRIC_COUNT_DISABLED 5 00192 #define ACM_METRIC_COUNT_HARDWARE 6 00193 #define ACM_METRIC_COUNT_LOCAL_DRIVERS 20 00194 #define ACM_METRIC_COUNT_LOCAL_CODECS 21 00195 #define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22 00196 #define ACM_METRIC_COUNT_LOCAL_FILTERS 23 00197 #define ACM_METRIC_COUNT_LOCAL_DISABLED 24 00198 #define ACM_METRIC_HARDWARE_WAVE_INPUT 30 00199 #define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31 00200 #define ACM_METRIC_MAX_SIZE_FORMAT 50 00201 #define ACM_METRIC_MAX_SIZE_FILTER 51 00202 #define ACM_METRIC_DRIVER_SUPPORT 100 00203 #define ACM_METRIC_DRIVER_PRIORITY 101 00204 00205 #define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004 00206 #define ACM_STREAMCONVERTF_START 0x00000010 00207 #define ACM_STREAMCONVERTF_END 0x00000020 00208 00209 #define ACMSTREAMHEADER_STATUSF_DONE 0x00010000L 00210 #define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L 00211 #define ACMSTREAMHEADER_STATUSF_INQUEUE 0x00100000L 00212 00213 #define ACM_STREAMOPENF_QUERY 0x00000001 00214 #define ACM_STREAMOPENF_ASYNC 0x00000002 00215 #define ACM_STREAMOPENF_NONREALTIME 0x00000004 00216 00217 #define ACM_STREAMSIZEF_SOURCE 0x00000000L 00218 #define ACM_STREAMSIZEF_DESTINATION 0x00000001L 00219 #define ACM_STREAMSIZEF_QUERYMASK 0x0000000FL 00220 00221 #define ACMDM_USER (DRV_USER + 0x0000) 00222 #define ACMDM_RESERVED_LOW (DRV_USER + 0x2000) 00223 #define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF) 00224 00225 #define ACMDM_BASE ACMDM_RESERVED_LOW 00226 00227 #define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11) 00228 00229 /* handles */ 00230 00231 DECLARE_HANDLE(HACMDRIVERID); 00232 DECLARE_HANDLE(HACMDRIVER); 00233 DECLARE_HANDLE(HACMSTREAM); 00234 DECLARE_HANDLE(HACMOBJ); 00235 typedef HACMDRIVERID *PHACMDRIVERID, *LPHACMDRIVERID; 00236 typedef HACMDRIVER *PHACMDRIVER, *LPHACMDRIVER; 00237 typedef HACMSTREAM *PHACMSTREAM, *LPHACMSTREAM; 00238 typedef HACMOBJ *PHACMOBJ, *LPHACMOBJ; 00239 00240 /*********************************************************************** 00241 * Callbacks 00242 */ 00243 00244 typedef BOOL (CALLBACK *ACMDRIVERENUMCB)( 00245 HACMDRIVERID hadid, DWORD_PTR dwInstance, DWORD fdwSupport 00246 ); 00247 00248 typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROCA)( 00249 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam 00250 ); 00251 00252 typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROCW)( 00253 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam 00254 ); 00255 #define ACMFILTERCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFILTERCHOOSEHOOKPROC) 00256 00257 typedef UINT (CALLBACK *ACMFORMATCHOOSEHOOKPROCA)( 00258 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam 00259 ); 00260 00261 typedef UINT (CALLBACK *ACMFORMATCHOOSEHOOKPROCW)( 00262 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam 00263 ); 00264 #define ACMFORMATCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFORMATCHOOSEHOOKPROC) 00265 00266 /*********************************************************************** 00267 * Structures 00268 */ 00269 00270 typedef struct _ACMDRIVERDETAILSA 00271 { 00272 DWORD cbStruct; 00273 00274 FOURCC fccType; 00275 FOURCC fccComp; 00276 00277 WORD wMid; 00278 WORD wPid; 00279 00280 DWORD vdwACM; 00281 DWORD vdwDriver; 00282 00283 DWORD fdwSupport; 00284 DWORD cFormatTags; 00285 DWORD cFilterTags; 00286 00287 HICON hicon; 00288 00289 CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS]; 00290 CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS]; 00291 CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS]; 00292 CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS]; 00293 CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS]; 00294 } ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA, *LPACMDRIVERDETAILSA; 00295 00296 typedef struct _ACMDRIVERDETAILSW 00297 { 00298 DWORD cbStruct; 00299 00300 FOURCC fccType; 00301 FOURCC fccComp; 00302 00303 WORD wMid; 00304 WORD wPid; 00305 00306 DWORD vdwACM; 00307 DWORD vdwDriver; 00308 00309 DWORD fdwSupport; 00310 DWORD cFormatTags; 00311 DWORD cFilterTags; 00312 00313 HICON hicon; 00314 00315 WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS]; 00316 WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS]; 00317 WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS]; 00318 WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS]; 00319 WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS]; 00320 } ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW, *LPACMDRIVERDETAILSW; 00321 00322 DECL_WINELIB_TYPE_AW(ACMDRIVERDETAILS) 00323 DECL_WINELIB_TYPE_AW(PACMDRIVERDETAILS) 00324 DECL_WINELIB_TYPE_AW(LPACMDRIVERDETAILS) 00325 00326 typedef struct tACMFILTERCHOOSEA 00327 { 00328 DWORD cbStruct; 00329 DWORD fdwStyle; 00330 00331 HWND hwndOwner; 00332 00333 PWAVEFILTER pwfltr; 00334 DWORD cbwfltr; 00335 00336 LPCSTR pszTitle; 00337 00338 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]; 00339 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS]; 00340 LPSTR pszName; 00341 DWORD cchName; 00342 00343 DWORD fdwEnum; 00344 PWAVEFILTER pwfltrEnum; 00345 00346 HINSTANCE hInstance; 00347 LPCSTR pszTemplateName; 00348 LPARAM lCustData; 00349 ACMFILTERCHOOSEHOOKPROCA pfnHook; 00350 } ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA, *LPACMFILTERCHOOSEA; 00351 00352 typedef struct _ACMFILTERCHOOSEW 00353 { 00354 DWORD cbStruct; 00355 DWORD fdwStyle; 00356 00357 HWND hwndOwner; 00358 00359 PWAVEFILTER pwfltr; 00360 DWORD cbwfltr; 00361 00362 LPCWSTR pszTitle; 00363 00364 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]; 00365 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS]; 00366 LPWSTR pszName; 00367 DWORD cchName; 00368 00369 DWORD fdwEnum; 00370 PWAVEFILTER pwfltrEnum; 00371 00372 HINSTANCE hInstance; 00373 LPCWSTR pszTemplateName; 00374 LPARAM lCustData; 00375 ACMFILTERCHOOSEHOOKPROCW pfnHook; 00376 } ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW, *LPACMFILTERCHOOSEW; 00377 00378 DECL_WINELIB_TYPE_AW(ACMFILTERCHOOSE) 00379 DECL_WINELIB_TYPE_AW(PACMFILTERCHOOSE) 00380 DECL_WINELIB_TYPE_AW(LPACMFILTERCHOOSE) 00381 00382 typedef struct _ACMFILTERDETAILSA 00383 { 00384 DWORD cbStruct; 00385 DWORD dwFilterIndex; 00386 DWORD dwFilterTag; 00387 DWORD fdwSupport; 00388 PWAVEFILTER pwfltr; 00389 DWORD cbwfltr; 00390 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS]; 00391 } ACMFILTERDETAILSA, *PACMFILTERDETAILSA, *LPACMFILTERDETAILSA; 00392 00393 typedef struct _ACMFILTERDETAILSW 00394 { 00395 DWORD cbStruct; 00396 DWORD dwFilterIndex; 00397 DWORD dwFilterTag; 00398 DWORD fdwSupport; 00399 PWAVEFILTER pwfltr; 00400 DWORD cbwfltr; 00401 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS]; 00402 } ACMFILTERDETAILSW, *PACMFILTERDETAILSW, *LPACMFILTERDETAILSW; 00403 00404 DECL_WINELIB_TYPE_AW(ACMFILTERDETAILS) 00405 DECL_WINELIB_TYPE_AW(PACMFILTERDETAILS) 00406 DECL_WINELIB_TYPE_AW(LPACMFILTERDETAILS) 00407 00408 typedef struct _ACMFILTERTAGDETAILSA 00409 { 00410 DWORD cbStruct; 00411 DWORD dwFilterTagIndex; 00412 DWORD dwFilterTag; 00413 DWORD cbFilterSize; 00414 DWORD fdwSupport; 00415 DWORD cStandardFilters; 00416 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]; 00417 } ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA, *LPACMFILTERTAGDETAILSA; 00418 00419 typedef struct _ACMFILTERTAGDETAILSW 00420 { 00421 DWORD cbStruct; 00422 DWORD dwFilterTagIndex; 00423 DWORD dwFilterTag; 00424 DWORD cbFilterSize; 00425 DWORD fdwSupport; 00426 DWORD cStandardFilters; 00427 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]; 00428 } ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW, *LPACMFILTERTAGDETAILSW; 00429 00430 DECL_WINELIB_TYPE_AW(ACMFILTERTAGDETAILS) 00431 DECL_WINELIB_TYPE_AW(PACMFILTERTAGDETAILS) 00432 DECL_WINELIB_TYPE_AW(LPACMFILTERTAGDETAILS) 00433 00434 typedef struct _ACMFORMATCHOOSEA 00435 { 00436 DWORD cbStruct; 00437 DWORD fdwStyle; 00438 00439 HWND hwndOwner; 00440 00441 PWAVEFORMATEX pwfx; 00442 DWORD cbwfx; 00443 LPCSTR pszTitle; 00444 00445 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]; 00446 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; 00447 00448 LPSTR pszName; 00449 DWORD cchName; 00450 00451 DWORD fdwEnum; 00452 PWAVEFORMATEX pwfxEnum; 00453 00454 HINSTANCE hInstance; 00455 LPCSTR pszTemplateName; 00456 LPARAM lCustData; 00457 ACMFORMATCHOOSEHOOKPROCA pfnHook; 00458 } ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA, *LPACMFORMATCHOOSEA; 00459 00460 typedef struct _ACMFORMATCHOOSEW 00461 { 00462 DWORD cbStruct; 00463 DWORD fdwStyle; 00464 00465 HWND hwndOwner; 00466 00467 PWAVEFORMATEX pwfx; 00468 DWORD cbwfx; 00469 LPCWSTR pszTitle; 00470 00471 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]; 00472 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; 00473 00474 LPWSTR pszName; 00475 DWORD cchName; 00476 00477 DWORD fdwEnum; 00478 LPWAVEFORMATEX pwfxEnum; 00479 00480 HINSTANCE hInstance; 00481 LPCWSTR pszTemplateName; 00482 LPARAM lCustData; 00483 ACMFORMATCHOOSEHOOKPROCW pfnHook; 00484 } ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW, *LPACMFORMATCHOOSEW; 00485 00486 DECL_WINELIB_TYPE_AW(ACMFORMATCHOOSE) 00487 DECL_WINELIB_TYPE_AW(PACMFORMATCHOOSE) 00488 DECL_WINELIB_TYPE_AW(LPACMFORMATCHOOSE) 00489 00490 typedef struct _ACMFORMATDETAILSA 00491 { 00492 DWORD cbStruct; 00493 DWORD dwFormatIndex; 00494 DWORD dwFormatTag; 00495 DWORD fdwSupport; 00496 PWAVEFORMATEX pwfx; 00497 DWORD cbwfx; 00498 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; 00499 } ACMFORMATDETAILSA, *PACMFORMATDETAILSA, *LPACMFORMATDETAILSA; 00500 00501 typedef struct _ACMFORMATDETAILSW 00502 { 00503 DWORD cbStruct; 00504 DWORD dwFormatIndex; 00505 DWORD dwFormatTag; 00506 DWORD fdwSupport; 00507 PWAVEFORMATEX pwfx; 00508 DWORD cbwfx; 00509 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; 00510 } ACMFORMATDETAILSW, *PACMFORMATDETAILSW, *LPACMFORMATDETAILSW; 00511 00512 DECL_WINELIB_TYPE_AW(ACMFORMATDETAILS) 00513 DECL_WINELIB_TYPE_AW(PACMFORMATDETAILS) 00514 DECL_WINELIB_TYPE_AW(LPACMFORMATDETAILS) 00515 00516 typedef struct _ACMFORMATTAGDETAILSA 00517 { 00518 DWORD cbStruct; 00519 DWORD dwFormatTagIndex; 00520 DWORD dwFormatTag; 00521 DWORD cbFormatSize; 00522 DWORD fdwSupport; 00523 DWORD cStandardFormats; 00524 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]; 00525 } ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA, *LPACMFORMATTAGDETAILSA; 00526 00527 typedef struct _ACMFORMATTAGDETAILSW 00528 { 00529 DWORD cbStruct; 00530 DWORD dwFormatTagIndex; 00531 DWORD dwFormatTag; 00532 DWORD cbFormatSize; 00533 DWORD fdwSupport; 00534 DWORD cStandardFormats; 00535 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]; 00536 } ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW, *LPACMFORMATTAGDETAILSW; 00537 00538 DECL_WINELIB_TYPE_AW(ACMFORMATTAGDETAILS) 00539 DECL_WINELIB_TYPE_AW(PACMFORMATTAGDETAILS) 00540 DECL_WINELIB_TYPE_AW(LPACMFORMATTAGDETAILS) 00541 00542 #ifdef _WIN64 00543 # define _ACMSTREAMHEADERRESERVE 15 00544 #else 00545 # define _ACMSTREAMHEADERRESERVE 10 00546 #endif 00547 00548 typedef struct _ACMSTREAMHEADER 00549 { 00550 DWORD cbStruct; 00551 DWORD fdwStatus; 00552 DWORD_PTR dwUser; 00553 LPBYTE pbSrc; 00554 DWORD cbSrcLength; 00555 DWORD cbSrcLengthUsed; 00556 DWORD_PTR dwSrcUser; 00557 LPBYTE pbDst; 00558 DWORD cbDstLength; 00559 DWORD cbDstLengthUsed; 00560 DWORD_PTR dwDstUser; 00561 DWORD dwReservedDriver[_ACMSTREAMHEADERRESERVE]; 00562 } ACMSTREAMHEADER, *PACMSTREAMHEADER, *LPACMSTREAMHEADER; 00563 00564 #undef _ACMSTREAMHEADERRESERVE 00565 00566 /*********************************************************************** 00567 * Callbacks 2 00568 */ 00569 00570 typedef BOOL (CALLBACK *ACMFILTERENUMCBA)( 00571 HACMDRIVERID hadid, PACMFILTERDETAILSA pafd, 00572 DWORD_PTR dwInstance, DWORD fdwSupport 00573 ); 00574 00575 typedef BOOL (CALLBACK *ACMFILTERENUMCBW)( 00576 HACMDRIVERID hadid, PACMFILTERDETAILSW pafd, 00577 DWORD_PTR dwInstance, DWORD fdwSupport 00578 ); 00579 00580 #define ACMFILTERENUMCB WINELIB_NAME_AW(ACMFILTERENUMCB) 00581 00582 typedef BOOL (CALLBACK *ACMFILTERTAGENUMCBA)( 00583 HACMDRIVERID hadid, PACMFILTERTAGDETAILSA paftd, 00584 DWORD_PTR dwInstance, DWORD fdwSupport 00585 ); 00586 00587 typedef BOOL (CALLBACK *ACMFILTERTAGENUMCBW)( 00588 HACMDRIVERID hadid, PACMFILTERTAGDETAILSW paftd, 00589 DWORD_PTR dwInstance, DWORD fdwSupport 00590 ); 00591 00592 #define ACMFILTERTAGENUMCB WINELIB_NAME_AW(ACMFILTERTAGENUMCB) 00593 00594 typedef BOOL (CALLBACK *ACMFORMATENUMCBA)( 00595 HACMDRIVERID hadid, PACMFORMATDETAILSA pafd, 00596 DWORD_PTR dwInstance, DWORD fdwSupport 00597 ); 00598 00599 typedef BOOL (CALLBACK *ACMFORMATENUMCBW)( 00600 HACMDRIVERID hadid, PACMFORMATDETAILSW pafd, 00601 DWORD_PTR dwInstance, DWORD fdwSupport 00602 ); 00603 00604 #define ACMFORMATENUMCB WINELIB_NAME_AW(ACMFORMATENUMCB) 00605 00606 typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBA)( 00607 HACMDRIVERID hadid, PACMFORMATTAGDETAILSA paftd, 00608 DWORD_PTR dwInstance, DWORD fdwSupport 00609 ); 00610 00611 typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBW)( 00612 HACMDRIVERID hadid, PACMFORMATTAGDETAILSW paftd, 00613 DWORD_PTR dwInstance, DWORD fdwSupport 00614 ); 00615 00616 #define ACMFORMATTAGENUMCB WINELIB_NAME_AW(ACMFORMATTAGENUMCB) 00617 00618 /*********************************************************************** 00619 * Functions - Win32 00620 */ 00621 00622 MMRESULT WINAPI acmDriverAddA( 00623 PHACMDRIVERID phadid, HINSTANCE hinstModule, 00624 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd 00625 ); 00626 MMRESULT WINAPI acmDriverAddW( 00627 PHACMDRIVERID phadid, HINSTANCE hinstModule, 00628 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd 00629 ); 00630 #define acmDriverAdd WINELIB_NAME_AW(acmDriverAdd) 00631 00632 MMRESULT WINAPI acmDriverClose( 00633 HACMDRIVER had, DWORD fdwClose 00634 ); 00635 MMRESULT WINAPI acmDriverDetailsA( 00636 HACMDRIVERID hadid, PACMDRIVERDETAILSA padd, DWORD fdwDetails 00637 ); 00638 MMRESULT WINAPI acmDriverDetailsW( 00639 HACMDRIVERID hadid, PACMDRIVERDETAILSW padd, DWORD fdwDetails 00640 ); 00641 #define acmDriverDetails WINELIB_NAME_AW(acmDriverDetails) 00642 00643 MMRESULT WINAPI acmDriverEnum( 00644 ACMDRIVERENUMCB fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 00645 ); 00646 MMRESULT WINAPI acmDriverID( 00647 HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID 00648 ); 00649 LRESULT WINAPI acmDriverMessage( 00650 HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2 00651 ); 00652 MMRESULT WINAPI acmDriverOpen( 00653 PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen 00654 ); 00655 MMRESULT WINAPI acmDriverPriority( 00656 HACMDRIVERID hadid, DWORD dwPriority, DWORD fdwPriority 00657 ); 00658 MMRESULT WINAPI acmDriverRemove( 00659 HACMDRIVERID hadid, DWORD fdwRemove 00660 ); 00661 MMRESULT WINAPI acmFilterChooseA( 00662 PACMFILTERCHOOSEA pafltrc 00663 ); 00664 MMRESULT WINAPI acmFilterChooseW( 00665 PACMFILTERCHOOSEW pafltrc 00666 ); 00667 #define acmFilterChoose WINELIB_NAME_AW(acmFilterChoose) 00668 00669 MMRESULT WINAPI acmFilterDetailsA( 00670 HACMDRIVER had, PACMFILTERDETAILSA pafd, DWORD fdwDetails 00671 ); 00672 MMRESULT WINAPI acmFilterDetailsW( 00673 HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails 00674 ); 00675 #define acmFilterDetails WINELIB_NAME_AW(acmFilterDetails) 00676 00677 MMRESULT WINAPI acmFilterEnumA( 00678 HACMDRIVER had, PACMFILTERDETAILSA pafd, 00679 ACMFILTERENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 00680 ); 00681 MMRESULT WINAPI acmFilterEnumW( 00682 HACMDRIVER had, PACMFILTERDETAILSW pafd, 00683 ACMFILTERENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 00684 ); 00685 #define acmFilterEnum WINELIB_NAME_AW(acmFilterEnum) 00686 00687 MMRESULT WINAPI acmFilterTagDetailsA( 00688 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, DWORD fdwDetails 00689 ); 00690 MMRESULT WINAPI acmFilterTagDetailsW( 00691 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, DWORD fdwDetails 00692 ); 00693 #define acmFilterTagDetails WINELIB_NAME_AW(acmFilterTagDetails) 00694 00695 MMRESULT WINAPI acmFilterTagEnumA( 00696 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, 00697 ACMFILTERTAGENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 00698 ); 00699 MMRESULT WINAPI acmFilterTagEnumW( 00700 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, 00701 ACMFILTERTAGENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 00702 ); 00703 #define acmFilterTagEnum WINELIB_NAME_AW(acmFilterTagEnum) 00704 00705 MMRESULT WINAPI acmFormatChooseA( 00706 PACMFORMATCHOOSEA pafmtc 00707 ); 00708 MMRESULT WINAPI acmFormatChooseW( 00709 PACMFORMATCHOOSEW pafmtc 00710 ); 00711 #define acmFormatChoose WINELIB_NAME_AW(acmFormatChoose) 00712 00713 MMRESULT WINAPI acmFormatDetailsA( 00714 HACMDRIVER had, PACMFORMATDETAILSA pafd, DWORD fdwDetails 00715 ); 00716 MMRESULT WINAPI acmFormatDetailsW( 00717 HACMDRIVER had, PACMFORMATDETAILSW pafd, DWORD fdwDetails 00718 ); 00719 #define acmFormatDetails WINELIB_NAME_AW(acmFormatDetails) 00720 00721 MMRESULT WINAPI acmFormatEnumA( 00722 HACMDRIVER had, PACMFORMATDETAILSA pafd, 00723 ACMFORMATENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 00724 ); 00725 MMRESULT WINAPI acmFormatEnumW( 00726 HACMDRIVER had, PACMFORMATDETAILSW pafd, 00727 ACMFORMATENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 00728 ); 00729 #define acmFormatEnum WINELIB_NAME_AW(acmFormatEnum) 00730 00731 MMRESULT WINAPI acmFormatSuggest( 00732 HACMDRIVER had, PWAVEFORMATEX pwfxSrc, PWAVEFORMATEX pwfxDst, 00733 DWORD cbwfxDst, DWORD fdwSuggest 00734 ); 00735 MMRESULT WINAPI acmFormatTagDetailsA( 00736 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, DWORD fdwDetails 00737 ); 00738 MMRESULT WINAPI acmFormatTagDetailsW( 00739 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd, DWORD fdwDetails 00740 ); 00741 #define acmFormatTagDetails WINELIB_NAME_AW(acmFormatTagDetails) 00742 00743 MMRESULT WINAPI acmFormatTagEnumA( 00744 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, 00745 ACMFORMATTAGENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 00746 ); 00747 MMRESULT WINAPI acmFormatTagEnumW( 00748 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd, 00749 ACMFORMATTAGENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum 00750 ); 00751 #define acmFormatTagEnum WINELIB_NAME_AW(acmFormatTagEnum) 00752 00753 DWORD WINAPI acmGetVersion(void 00754 ); 00755 MMRESULT WINAPI acmMetrics( 00756 HACMOBJ hao, UINT uMetric, LPVOID pMetric 00757 ); 00758 MMRESULT WINAPI acmStreamClose( 00759 HACMSTREAM has, DWORD fdwClose 00760 ); 00761 MMRESULT WINAPI acmStreamConvert( 00762 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwConvert 00763 ); 00764 MMRESULT WINAPI acmStreamMessage( 00765 HACMSTREAM has, UINT uMsg, LPARAM lParam1, LPARAM lParam2 00766 ); 00767 MMRESULT WINAPI acmStreamOpen( 00768 PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pwfxSrc, 00769 PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD_PTR dwCallback, 00770 DWORD_PTR dwInstance, DWORD fdwOpen 00771 ); 00772 MMRESULT WINAPI acmStreamPrepareHeader( 00773 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwPrepare 00774 ); 00775 MMRESULT WINAPI acmStreamReset( 00776 HACMSTREAM has, DWORD fdwReset 00777 ); 00778 MMRESULT WINAPI acmStreamSize( 00779 HACMSTREAM has, DWORD cbInput, 00780 LPDWORD pdwOutputBytes, DWORD fdwSize 00781 ); 00782 MMRESULT WINAPI acmStreamUnprepareHeader( 00783 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwUnprepare 00784 ); 00785 00786 #include <poppack.h> 00787 00788 #ifdef __cplusplus 00789 } /* extern "C" */ 00790 #endif /* defined(__cplusplus) */ 00791 00792 #endif /* __WINE_MSACM_H */ Generated on Sun May 27 2012 04:31:41 for ReactOS by
1.7.6.1
|