blob: 18936b7d4bca781e181ebbf10486d815422a4b2c [file]
/**
* 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):
version (ANSI) {} else version = Unicode;
import core.sys.windows.basetsd, core.sys.windows.mmsystem, core.sys.windows.windef;
alias HACMDRIVERID = HANDLE;
alias HACMDRIVER = HANDLE;
alias LPHACMDRIVER = HACMDRIVER*;
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 LPACMFORMATDETAILSA = ACMFORMATDETAILSA*;
struct ACMFORMATDETAILSW {
DWORD cbStruct = ACMFORMATDETAILSW.sizeof;
DWORD dwFormatIndex;
DWORD dwFormatTag;
DWORD fdwSupport;
LPWAVEFORMATEX pwfx;
DWORD cbwfx;
WCHAR[ACMFORMATDETAILS_FORMAT_CHARS] szFormat = 0;
}
alias LPACMFORMATDETAILSW = ACMFORMATDETAILSW*;
struct ACMFORMATTAGDETAILSA {
DWORD cbStruct = ACMFORMATTAGDETAILSA.sizeof;
DWORD dwFormatTagIndex;
DWORD dwFormatTag;
DWORD cbFormatSize;
DWORD fdwSupport;
DWORD cStandardFormats;
char[ACMFORMATTAGDETAILS_FORMATTAG_CHARS] szFormatTag = 0;
}
alias LPACMFORMATTAGDETAILSA = ACMFORMATTAGDETAILSA*;
struct ACMFORMATTAGDETAILSW {
DWORD cbStruct = ACMFORMATTAGDETAILSW.sizeof;
DWORD dwFormatTagIndex;
DWORD dwFormatTag;
DWORD cbFormatSize;
DWORD fdwSupport;
DWORD cStandardFormats;
WCHAR[ACMFORMATTAGDETAILS_FORMATTAG_CHARS] szFormatTag = 0;
}
alias LPACMFORMATTAGDETAILSW = ACMFORMATTAGDETAILSW*;
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 LPACMDRIVERDETAILSA = ACMDRIVERDETAILSA*;
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 LPACMDRIVERDETAILSW = ACMDRIVERDETAILSW*;
extern (Windows) {
alias ACMFORMATENUMCBA = BOOL function(HACMDRIVERID hadid, LPACMFORMATDETAILSA pafd,
DWORD_PTR dwInstance, DWORD fdwSupport);
alias ACMFORMATENUMCBW = BOOL function(HACMDRIVERID hadid, LPACMFORMATDETAILSW pafd,
DWORD_PTR dwInstance, DWORD fdwSupport);
alias ACMFORMATTAGENUMCBA = BOOL function(HACMDRIVERID hadid, LPACMFORMATTAGDETAILSA paftd,
DWORD_PTR dwInstance, DWORD fdwSupport);
alias ACMFORMATTAGENUMCBW = BOOL function(HACMDRIVERID hadid, LPACMFORMATTAGDETAILSW paftd,
DWORD_PTR dwInstance, DWORD fdwSupport);
alias ACMDRIVERENUMCB = BOOL function(HACMDRIVERID hadid, DWORD_PTR dwInstance,
DWORD fdwSupport);
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 ACMFORMATDETAILS = ACMFORMATDETAILSW;
alias ACMFORMATTAGDETAILS = ACMFORMATTAGDETAILSW;
alias ACMDRIVERDETAILS = ACMDRIVERDETAILSW;
alias ACMFORMATENUMCB = ACMFORMATENUMCBW;
alias ACMFORMATTAGENUMCB = ACMFORMATTAGENUMCBW;
alias acmFormatEnum = acmFormatEnumW;
alias acmDriverDetails = acmDriverDetailsW;
alias acmFormatTagEnum = acmFormatTagEnumW;
} else {
alias ACMFORMATDETAILS = ACMFORMATDETAILSA;
alias ACMFORMATTAGDETAILS = ACMFORMATTAGDETAILSA;
alias ACMDRIVERDETAILS = ACMDRIVERDETAILSA;
alias ACMFORMATENUMCB = ACMFORMATENUMCBA;
alias ACMFORMATTAGENUMCB = ACMFORMATTAGENUMCBA;
alias acmFormatEnum = acmFormatEnumA;
alias acmDriverDetails = acmDriverDetailsA;
alias acmFormatTagEnum = acmFormatTagEnumA;
}
alias LPACMFORMATDETAILS = ACMFORMATDETAILS*;
alias LPACMFORMATTAGDETAILS = ACMFORMATTAGDETAILS*;
alias LPACMDRIVERDETAILS = ACMDRIVERDETAILS*;