OSDN Git Service

2004-04-20 Adrian Sandor <aditsu@users.sourceforge.net>
authorinfidel <infidel>
Tue, 20 Apr 2004 09:48:52 +0000 (09:48 +0000)
committerinfidel <infidel>
Tue, 20 Apr 2004 09:48:52 +0000 (09:48 +0000)
* include/msacm.h: New file.

winsup/w32api/ChangeLog
winsup/w32api/include/msacm.h [new file with mode: 0644]

index e69c79a..dedab58 100644 (file)
@@ -1,3 +1,7 @@
+2004-04-20  Adrian Sandor  <aditsu@users.sourceforge.net>
+
+       * include/msacm.h: New file.
+
 2004-01-09  Stuart Cunningham  <stuart_hc@users.sourceforge.net>
 
        * include/objbase.h (STGFMT): Declare enum.
diff --git a/winsup/w32api/include/msacm.h b/winsup/w32api/include/msacm.h
new file mode 100644 (file)
index 0000000..5d571c0
--- /dev/null
@@ -0,0 +1,186 @@
+/*author: Adrian Sandor\r
+  written for MinGW*/\r
+#ifndef _MSACM_H\r
+#define _MSACM_H\r
+\r
+#if __GNUC__ >= 3\r
+#pragma GCC system_header\r
+#endif\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+typedef HANDLE HACMDRIVERID, HACMDRIVER, *LPHACMDRIVER; /*they're handles, right?*/\r
+\r
+/*found through experimentation*/\r
+#define ACMDRIVERDETAILS_SHORTNAME_CHARS 32\r
+#define ACMDRIVERDETAILS_LONGNAME_CHARS 128\r
+#define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80\r
+#define ACMDRIVERDETAILS_LICENSING_CHARS 128\r
+\r
+/*I don't know the right values for these macros*/\r
+#define ACMFORMATDETAILS_FORMAT_CHARS 256\r
+#define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 256\r
+#define ACMDRIVERDETAILS_FEATURES_CHARS 256\r
+\r
+/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformatdetails_str.asp*/\r
+typedef struct {\r
+       DWORD          cbStruct;\r
+       DWORD          dwFormatIndex;\r
+       DWORD          dwFormatTag;\r
+       DWORD          fdwSupport;\r
+       LPWAVEFORMATEX pwfx;\r
+       DWORD          cbwfx;\r
+       char szFormat[ACMFORMATDETAILS_FORMAT_CHARS];\r
+} ACMFORMATDETAILSA, *LPACMFORMATDETAILSA;\r
+typedef struct {\r
+       DWORD          cbStruct;\r
+       DWORD          dwFormatIndex;\r
+       DWORD          dwFormatTag;\r
+       DWORD          fdwSupport;\r
+       LPWAVEFORMATEX pwfx;\r
+       DWORD          cbwfx;\r
+       WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];\r
+} ACMFORMATDETAILSW, *LPACMFORMATDETAILSW;\r
+\r
+/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformattagdetails_str.asp*/\r
+typedef struct {\r
+       DWORD cbStruct;\r
+       DWORD dwFormatTagIndex;\r
+       DWORD dwFormatTag;\r
+       DWORD cbFormatSize;\r
+       DWORD fdwSupport;\r
+       DWORD cStandardFormats;\r
+       char szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];\r
+} ACMFORMATTAGDETAILSA, *LPACMFORMATTAGDETAILSA;\r
+typedef struct {\r
+       DWORD cbStruct;\r
+       DWORD dwFormatTagIndex;\r
+       DWORD dwFormatTag;\r
+       DWORD cbFormatSize;\r
+       DWORD fdwSupport;\r
+       DWORD cStandardFormats;\r
+       WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];\r
+} ACMFORMATTAGDETAILSW, *LPACMFORMATTAGDETAILSW;\r
+\r
+/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverdetails_str.asp*/\r
+typedef struct {\r
+       DWORD  cbStruct;\r
+       FOURCC fccType;\r
+       FOURCC fccComp;\r
+       WORD   wMid;\r
+       WORD   wPid;\r
+       DWORD  vdwACM;\r
+       DWORD  vdwDriver;\r
+       DWORD  fdwSupport;\r
+       DWORD  cFormatTags;\r
+       DWORD  cFilterTags;\r
+       HICON  hicon;\r
+       char  szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];\r
+       char  szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];\r
+       char  szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];\r
+       char  szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];\r
+       char  szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];\r
+} ACMDRIVERDETAILSA, *LPACMDRIVERDETAILSA;\r
+typedef struct {\r
+       DWORD  cbStruct;\r
+       FOURCC fccType;\r
+       FOURCC fccComp;\r
+       WORD   wMid;\r
+       WORD   wPid;\r
+       DWORD  vdwACM;\r
+       DWORD  vdwDriver;\r
+       DWORD  fdwSupport;\r
+       DWORD  cFormatTags;\r
+       DWORD  cFilterTags;\r
+       HICON  hicon;\r
+       WCHAR  szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];\r
+       WCHAR  szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];\r
+       WCHAR  szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];\r
+       WCHAR  szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];\r
+       WCHAR  szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];\r
+} ACMDRIVERDETAILSW, *LPACMDRIVERDETAILSW;\r
+\r
+/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformatenumcallback.asp*/\r
+typedef BOOL (CALLBACK *ACMFORMATENUMCBA) (\r
+       HACMDRIVERID        hadid,\r
+       LPACMFORMATDETAILSA pafd,\r
+       DWORD_PTR           dwInstance,\r
+       DWORD               fdwSupport\r
+);\r
+typedef BOOL (CALLBACK *ACMFORMATENUMCBW) (\r
+       HACMDRIVERID        hadid,\r
+       LPACMFORMATDETAILSW pafd,\r
+       DWORD_PTR           dwInstance,\r
+       DWORD               fdwSupport\r
+);\r
+\r
+/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformattagenumcallback.asp*/\r
+typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBA) (\r
+       HACMDRIVERID           hadid,\r
+       LPACMFORMATTAGDETAILSA paftd,\r
+       DWORD_PTR              dwInstance,\r
+       DWORD                  fdwSupport\r
+);\r
+typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBW) (\r
+       HACMDRIVERID           hadid,\r
+       LPACMFORMATTAGDETAILSW paftd,\r
+       DWORD_PTR              dwInstance,\r
+       DWORD                  fdwSupport\r
+);\r
+\r
+/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverenumcallback.asp*/\r
+typedef BOOL (CALLBACK *ACMDRIVERENUMCB) (\r
+       HACMDRIVERID hadid,\r
+       DWORD_PTR    dwInstance,\r
+       DWORD        fdwSupport\r
+);\r
+\r
+/*and now the functions...*/\r
+\r
+/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriveropen.asp*/\r
+MMRESULT WINAPI acmDriverOpen(LPHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen);\r
+/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverenum.asp*/\r
+MMRESULT WINAPI acmDriverEnum(ACMDRIVERENUMCB fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);\r
+/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformatenum.asp*/\r
+MMRESULT WINAPI acmFormatEnumA(HACMDRIVER had, LPACMFORMATDETAILSA pafd, ACMFORMATENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);\r
+MMRESULT WINAPI acmFormatEnumW(HACMDRIVER had, LPACMFORMATDETAILSW pafd, ACMFORMATENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);\r
+/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverclose.asp*/\r
+MMRESULT WINAPI acmDriverClose(HACMDRIVER had, DWORD fdwClose);\r
+/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverdetails.asp*/\r
+MMRESULT WINAPI acmDriverDetailsA(HACMDRIVERID hadid, LPACMDRIVERDETAILSA padd, DWORD fdwDetails);\r
+MMRESULT WINAPI acmDriverDetailsW(HACMDRIVERID hadid, LPACMDRIVERDETAILSW padd, DWORD fdwDetails);\r
+/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformattagenum.asp*/\r
+MMRESULT WINAPI acmFormatTagEnumA(HACMDRIVER had, LPACMFORMATTAGDETAILSA paftd, ACMFORMATTAGENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);\r
+MMRESULT WINAPI acmFormatTagEnumW(HACMDRIVER had, LPACMFORMATTAGDETAILSW paftd, ACMFORMATTAGENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);\r
+\r
+#ifdef UNICODE\r
+\r
+typedef ACMFORMATDETAILSW ACMFORMATDETAILS, *LPACMFORMATDETAILS;\r
+typedef ACMFORMATTAGDETAILSW ACMFORMATTAGDETAILS, *LPACMFORMATTAGDETAILS;\r
+typedef ACMDRIVERDETAILSW ACMDRIVERDETAILS, *LPACMDRIVERDETAILS;\r
+typedef ACMFORMATENUMCBW ACMFORMATENUMCB;\r
+typedef ACMFORMATTAGENUMCBW ACMFORMATTAGENUMCB;\r
+#define acmFormatEnum acmFormatEnumW\r
+#define acmDriverDetails acmDriverDetailsW\r
+#define acmFormatTagEnum acmFormatTagEnumW\r
+\r
+#else /*ifdef UNICODE*/\r
+\r
+typedef ACMFORMATDETAILSA ACMFORMATDETAILS, *LPACMFORMATDETAILS;\r
+typedef ACMFORMATTAGDETAILSA ACMFORMATTAGDETAILS, *LPACMFORMATTAGDETAILS;\r
+typedef ACMDRIVERDETAILSA ACMDRIVERDETAILS, *LPACMDRIVERDETAILS;\r
+typedef ACMFORMATENUMCBA ACMFORMATENUMCB;\r
+typedef ACMFORMATTAGENUMCBA ACMFORMATTAGENUMCB;\r
+#define acmFormatEnum acmFormatEnumA\r
+#define acmDriverDetails acmDriverDetailsA\r
+#define acmFormatTagEnum acmFormatTagEnumA\r
+\r
+#endif /*ifdef UNICODE*/\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r