source: vendor/w32api/3.6/include/msacm.h

Last change on this file was 2720, checked in by bird, 19 years ago

w32api v3.6

File size: 6.6 KB
Line 
1/*author: Adrian Sandor
2 written for MinGW*/
3#ifndef _MSACM_H
4#define _MSACM_H
5
6#if __GNUC__ >= 3
7#pragma GCC system_header
8#endif
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14typedef HANDLE HACMDRIVERID, HACMDRIVER, *LPHACMDRIVER; /*they're handles, right?*/
15
16/*found through experimentation*/
17#define ACMDRIVERDETAILS_SHORTNAME_CHARS 32
18#define ACMDRIVERDETAILS_LONGNAME_CHARS 128
19#define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80
20#define ACMDRIVERDETAILS_LICENSING_CHARS 128
21
22/*I don't know the right values for these macros*/
23#define ACMFORMATDETAILS_FORMAT_CHARS 256
24#define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 256
25#define ACMDRIVERDETAILS_FEATURES_CHARS 256
26
27/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformatdetails_str.asp*/
28typedef struct {
29 DWORD cbStruct;
30 DWORD dwFormatIndex;
31 DWORD dwFormatTag;
32 DWORD fdwSupport;
33 LPWAVEFORMATEX pwfx;
34 DWORD cbwfx;
35 char szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
36} ACMFORMATDETAILSA, *LPACMFORMATDETAILSA;
37typedef struct {
38 DWORD cbStruct;
39 DWORD dwFormatIndex;
40 DWORD dwFormatTag;
41 DWORD fdwSupport;
42 LPWAVEFORMATEX pwfx;
43 DWORD cbwfx;
44 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
45} ACMFORMATDETAILSW, *LPACMFORMATDETAILSW;
46
47/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformattagdetails_str.asp*/
48typedef struct {
49 DWORD cbStruct;
50 DWORD dwFormatTagIndex;
51 DWORD dwFormatTag;
52 DWORD cbFormatSize;
53 DWORD fdwSupport;
54 DWORD cStandardFormats;
55 char szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
56} ACMFORMATTAGDETAILSA, *LPACMFORMATTAGDETAILSA;
57typedef struct {
58 DWORD cbStruct;
59 DWORD dwFormatTagIndex;
60 DWORD dwFormatTag;
61 DWORD cbFormatSize;
62 DWORD fdwSupport;
63 DWORD cStandardFormats;
64 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
65} ACMFORMATTAGDETAILSW, *LPACMFORMATTAGDETAILSW;
66
67/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverdetails_str.asp*/
68typedef struct {
69 DWORD cbStruct;
70 FOURCC fccType;
71 FOURCC fccComp;
72 WORD wMid;
73 WORD wPid;
74 DWORD vdwACM;
75 DWORD vdwDriver;
76 DWORD fdwSupport;
77 DWORD cFormatTags;
78 DWORD cFilterTags;
79 HICON hicon;
80 char szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
81 char szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
82 char szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
83 char szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
84 char szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
85} ACMDRIVERDETAILSA, *LPACMDRIVERDETAILSA;
86typedef struct {
87 DWORD cbStruct;
88 FOURCC fccType;
89 FOURCC fccComp;
90 WORD wMid;
91 WORD wPid;
92 DWORD vdwACM;
93 DWORD vdwDriver;
94 DWORD fdwSupport;
95 DWORD cFormatTags;
96 DWORD cFilterTags;
97 HICON hicon;
98 WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
99 WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
100 WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
101 WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
102 WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
103} ACMDRIVERDETAILSW, *LPACMDRIVERDETAILSW;
104
105/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformatenumcallback.asp*/
106typedef BOOL (CALLBACK *ACMFORMATENUMCBA) (
107 HACMDRIVERID hadid,
108 LPACMFORMATDETAILSA pafd,
109 DWORD_PTR dwInstance,
110 DWORD fdwSupport
111);
112typedef BOOL (CALLBACK *ACMFORMATENUMCBW) (
113 HACMDRIVERID hadid,
114 LPACMFORMATDETAILSW pafd,
115 DWORD_PTR dwInstance,
116 DWORD fdwSupport
117);
118
119/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformattagenumcallback.asp*/
120typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBA) (
121 HACMDRIVERID hadid,
122 LPACMFORMATTAGDETAILSA paftd,
123 DWORD_PTR dwInstance,
124 DWORD fdwSupport
125);
126typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBW) (
127 HACMDRIVERID hadid,
128 LPACMFORMATTAGDETAILSW paftd,
129 DWORD_PTR dwInstance,
130 DWORD fdwSupport
131);
132
133/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverenumcallback.asp*/
134typedef BOOL (CALLBACK *ACMDRIVERENUMCB) (
135 HACMDRIVERID hadid,
136 DWORD_PTR dwInstance,
137 DWORD fdwSupport
138);
139
140/*and now the functions...*/
141
142/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriveropen.asp*/
143MMRESULT WINAPI acmDriverOpen(LPHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen);
144/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverenum.asp*/
145MMRESULT WINAPI acmDriverEnum(ACMDRIVERENUMCB fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
146/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformatenum.asp*/
147MMRESULT WINAPI acmFormatEnumA(HACMDRIVER had, LPACMFORMATDETAILSA pafd, ACMFORMATENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
148MMRESULT WINAPI acmFormatEnumW(HACMDRIVER had, LPACMFORMATDETAILSW pafd, ACMFORMATENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
149/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverclose.asp*/
150MMRESULT WINAPI acmDriverClose(HACMDRIVER had, DWORD fdwClose);
151/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverdetails.asp*/
152MMRESULT WINAPI acmDriverDetailsA(HACMDRIVERID hadid, LPACMDRIVERDETAILSA padd, DWORD fdwDetails);
153MMRESULT WINAPI acmDriverDetailsW(HACMDRIVERID hadid, LPACMDRIVERDETAILSW padd, DWORD fdwDetails);
154/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformattagenum.asp*/
155MMRESULT WINAPI acmFormatTagEnumA(HACMDRIVER had, LPACMFORMATTAGDETAILSA paftd, ACMFORMATTAGENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
156MMRESULT WINAPI acmFormatTagEnumW(HACMDRIVER had, LPACMFORMATTAGDETAILSW paftd, ACMFORMATTAGENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
157
158#ifdef UNICODE
159
160typedef ACMFORMATDETAILSW ACMFORMATDETAILS, *LPACMFORMATDETAILS;
161typedef ACMFORMATTAGDETAILSW ACMFORMATTAGDETAILS, *LPACMFORMATTAGDETAILS;
162typedef ACMDRIVERDETAILSW ACMDRIVERDETAILS, *LPACMDRIVERDETAILS;
163typedef ACMFORMATENUMCBW ACMFORMATENUMCB;
164typedef ACMFORMATTAGENUMCBW ACMFORMATTAGENUMCB;
165#define acmFormatEnum acmFormatEnumW
166#define acmDriverDetails acmDriverDetailsW
167#define acmFormatTagEnum acmFormatTagEnumW
168
169#else /*ifdef UNICODE*/
170
171typedef ACMFORMATDETAILSA ACMFORMATDETAILS, *LPACMFORMATDETAILS;
172typedef ACMFORMATTAGDETAILSA ACMFORMATTAGDETAILS, *LPACMFORMATTAGDETAILS;
173typedef ACMDRIVERDETAILSA ACMDRIVERDETAILS, *LPACMDRIVERDETAILS;
174typedef ACMFORMATENUMCBA ACMFORMATENUMCB;
175typedef ACMFORMATTAGENUMCBA ACMFORMATTAGENUMCB;
176#define acmFormatEnum acmFormatEnumA
177#define acmDriverDetails acmDriverDetailsA
178#define acmFormatTagEnum acmFormatTagEnumA
179
180#endif /*ifdef UNICODE*/
181
182#ifdef __cplusplus
183}
184#endif
185
186#endif
Note: See TracBrowser for help on using the repository browser.