1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * Authors: Stewart Gordon 7 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 8 * Source: $(DRUNTIMESRC core/sys/windows/_msacm.d) 9 */ 10 /// Automatically imported and edited from the druntime module 11 /// core.sys.windows.msacm for the auto-generated win32 package. 12 module win32.msacm; 13 //version (Windows): 14 @system: 15 16 version (ANSI) {} else version = Unicode; 17 18 import win32.basetsd, win32.mmsystem, win32.windef; 19 20 mixin DECLARE_HANDLE!("HACMDRIVERID"); 21 mixin DECLARE_HANDLE!("HACMDRIVER"); 22 alias HACMDRIVER* LPHACMDRIVER; 23 24 enum size_t 25 ACMDRIVERDETAILS_SHORTNAME_CHARS = 32, 26 ACMDRIVERDETAILS_LONGNAME_CHARS = 128, 27 ACMDRIVERDETAILS_COPYRIGHT_CHARS = 80, 28 ACMDRIVERDETAILS_LICENSING_CHARS = 128, 29 ACMDRIVERDETAILS_FEATURES_CHARS = 512; 30 31 enum size_t 32 ACMFORMATDETAILS_FORMAT_CHARS = 128, 33 ACMFORMATTAGDETAILS_FORMATTAG_CHARS = 48; 34 35 align(1): 36 37 struct ACMFORMATDETAILSA { 38 DWORD cbStruct = ACMFORMATDETAILSA.sizeof; 39 DWORD dwFormatIndex; 40 DWORD dwFormatTag; 41 DWORD fdwSupport; 42 LPWAVEFORMATEX pwfx; 43 DWORD cbwfx; 44 char[ACMFORMATDETAILS_FORMAT_CHARS] szFormat = 0; 45 } 46 alias ACMFORMATDETAILSA* LPACMFORMATDETAILSA; 47 48 struct ACMFORMATDETAILSW { 49 DWORD cbStruct = ACMFORMATDETAILSW.sizeof; 50 DWORD dwFormatIndex; 51 DWORD dwFormatTag; 52 DWORD fdwSupport; 53 LPWAVEFORMATEX pwfx; 54 DWORD cbwfx; 55 WCHAR[ACMFORMATDETAILS_FORMAT_CHARS] szFormat = 0; 56 } 57 alias ACMFORMATDETAILSW* LPACMFORMATDETAILSW; 58 59 struct ACMFORMATTAGDETAILSA { 60 DWORD cbStruct = ACMFORMATTAGDETAILSA.sizeof; 61 DWORD dwFormatTagIndex; 62 DWORD dwFormatTag; 63 DWORD cbFormatSize; 64 DWORD fdwSupport; 65 DWORD cStandardFormats; 66 char[ACMFORMATTAGDETAILS_FORMATTAG_CHARS] szFormatTag = 0; 67 } 68 alias ACMFORMATTAGDETAILSA* LPACMFORMATTAGDETAILSA; 69 70 struct ACMFORMATTAGDETAILSW { 71 DWORD cbStruct = ACMFORMATTAGDETAILSW.sizeof; 72 DWORD dwFormatTagIndex; 73 DWORD dwFormatTag; 74 DWORD cbFormatSize; 75 DWORD fdwSupport; 76 DWORD cStandardFormats; 77 WCHAR[ACMFORMATTAGDETAILS_FORMATTAG_CHARS] szFormatTag = 0; 78 } 79 alias ACMFORMATTAGDETAILSW* LPACMFORMATTAGDETAILSW; 80 81 struct ACMDRIVERDETAILSA { 82 align(1): 83 DWORD cbStruct = ACMDRIVERDETAILSA.sizeof; 84 FOURCC fccType; 85 FOURCC fccComp; 86 WORD wMid; 87 WORD wPid; 88 DWORD vdwACM; 89 DWORD vdwDriver; 90 DWORD fdwSupport; 91 DWORD cFormatTags; 92 DWORD cFilterTags; 93 HICON hicon; 94 char[ACMDRIVERDETAILS_SHORTNAME_CHARS] szShortName = 0; 95 char[ACMDRIVERDETAILS_LONGNAME_CHARS] szLongName = 0; 96 char[ACMDRIVERDETAILS_COPYRIGHT_CHARS] szCopyright = 0; 97 char[ACMDRIVERDETAILS_LICENSING_CHARS] szLicensing = 0; 98 char[ACMDRIVERDETAILS_FEATURES_CHARS] szFeatures = 0; 99 } 100 alias ACMDRIVERDETAILSA* LPACMDRIVERDETAILSA; 101 102 struct ACMDRIVERDETAILSW { 103 align(1): 104 DWORD cbStruct = ACMDRIVERDETAILSW.sizeof; 105 FOURCC fccType; 106 FOURCC fccComp; 107 WORD wMid; 108 WORD wPid; 109 DWORD vdwACM; 110 DWORD vdwDriver; 111 DWORD fdwSupport; 112 DWORD cFormatTags; 113 DWORD cFilterTags; 114 HICON hicon; 115 WCHAR[ACMDRIVERDETAILS_SHORTNAME_CHARS] szShortName = 0; 116 WCHAR[ACMDRIVERDETAILS_LONGNAME_CHARS] szLongName = 0; 117 WCHAR[ACMDRIVERDETAILS_COPYRIGHT_CHARS] szCopyright = 0; 118 WCHAR[ACMDRIVERDETAILS_LICENSING_CHARS] szLicensing = 0; 119 WCHAR[ACMDRIVERDETAILS_FEATURES_CHARS] szFeatures = 0; 120 } 121 alias ACMDRIVERDETAILSW* LPACMDRIVERDETAILSW; 122 123 extern (Windows) { 124 alias BOOL function(HACMDRIVERID hadid, LPACMFORMATDETAILSA pafd, 125 DWORD_PTR dwInstance, DWORD fdwSupport) ACMFORMATENUMCBA; 126 alias BOOL function(HACMDRIVERID hadid, LPACMFORMATDETAILSW pafd, 127 DWORD_PTR dwInstance, DWORD fdwSupport) ACMFORMATENUMCBW; 128 alias BOOL function(HACMDRIVERID hadid, LPACMFORMATTAGDETAILSA paftd, 129 DWORD_PTR dwInstance, DWORD fdwSupport) ACMFORMATTAGENUMCBA; 130 alias BOOL function(HACMDRIVERID hadid, LPACMFORMATTAGDETAILSW paftd, 131 DWORD_PTR dwInstance, DWORD fdwSupport) ACMFORMATTAGENUMCBW; 132 alias BOOL function(HACMDRIVERID hadid, DWORD_PTR dwInstance, 133 DWORD fdwSupport) ACMDRIVERENUMCB; 134 135 MMRESULT acmDriverOpen(LPHACMDRIVER phad, HACMDRIVERID hadid, 136 DWORD fdwOpen); 137 MMRESULT acmDriverEnum(ACMDRIVERENUMCB fnCallback, DWORD_PTR dwInstance, 138 DWORD fdwEnum); 139 MMRESULT acmFormatEnumA(HACMDRIVER had, LPACMFORMATDETAILSA pafd, 140 ACMFORMATENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum); 141 MMRESULT acmFormatEnumW(HACMDRIVER had, LPACMFORMATDETAILSW pafd, 142 ACMFORMATENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum); 143 MMRESULT acmDriverClose(HACMDRIVER had, DWORD fdwClose); 144 MMRESULT acmDriverDetailsA(HACMDRIVERID hadid, LPACMDRIVERDETAILSA padd, 145 DWORD fdwDetails); 146 MMRESULT acmDriverDetailsW(HACMDRIVERID hadid, LPACMDRIVERDETAILSW padd, 147 DWORD fdwDetails); 148 MMRESULT acmFormatTagEnumA(HACMDRIVER had, LPACMFORMATTAGDETAILSA paftd, 149 ACMFORMATTAGENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum); 150 MMRESULT acmFormatTagEnumW(HACMDRIVER had, LPACMFORMATTAGDETAILSW paftd, 151 ACMFORMATTAGENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum); 152 } 153 154 version (Unicode) { 155 alias ACMFORMATDETAILSW ACMFORMATDETAILS; 156 alias ACMFORMATTAGDETAILSW ACMFORMATTAGDETAILS; 157 alias ACMDRIVERDETAILSW ACMDRIVERDETAILS; 158 alias ACMFORMATENUMCBW ACMFORMATENUMCB; 159 alias ACMFORMATTAGENUMCBW ACMFORMATTAGENUMCB; 160 alias acmFormatEnumW acmFormatEnum; 161 alias acmDriverDetailsW acmDriverDetails; 162 alias acmFormatTagEnumW acmFormatTagEnum; 163 } else { 164 alias ACMFORMATDETAILSA ACMFORMATDETAILS; 165 alias ACMFORMATTAGDETAILSA ACMFORMATTAGDETAILS; 166 alias ACMDRIVERDETAILSA ACMDRIVERDETAILS; 167 alias ACMFORMATENUMCBA ACMFORMATENUMCB; 168 alias ACMFORMATTAGENUMCBA ACMFORMATTAGENUMCB; 169 alias acmFormatEnumA acmFormatEnum; 170 alias acmDriverDetailsA acmDriverDetails; 171 alias acmFormatTagEnumA acmFormatTagEnum; 172 } 173 174 alias ACMFORMATDETAILS* LPACMFORMATDETAILS; 175 alias ACMFORMATTAGDETAILS* LPACMFORMATTAGDETAILS; 176 alias ACMDRIVERDETAILS* LPACMDRIVERDETAILS;