Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenmsacmdrv.h
Go to the documentation of this file.
00001 /* 00002 * Declarations for MSACM driver 00003 * 00004 * Copyright 1998 Patrik Stridvall 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_MSACMDRV_H 00022 #define __WINE_MSACMDRV_H 00023 00024 #include <stdarg.h> 00025 00026 #include <windef.h> 00027 #include <winbase.h> 00028 #include <mmsystem.h> 00029 #include <mmreg.h> 00030 #include <msacm.h> 00031 00032 /*********************************************************************** 00033 * Types 00034 */ 00035 00036 /*********************************************************************** 00037 * Defines/Enums 00038 */ 00039 00040 #define MAKE_ACM_VERSION(mjr, mnr, bld) \ 00041 (((LONG)(mjr)<<24) | ((LONG)(mnr)<<16) | ((LONG)bld)) 00042 00043 #define ACMDRVOPENDESC_SECTIONNAME_CHARS 00044 00045 #define ACMDM_DRIVER_NOTIFY (ACMDM_BASE + 1) 00046 #define ACMDM_DRIVER_DETAILS (ACMDM_BASE + 10) 00047 00048 #define ACMDM_HARDWARE_WAVE_CAPS_INPUT (ACMDM_BASE + 20) 00049 #define ACMDM_HARDWARE_WAVE_CAPS_OUTPUT (ACMDM_BASE + 21) 00050 00051 #define ACMDM_FORMATTAG_DETAILS (ACMDM_BASE + 25) 00052 #define ACMDM_FORMAT_DETAILS (ACMDM_BASE + 26) 00053 #define ACMDM_FORMAT_SUGGEST (ACMDM_BASE + 27) 00054 00055 #define ACMDM_FILTERTAG_DETAILS (ACMDM_BASE + 50) 00056 #define ACMDM_FILTER_DETAILS (ACMDM_BASE + 51) 00057 00058 #define ACMDM_STREAM_OPEN (ACMDM_BASE + 76) 00059 #define ACMDM_STREAM_CLOSE (ACMDM_BASE + 77) 00060 #define ACMDM_STREAM_SIZE (ACMDM_BASE + 78) 00061 #define ACMDM_STREAM_CONVERT (ACMDM_BASE + 79) 00062 #define ACMDM_STREAM_RESET (ACMDM_BASE + 80) 00063 #define ACMDM_STREAM_PREPARE (ACMDM_BASE + 81) 00064 #define ACMDM_STREAM_UNPREPARE (ACMDM_BASE + 82) 00065 #define ACMDM_STREAM_UPDATE (ACMDM_BASE + 83) 00066 00067 /*********************************************************************** 00068 * Structures 00069 */ 00070 00071 typedef struct _ACMDRVOPENDESCA 00072 { 00073 DWORD cbStruct; 00074 FOURCC fccType; 00075 FOURCC fccComp; 00076 DWORD dwVersion; 00077 DWORD dwFlags; 00078 DWORD dwError; 00079 LPCSTR pszSectionName; 00080 LPCSTR pszAliasName; 00081 DWORD dnDevNode; 00082 } ACMDRVOPENDESCA, *PACMDRVOPENDESCA; 00083 00084 typedef struct _ACMDRVOPENDESCW 00085 { 00086 DWORD cbStruct; 00087 FOURCC fccType; 00088 FOURCC fccComp; 00089 DWORD dwVersion; 00090 DWORD dwFlags; 00091 DWORD dwError; 00092 LPCWSTR pszSectionName; 00093 LPCWSTR pszAliasName; 00094 DWORD dnDevNode; 00095 } ACMDRVOPENDESCW, *PACMDRVOPENDESCW; 00096 00097 typedef struct _ACMDRVSTREAMINSTANCE 00098 { 00099 DWORD cbStruct; 00100 PWAVEFORMATEX pwfxSrc; 00101 PWAVEFORMATEX pwfxDst; 00102 PWAVEFILTER pwfltr; 00103 DWORD_PTR dwCallback; 00104 DWORD_PTR dwInstance; 00105 DWORD fdwOpen; 00106 DWORD fdwDriver; 00107 DWORD_PTR dwDriver; 00108 HACMSTREAM has; 00109 } ACMDRVSTREAMINSTANCE, *PACMDRVSTREAMINSTANCE; 00110 00111 typedef struct _ACMDRVSTREAMHEADER *PACMDRVSTREAMHEADER; 00112 typedef struct _ACMDRVSTREAMHEADER { 00113 DWORD cbStruct; 00114 DWORD fdwStatus; 00115 DWORD_PTR dwUser; 00116 LPBYTE pbSrc; 00117 DWORD cbSrcLength; 00118 DWORD cbSrcLengthUsed; 00119 DWORD_PTR dwSrcUser; 00120 LPBYTE pbDst; 00121 DWORD cbDstLength; 00122 DWORD cbDstLengthUsed; 00123 DWORD_PTR dwDstUser; 00124 00125 DWORD fdwConvert; 00126 PACMDRVSTREAMHEADER *padshNext; 00127 DWORD fdwDriver; 00128 DWORD_PTR dwDriver; 00129 00130 /* Internal fields for ACM */ 00131 DWORD fdwPrepared; 00132 DWORD_PTR dwPrepared; 00133 LPBYTE pbPreparedSrc; 00134 DWORD cbPreparedSrcLength; 00135 LPBYTE pbPreparedDst; 00136 DWORD cbPreparedDstLength; 00137 } ACMDRVSTREAMHEADER; 00138 00139 typedef struct _ACMDRVSTREAMSIZE 00140 { 00141 DWORD cbStruct; 00142 DWORD fdwSize; 00143 DWORD cbSrcLength; 00144 DWORD cbDstLength; 00145 } ACMDRVSTREAMSIZE, *PACMDRVSTREAMSIZE; 00146 00147 typedef struct _ACMDRVFORMATSUGGEST 00148 { 00149 DWORD cbStruct; 00150 DWORD fdwSuggest; 00151 PWAVEFORMATEX pwfxSrc; 00152 DWORD cbwfxSrc; 00153 PWAVEFORMATEX pwfxDst; 00154 DWORD cbwfxDst; 00155 } ACMDRVFORMATSUGGEST, *PACMDRVFORMATSUGGEST; 00156 00157 #endif /* __WINE_MSACMDRV_H */ Generated on Sat May 26 2012 04:32:08 for ReactOS by
1.7.6.1
|