ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

msacm.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.