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