00001
00002
00003
00004
00005 #ifndef __WINE_MSACMDRV_H
00006 #define __WINE_MSACMDRV_H
00007
00008 #include "windef.h"
00009 #include "msacm.h"
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #define MAKE_ACM_VERSION(mjr, mnr, bld) \
00020 (((long)(mjr)<<24) | ((long)(mnr)<<16) | ((long)bld))
00021
00022 #define ACMDRVOPENDESC_SECTIONNAME_CHARS
00023
00024 #define ACMDM_DRIVER_NOTIFY (ACMDM_BASE + 1)
00025 #define ACMDM_DRIVER_DETAILS (ACMDM_BASE + 10)
00026
00027 #define ACMDM_HARDWARE_WAVE_CAPS_INPUT (ACMDM_BASE + 20)
00028 #define ACMDM_HARDWARE_WAVE_CAPS_OUTPUT (ACMDM_BASE + 21)
00029
00030 #define ACMDM_FORMATTAG_DETAILS (ACMDM_BASE + 25)
00031 #define ACMDM_FORMAT_DETAILS (ACMDM_BASE + 26)
00032 #define ACMDM_FORMAT_SUGGEST (ACMDM_BASE + 27)
00033
00034 #define ACMDM_FILTERTAG_DETAILS (ACMDM_BASE + 50)
00035 #define ACMDM_FILTER_DETAILS (ACMDM_BASE + 51)
00036
00037 #define ACMDM_STREAM_OPEN (ACMDM_BASE + 76)
00038 #define ACMDM_STREAM_CLOSE (ACMDM_BASE + 77)
00039 #define ACMDM_STREAM_SIZE (ACMDM_BASE + 78)
00040 #define ACMDM_STREAM_CONVERT (ACMDM_BASE + 79)
00041 #define ACMDM_STREAM_RESET (ACMDM_BASE + 80)
00042 #define ACMDM_STREAM_PREPARE (ACMDM_BASE + 81)
00043 #define ACMDM_STREAM_UNPREPARE (ACMDM_BASE + 82)
00044 #define ACMDM_STREAM_UPDATE (ACMDM_BASE + 83)
00045
00046
00047
00048
00049
00050 typedef struct _ACMDRVOPENDESCA
00051 {
00052 DWORD cbStruct;
00053 FOURCC fccType;
00054 FOURCC fccComp;
00055 DWORD dwVersion;
00056 DWORD dwFlags;
00057 DWORD dwError;
00058 LPCSTR pszSectionName;
00059 LPCSTR pszAliasName;
00060 DWORD dnDevNode;
00061 } ACMDRVOPENDESCA, *PACMDRVOPENDESCA;
00062
00063 typedef struct _ACMDRVOPENDESCW
00064 {
00065 DWORD cbStruct;
00066 FOURCC fccType;
00067 FOURCC fccComp;
00068 DWORD dwVersion;
00069 DWORD dwFlags;
00070 DWORD dwError;
00071 LPCWSTR pszSectionName;
00072 LPCWSTR pszAliasName;
00073 DWORD dnDevNode;
00074 } ACMDRVOPENDESCW, *PACMDRVOPENDESCW;
00075
00076 typedef struct _ACMDRVOPENDESC16
00077 {
00078 DWORD cbStruct;
00079 FOURCC fccType;
00080 FOURCC fccComp;
00081 DWORD dwVersion;
00082 DWORD dwFlags;
00083 DWORD dwError;
00084 LPCSTR pszSectionName;
00085 LPCSTR pszAliasName;
00086 DWORD dnDevNode;
00087 } ACMDRVOPENDESC16, *NPACMDRVOPENDESC16, *LPACMDRVOPENDESC16;
00088
00089 typedef struct _ACMDRVSTREAMINSTANCE16
00090 {
00091 DWORD cbStruct;
00092 LPWAVEFORMATEX pwfxSrc;
00093 LPWAVEFORMATEX pwfxDst;
00094 LPWAVEFILTER pwfltr;
00095 DWORD dwCallback;
00096 DWORD dwInstance;
00097 DWORD fdwOpen;
00098 DWORD fdwDriver;
00099 DWORD dwDriver;
00100 HACMSTREAM16 has;
00101 } ACMDRVSTREAMINSTANCE16, *NPACMDRVSTREAMINSTANCE16, *LPACMDRVSTREAMINSTANCE16;
00102
00103 typedef struct _ACMDRVSTREAMINSTANCE
00104 {
00105 DWORD cbStruct;
00106 PWAVEFORMATEX pwfxSrc;
00107 PWAVEFORMATEX pwfxDst;
00108 PWAVEFILTER pwfltr;
00109 DWORD dwCallback;
00110 DWORD dwInstance;
00111 DWORD fdwOpen;
00112 DWORD fdwDriver;
00113 DWORD dwDriver;
00114 HACMSTREAM has;
00115 } ACMDRVSTREAMINSTANCE, *PACMDRVSTREAMINSTANCE;
00116
00117
00118 typedef struct _ACMDRVSTREAMHEADER16 *LPACMDRVSTREAMHEADER16;
00119 typedef struct _ACMDRVSTREAMHEADER16 {
00120 DWORD cbStruct;
00121 DWORD fdwStatus;
00122 DWORD dwUser;
00123 LPBYTE pbSrc;
00124 DWORD cbSrcLength;
00125 DWORD cbSrcLengthUsed;
00126 DWORD dwSrcUser;
00127 LPBYTE pbDst;
00128 DWORD cbDstLength;
00129 DWORD cbDstLengthUsed;
00130 DWORD dwDstUser;
00131
00132 DWORD fdwConvert;
00133 LPACMDRVSTREAMHEADER16 *padshNext;
00134 DWORD fdwDriver;
00135 DWORD dwDriver;
00136
00137
00138 DWORD fdwPrepared;
00139 DWORD dwPrepared;
00140 LPBYTE pbPreparedSrc;
00141 DWORD cbPreparedSrcLength;
00142 LPBYTE pbPreparedDst;
00143 DWORD cbPreparedDstLength;
00144 } ACMDRVSTREAMHEADER16, *NPACMDRVSTREAMHEADER16;
00145
00146 typedef struct _ACMDRVSTREAMHEADER *PACMDRVSTREAMHEADER;
00147 typedef struct _ACMDRVSTREAMHEADER {
00148 DWORD cbStruct;
00149 DWORD fdwStatus;
00150 DWORD dwUser;
00151 LPBYTE pbSrc;
00152 DWORD cbSrcLength;
00153 DWORD cbSrcLengthUsed;
00154 DWORD dwSrcUser;
00155 LPBYTE pbDst;
00156 DWORD cbDstLength;
00157 DWORD cbDstLengthUsed;
00158 DWORD dwDstUser;
00159
00160 DWORD fdwConvert;
00161 PACMDRVSTREAMHEADER *padshNext;
00162 DWORD fdwDriver;
00163 DWORD dwDriver;
00164
00165
00166 DWORD fdwPrepared;
00167 DWORD dwPrepared;
00168 LPBYTE pbPreparedSrc;
00169 DWORD cbPreparedSrcLength;
00170 LPBYTE pbPreparedDst;
00171 DWORD cbPreparedDstLength;
00172 } ACMDRVSTREAMHEADER;
00173
00174 typedef struct _ACMDRVSTREAMSIZE
00175 {
00176 DWORD cbStruct;
00177 DWORD fdwSize;
00178 DWORD cbSrcLength;
00179 DWORD cbDstLength;
00180 } ACMDRVSTREAMSIZE16, *NPACMDRVSTREAMSIZE16, *LPACMDRVSTREAMSIZE16,
00181 ACMDRVSTREAMSIZE, *PACMDRVSTREAMSIZE;
00182
00183 typedef struct _ACMDRVFORMATSUGGEST16
00184 {
00185 DWORD cbStruct;
00186 DWORD fdwSuggest;
00187 LPWAVEFORMATEX pwfxSrc;
00188 DWORD cbwfxSrc;
00189 LPWAVEFORMATEX pwfxDst;
00190 DWORD cbwfxDst;
00191 } ACMDRVFORMATSUGGEST16, *NPACMDRVFORMATSUGGEST, *LPACMDRVFORMATSUGGEST;
00192
00193 typedef struct _ACMDRVFORMATSUGGEST
00194 {
00195 DWORD cbStruct;
00196 DWORD fdwSuggest;
00197 PWAVEFORMATEX pwfxSrc;
00198 DWORD cbwfxSrc;
00199 PWAVEFORMATEX pwfxDst;
00200 DWORD cbwfxDst;
00201 } ACMDRVFORMATSUGGEST, *PACMDRVFORMATSUGGEST;
00202
00203 #endif