| /** | |
| * 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*; |