Unit MSACM

Classes

Functions

acmDriverAdd -
acmDriverAddA -
acmDriverAddW -
acmDriverClose -
acmDriverDetails -
acmDriverDetailsA -
acmDriverDetailsW -
ACMDRIVERDETAILS_FCCTYPE_AUDIOCODE -
acmDriverEnum - acmDriver
acmDriverID -
acmDriverMessage -
acmDriverOpen -
acmDriverPriority -
acmDriverRemove -
acmFilterChoose -
acmFilterChooseA -
acmFilterChooseW -
acmFilterDetails -
acmFilterDetailsA -
acmFilterDetailsW -
acmFilterEnum -
acmFilterEnumA -
acmFilterEnumW -
acmFilterTagDetails -
acmFilterTagDetailsA - acmFilter
acmFilterTagDetailsW -
acmFilterTagEnum -
acmFilterTagEnumA -
acmFilterTagEnumW -
acmFormatChoose -
acmFormatChooseA -
acmFormatChooseW -
acmFormatDetails -
acmFormatDetailsA -
acmFormatDetailsW -
acmFormatEnum -
acmFormatEnumA -
acmFormatEnumW -
acmFormatSuggest -
acmFormatTagDetails -
acmFormatTagDetailsA - acmFormat
acmFormatTagDetailsW -
acmFormatTagEnum -
acmFormatTagEnumA -
acmFormatTagEnumW -
acmGetVersion - acm
acmMetrics -
acmStreamClose -
acmStreamConvert -
acmStreamMessage -
acmStreamOpen - acmStream
acmStreamPrepareHeader -
acmStreamReset -
acmStreamSize -
acmStreamUnprepareHeader -

Types

ACMDRIVERENUMCB
ACMDRIVERPROC
ACMFILTERCHOOSEHOOKPROC
ACMFILTERCHOOSEHOOKPROCA
ACMFILTERCHOOSEHOOKPROCW
ACMFILTERENUMCB
ACMFILTERENUMCBA
ACMFILTERENUMCBW
ACMFILTERTAGENUMCB
ACMFILTERTAGENUMCBA
ACMFILTERTAGENUMCBW
ACMFORMATCHOOSEHOOKPROC
ACMFORMATCHOOSEHOOKPROCA
ACMFORMATCHOOSEHOOKPROCW
ACMFORMATENUMCB
ACMFORMATENUMCBA
ACMFORMATENUMCBW
ACMFORMATTAGENUMCB
ACMFORMATTAGENUMCBA
ACMFORMATTAGENUMCBW
HACMDRIVER
HACMDRIVERID
HACMOBJ
HACMSTREAM
LPACMDRIVERPROC
PACMDRIVERDETAILS
PACMDRIVERDETAILSA
PACMDRIVERDETAILSW
PACMFILTERCHOOSE
PACMFILTERCHOOSEA
PACMFILTERCHOOSEW
PACMFILTERDETAILS
PACMFILTERDETAILSA
PACMFILTERDETAILSW
PACMFILTERTAGDETAILS
PACMFILTERTAGDETAILSA
PACMFILTERTAGDETAILSW
PACMFORMATCHOOSE
PACMFORMATCHOOSEA
PACMFORMATCHOOSEW
PACMFORMATDETAILS
PACMFORMATDETAILSA
PACMFORMATDETAILSW
PACMFORMATTAGDETAILS
PACMFORMATTAGDETAILSA
PACMFORMATTAGDETAILSW
PACMSTREAMHEADER
PHACMDRIVER
PHACMDRIVERID
PHACMOBJ
PHACMSTREAM
PWAVEFILTER
TACMDRIVERDETAILS
TACMDRIVERDETAILSA
TACMDRIVERDETAILSW
TACMFILTERCHOOSE
TACMFILTERCHOOSEA
TACMFILTERCHOOSEW
TACMFILTERDETAILS
TACMFILTERDETAILSA
TACMFILTERDETAILSW
TACMFILTERTAGDETAILS
TACMFILTERTAGDETAILSA
TACMFILTERTAGDETAILSW
TACMFORMATCHOOSE
TACMFORMATCHOOSEA
TACMFORMATCHOOSEW
TACMFORMATDETAILS
TACMFORMATDETAILSA
TACMFORMATDETAILSW
TACMFORMATTAGDETAILS
TACMFORMATTAGDETAILSA
TACMFORMATTAGDETAILSW
TACMSTREAMHEADER
TWAVEFILTER

Constants

ACMDM_BASE
ACMDM_DRIVER_ABOUT
ACMDM_RESERVED_HIGH
ACMDM_RESERVED_LOW
ACMDM_USER
ACMDRIVERDETAILS_COPYRIGHT_CHARS
ACMDRIVERDETAILS_FCCCOMP_UNDEFINED
ACMDRIVERDETAILS_FEATURES_CHARS
ACMDRIVERDETAILS_LICENSING_CHARS
ACMDRIVERDETAILS_LONGNAME_CHARS
ACMDRIVERDETAILS_SHORTNAME_CHARS
ACMDRIVERDETAILS_SUPPORTF_ASYNC
ACMDRIVERDETAILS_SUPPORTF_CODEC
ACMDRIVERDETAILS_SUPPORTF_CONVERTER
ACMDRIVERDETAILS_SUPPORTF_DISABLED
ACMDRIVERDETAILS_SUPPORTF_FILTER
ACMDRIVERDETAILS_SUPPORTF_HARDWARE
ACMDRIVERDETAILS_SUPPORTF_LOCAL
ACMERR_BASE
ACMERR_BUSY
ACMERR_CANCELED
ACMERR_NOTPOSSIBLE
ACMERR_UNPREPARED
ACMFILTERCHOOSE_STYLEF_CONTEXTHELP
ACMFILTERCHOOSE_STYLEF_ENABLEHOOK
ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE
ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE
ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT
ACMFILTERCHOOSE_STYLEF_SHOWHELP
ACMFILTERDETAILS_FILTER_CHARS
ACMFILTERTAGDETAILS_FILTERTAG_CHARS
ACMFORMATCHOOSE_STYLEF_CONTEXTHELP
ACMFORMATCHOOSE_STYLEF_ENABLEHOOK
ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE
ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE
ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT
ACMFORMATCHOOSE_STYLEF_SHOWHELP
ACMFORMATDETAILS_FORMAT_CHARS
ACMFORMATTAGDETAILS_FORMATTAG_CHARS
ACMHELPMSGCONTEXTHELP
ACMHELPMSGCONTEXTHELPA
ACMHELPMSGCONTEXTHELPW
ACMHELPMSGCONTEXTMENU
ACMHELPMSGCONTEXTMENUA
ACMHELPMSGCONTEXTMENUW
ACMHELPMSGSTRING
ACMHELPMSGSTRINGA
ACMHELPMSGSTRINGW
ACMSTREAMHEADER_STATUSF_DONE
ACMSTREAMHEADER_STATUSF_INQUEUE
ACMSTREAMHEADER_STATUSF_PREPARED
ACM_DRIVERADDF_FUNCTION
ACM_DRIVERADDF_GLOBAL
ACM_DRIVERADDF_LOCAL
ACM_DRIVERADDF_NOTIFYHWND
ACM_DRIVERADDF_TYPEMASK
ACM_DRIVERENUMF_DISABLED
ACM_DRIVERENUMF_NOLOCAL
ACM_DRIVERPRIORITYF_ABLEMASK
ACM_DRIVERPRIORITYF_BEGIN
ACM_DRIVERPRIORITYF_DEFERMASK
ACM_DRIVERPRIORITYF_DISABLE
ACM_DRIVERPRIORITYF_ENABLE
ACM_DRIVERPRIORITYF_END
ACM_FILTERDETAILSF_FILTER
ACM_FILTERDETAILSF_INDEX
ACM_FILTERDETAILSF_QUERYMASK
ACM_FILTERENUMF_DWFILTERTAG
ACM_FILTERTAGDETAILSF_FILTERTAG
ACM_FILTERTAGDETAILSF_INDEX
ACM_FILTERTAGDETAILSF_LARGESTSIZE
ACM_FILTERTAGDETAILSF_QUERYMASK
ACM_FORMATDETAILSF_FORMAT
ACM_FORMATDETAILSF_INDEX
ACM_FORMATDETAILSF_QUERYMASK
ACM_FORMATENUMF_CONVERT
ACM_FORMATENUMF_HARDWARE
ACM_FORMATENUMF_INPUT
ACM_FORMATENUMF_NCHANNELS
ACM_FORMATENUMF_NSAMPLESPERSEC
ACM_FORMATENUMF_OUTPUT
ACM_FORMATENUMF_SUGGEST
ACM_FORMATENUMF_WBITSPERSAMPLE
ACM_FORMATENUMF_WFORMATTAG
ACM_FORMATSUGGESTF_NCHANNELS
ACM_FORMATSUGGESTF_NSAMPLESPERSEC
ACM_FORMATSUGGESTF_TYPEMASK
ACM_FORMATSUGGESTF_WBITSPERSAMPLE
ACM_FORMATSUGGESTF_WFORMATTAG
ACM_FORMATTAGDETAILSF_FORMATTAG
ACM_FORMATTAGDETAILSF_INDEX
ACM_FORMATTAGDETAILSF_LARGESTSIZE
ACM_FORMATTAGDETAILSF_QUERYMASK
ACM_METRIC_COUNT_CODECS
ACM_METRIC_COUNT_CONVERTERS
ACM_METRIC_COUNT_DISABLED
ACM_METRIC_COUNT_DRIVERS
ACM_METRIC_COUNT_FILTERS
ACM_METRIC_COUNT_HARDWARE
ACM_METRIC_COUNT_LOCAL_CODECS
ACM_METRIC_COUNT_LOCAL_CONVERTERS
ACM_METRIC_COUNT_LOCAL_DISABLED
ACM_METRIC_COUNT_LOCAL_DRIVERS
ACM_METRIC_COUNT_LOCAL_FILTERS
ACM_METRIC_DRIVER_PRIORITY
ACM_METRIC_DRIVER_SUPPORT
ACM_METRIC_HARDWARE_WAVE_INPUT
ACM_METRIC_HARDWARE_WAVE_OUTPUT
ACM_METRIC_MAX_SIZE_FILTER
ACM_METRIC_MAX_SIZE_FORMAT
ACM_STREAMCONVERTF_BLOCKALIGN
ACM_STREAMCONVERTF_END
ACM_STREAMCONVERTF_START
ACM_STREAMOPENF_ASYNC
ACM_STREAMOPENF_NONREALTIME
ACM_STREAMOPENF_QUERY
ACM_STREAMSIZEF_DESTINATION
ACM_STREAMSIZEF_QUERYMASK
ACM_STREAMSIZEF_SOURCE
DRVM_MAPPER_STATUS
DRV_MAPPER_PREFERRED_INPUT_GET
DRV_MAPPER_PREFERRED_OUTPUT_GET
FILTERCHOOSE_CUSTOM_VERIFY
FILTERCHOOSE_FILTERTAG_VERIFY
FILTERCHOOSE_FILTER_VERIFY
FILTERCHOOSE_MESSAGE
FORMATCHOOSE_CUSTOM_VERIFY
FORMATCHOOSE_FORMATTAG_VERIFY
FORMATCHOOSE_FORMAT_VERIFY
FORMATCHOOSE_MESSAGE
MM_ACM_CLOSE
MM_ACM_DONE
MM_ACM_FILTERCHOOSE
MM_ACM_FORMATCHOOSE
MM_ACM_OPEN
WAVEIN_MAPPER_STATUS_DEVICE
WAVEIN_MAPPER_STATUS_FORMAT
WAVEIN_MAPPER_STATUS_MAPPED
WAVEOUT_MAPPER_STATUS_DEVICE
WAVEOUT_MAPPER_STATUS_FORMAT
WAVEOUT_MAPPER_STATUS_MAPPED
WAVE_FILTER_DEVELOPMENT
WAVE_FILTER_UNKNOWN
WIDM_MAPPER_STATUS
WODM_MAPPER_STATUS

Variables


Functions


function acmDriverAdd(var phadid : HACMDRIVERID; hinstModule : THandle; lParam : LPARAM; dwPriority : DWORD; fdwAdd : DWORD) : MMRESULT;


function acmDriverAddA(var phadid : HACMDRIVERID; hinstModule : THandle; lParam : LPARAM; dwPriority : DWORD; fdwAdd : DWORD) : MMRESULT;


function acmDriverAddW(var phadid : HACMDRIVERID; hinstModule : THandle; lParam : LPARAM; dwPriority : DWORD; fdwAdd : DWORD) : MMRESULT;


function acmDriverClose(had : HACMDRIVER; fdwClose : DWORD) : MMRESULT;


function acmDriverDetails(hadid : HACMDRIVERID; var padd : TACMDRIVERDETAILS; fdwDetails : DWORD) : MMRESULT;


function acmDriverDetailsA(hadid : HACMDRIVERID; var padd : TACMDRIVERDETAILSA; fdwDetails : DWORD) : MMRESULT;


function acmDriverDetailsW(hadid : HACMDRIVERID; var padd : TACMDRIVERDETAILSW; fdwDetails : DWORD) : MMRESULT;


function ACMDRIVERDETAILS_FCCTYPE_AUDIOCODE : FOURCC;


function acmDriverEnum(fnCallback : ACMDRIVERENUMCB; dwInstance : DWORD; fdwEnum : DWORD) : MMRESULT;

acmDriver

function acmDriverID(hao : HACMOBJ; var phadid : HACMDRIVERID; fdwDriverID : DWORD) : MMRESULT;


function acmDriverMessage(had : HACMDRIVER; uMsg : UINT; lParam1 : LPARAM; lParam2 : LPARAM) : LRESULT;


function acmDriverOpen(var phad : HACMDRIVER; hadid : HACMDRIVERID; fdwOpen : DWORD) : MMRESULT;


function acmDriverPriority(hadid : HACMDRIVERID; dwPriority : DWORD; fdwPriority : DWORD) : MMRESULT;


function acmDriverRemove(hadid : HACMDRIVERID; fdwRemove : DWORD) : MMRESULT;


function acmFilterChoose(var pafltrc : TACMFILTERCHOOSE) : MMRESULT;


function acmFilterChooseA(var pafltrc : TACMFILTERCHOOSEA) : MMRESULT;


function acmFilterChooseW(var pafltrc : TACMFILTERCHOOSEW) : MMRESULT;


function acmFilterDetails(had : HACMDRIVER; var pafd : TACMFILTERDETAILS; fdwDetails : DWORD) : MMRESULT;


function acmFilterDetailsA(had : HACMDRIVER; var pafd : TACMFILTERDETAILSA; fdwDetails : DWORD) : MMRESULT;


function acmFilterDetailsW(had : HACMDRIVER; var pafd : TACMFILTERDETAILSW; fdwDetails : DWORD) : MMRESULT;


function acmFilterEnum(had : HACMDRIVER; var pafd : TACMFILTERDETAILS; fnCallback : ACMFILTERENUMCB; dwInstance : DWORD; fdwEnum : DWORD) : MMRESULT;


function acmFilterEnumA(had : HACMDRIVER; var pafd : TACMFILTERDETAILSA; fnCallback : ACMFILTERENUMCBA; dwInstance : DWORD; fdwEnum : DWORD) : MMRESULT;


function acmFilterEnumW(had : HACMDRIVER; var pafd : TACMFILTERDETAILSW; fnCallback : ACMFILTERENUMCBW; dwInstance : DWORD; fdwEnum : DWORD) : MMRESULT;


function acmFilterTagDetails(had : HACMDRIVER; var paftd : TACMFILTERTAGDETAILS; fdwDetails : DWORD) : MMRESULT;


function acmFilterTagDetailsA(had : HACMDRIVER; var paftd : TACMFILTERTAGDETAILSA; fdwDetails : DWORD) : MMRESULT;

acmFilter

function acmFilterTagDetailsW(had : HACMDRIVER; var paftd : TACMFILTERTAGDETAILSW; fdwDetails : DWORD) : MMRESULT;


function acmFilterTagEnum(had : HACMDRIVER; var paftd : TACMFILTERTAGDETAILS; fnCallback : ACMFILTERTAGENUMCB; dwInstance : DWORD; fdwEnum : DWORD) : MMRESULT;


function acmFilterTagEnumA(had : HACMDRIVER; var paftd : TACMFILTERTAGDETAILSA; fnCallback : ACMFILTERTAGENUMCBA; dwInstance : DWORD; fdwEnum : DWORD) : MMRESULT;


function acmFilterTagEnumW(had : HACMDRIVER; var paftd : TACMFILTERTAGDETAILSW; fnCallback : ACMFILTERTAGENUMCBW; dwInstance : DWORD; fdwEnum : DWORD) : MMRESULT;


function acmFormatChoose(var pafmtc : TACMFORMATCHOOSE) : MMRESULT;


function acmFormatChooseA(var pafmtc : TACMFORMATCHOOSEA) : MMRESULT;


function acmFormatChooseW(var pafmtc : TACMFORMATCHOOSEW) : MMRESULT;


function acmFormatDetails(had : HACMDRIVER; var pafd : TACMFORMATDETAILS; fdwDetails : DWORD) : MMRESULT;


function acmFormatDetailsA(had : HACMDRIVER; var pafd : TACMFORMATDETAILSA; fdwDetails : DWORD) : MMRESULT;


function acmFormatDetailsW(had : HACMDRIVER; var pafd : TACMFORMATDETAILSW; fdwDetails : DWORD) : MMRESULT;


function acmFormatEnum(had : HACMDRIVER; var pafd : TACMFORMATDETAILS; fnCallback : ACMFORMATENUMCB; dwInstance : DWORD; fdwEnum : DWORD) : MMRESULT;


function acmFormatEnumA(had : HACMDRIVER; var pafd : TACMFORMATDETAILSA; fnCallback : ACMFORMATENUMCBA; dwInstance : DWORD; fdwEnum : DWORD) : MMRESULT;


function acmFormatEnumW(had : HACMDRIVER; var pafd : TACMFORMATDETAILSW; fnCallback : ACMFORMATENUMCBW; dwInstance : DWORD; fdwEnum : DWORD) : MMRESULT;


function acmFormatSuggest(had : HACMDRIVER; const pwfxSrc : TWAVEFORMATEX; var pwfxDst : TWAVEFORMATEX; cbwfxDst : DWORD; fdwSuggest : DWORD) : MMRESULT;


function acmFormatTagDetails(had : HACMDRIVER; var paftd : TACMFORMATTAGDETAILS; fdwDetails : DWORD) : MMRESULT;


function acmFormatTagDetailsA(had : HACMDRIVER; var paftd : TACMFORMATTAGDETAILSA; fdwDetails : DWORD) : MMRESULT;

acmFormat

function acmFormatTagDetailsW(had : HACMDRIVER; var paftd : TACMFORMATTAGDETAILSW; fdwDetails : DWORD) : MMRESULT;


function acmFormatTagEnum(had : HACMDRIVER; var paftd : TACMFORMATTAGDETAILS; fnCallback : ACMFORMATTAGENUMCB; dwInstance : DWORD; fdwEnum : DWORD) : MMRESULT;


function acmFormatTagEnumA(had : HACMDRIVER; var paftd : TACMFORMATTAGDETAILSA; fnCallback : ACMFORMATTAGENUMCBA; dwInstance : DWORD; fdwEnum : DWORD) : MMRESULT;


function acmFormatTagEnumW(had : HACMDRIVER; var paftd : TACMFORMATTAGDETAILSW; fnCallback : ACMFORMATTAGENUMCBW; dwInstance : DWORD; fdwEnum : DWORD) : MMRESULT;


function acmGetVersion : DWORD;

acm

function acmMetrics(hao : HACMOBJ; uMetric : UINT; var pMetric) : MMRESULT;


function acmStreamClose(has : HACMSTREAM; fdwClose : DWORD) : MMRESULT;


function acmStreamConvert(has : HACMSTREAM; var pash : TACMSTREAMHEADER; fdwConvert : DWORD) : MMRESULT;


function acmStreamMessage(has : HACMSTREAM; uMsg : UINT; lParam1 : LPARAM; lParam2 : LPARAM) : MMRESULT;


function acmStreamOpen(phas : PHACMSTREAM; had : HACMDRIVER; const pwfxSrc : TWAVEFORMATEX; const pwfxdst : TWAVEFORMATEX; pwfltr : PWAVEFILTER; dwCallback : DWORD; dwInstance : DWORD; fdwOpen : DWORD) : MMRESULT;

acmStream

function acmStreamPrepareHeader(has : HACMSTREAM; var pash : TACMSTREAMHEADER; fdwPrepare : DWORD) : MMRESULT;


function acmStreamReset(has : HACMSTREAM; fdwReset : DWORD) : MMRESULT;


function acmStreamSize(has : HACMSTREAM; cbInput : DWORD; var pdwOutputByte : DWORD; fdwSize : DWORD) : MMRESULT;


function acmStreamUnprepareHeader(has : HACMSTREAM; var pash : TACMSTREAMHEADER; fdwUnprepare : DWORD) : MMRESULT;


Types


ACMDRIVERENUMCB = function(hadid : HACMDRIVERID; dwInstance : DWORD; fdwSupport : DWORD) : BOOL

ACMDRIVERPROC = function(_0 : DWORD; _1 : HACMDRIVERID; _2 : UINT; _3 : LPARAM; _4 : LPARAM) : LRESULT
is global
ACMFILTERCHOOSEHOOKPROC = ACMFILTERCHOOSEHOOKPROCA

ACMFILTERCHOOSEHOOKPROCA = function(hwnd : HWND; uMsg : UINT; wParam : WPARAM; lParam : LPARAM) : UINT

ACMFILTERCHOOSEHOOKPROCW = function(hwnd : HWND; uMsg : UINT; wParam : WPARAM; lParam : LPARAM) : UINT

ACMFILTERENUMCB = ACMFILTERENUMCBA

ACMFILTERENUMCBA = function(hadid : HACMDRIVERID; const pafd : TACMFILTERDETAILSA; dwInstance : DWORD; fdwSupport : DWORD) : BOOL

ACMFILTERENUMCBW = function(hadid : HACMDRIVERID; const pafd : TACMFILTERDETAILSW; dwInstance : DWORD; fdwSupport : DWORD) : BOOL

ACMFILTERTAGENUMCB = ACMFILTERTAGENUMCBA

ACMFILTERTAGENUMCBA = function(hadid : HACMDRIVERID; const paftd : TACMFILTERTAGDETAILSA; dwInstance : DWORD; fdwSupport : DWORD) : BOOL

ACMFILTERTAGENUMCBW = function(hadid : HACMDRIVERID; const paftd : TACMFILTERTAGDETAILSW; dwInstance : DWORD; fdwSupport : DWORD) : BOOL

ACMFORMATCHOOSEHOOKPROC = ACMFORMATCHOOSEHOOKPROCA

ACMFORMATCHOOSEHOOKPROCA = function(hwnd : HWND; uMsg : UINT; wParam : WPARAM; lParam : LPARAM) : UINT

ACMFORMATCHOOSEHOOKPROCW = function(hwnd : HWND; uMsg : UINT; wParam : WPARAM; lParam : LPARAM) : UINT

ACMFORMATENUMCB = ACMFORMATENUMCBA

ACMFORMATENUMCBA = function(hadid : HACMDRIVERID; const pafd : TACMFORMATDETAILSA; dwInstance : DWORD; fdwSupport : DWORD) : BOOL

ACMFORMATENUMCBW = function(hadid : HACMDRIVERID; const pafd : TACMFORMATDETAILSW; dwInstance : DWORD; fdwSupport : DWORD) : BOOL

ACMFORMATTAGENUMCB = ACMFORMATTAGENUMCBA

ACMFORMATTAGENUMCBA = function(hadid : HACMDRIVERID; const paftd : TACMFORMATTAGDETAILSA; dwInstance : DWORD; fdwSupport : DWORD) : BOOL

ACMFORMATTAGENUMCBW = function(hadid : HACMDRIVERID; const paftd : TACMFORMATTAGDETAILSW; dwInstance : DWORD; fdwSupport : DWORD) : BOOL

HACMDRIVER = THandle

HACMDRIVERID = THandle

HACMOBJ = THandle

HACMSTREAM = THandle

LPACMDRIVERPROC = ^ACMDRIVERPROC

PACMDRIVERDETAILS       = PACMDRIVERDETAILSA

PACMDRIVERDETAILSA = ^TACMDRIVERDETAILSA

PACMDRIVERDETAILSW = ^TACMDRIVERDETAILSW

PACMFILTERCHOOSE = PACMFILTERCHOOSEA
ptr to hook function
PACMFILTERCHOOSEA = ^TACMFILTERCHOOSEA

PACMFILTERCHOOSEW = ^TACMFILTERCHOOSEW
ptr to hook function
PACMFILTERDETAILS = PACMFILTERDETAILSA

PACMFILTERDETAILSA = ^TACMFILTERDETAILSA

PACMFILTERDETAILSW = ^TACMFILTERDETAILSW

PACMFILTERTAGDETAILS = PACMFILTERTAGDETAILSA

PACMFILTERTAGDETAILSA = ^TACMFILTERTAGDETAILSA

PACMFILTERTAGDETAILSW = ^TACMFILTERTAGDETAILSW

PACMFORMATCHOOSE    = PACMFORMATCHOOSEA

PACMFORMATCHOOSEA = ^TACMFORMATCHOOSEA

PACMFORMATCHOOSEW = ^TACMFORMATCHOOSEW
ptr to hook function
PACMFORMATDETAILS = PACMFORMATDETAILSA

PACMFORMATDETAILSA = ^TACMFORMATDETAILSA

PACMFORMATDETAILSW = ^TACMFORMATDETAILSW

PACMFORMATTAGDETAILS = PACMFORMATTAGDETAILSA

PACMFORMATTAGDETAILSA = ^TACMFORMATTAGDETAILSA

PACMFORMATTAGDETAILSW = ^TACMFORMATTAGDETAILSW

PACMSTREAMHEADER = ^TACMSTREAMHEADER

PHACMDRIVER = ^HACMDRIVER

PHACMDRIVERID = ^HACMDRIVERID

PHACMOBJ = ^HACMOBJ

PHACMSTREAM = ^HACMSTREAM

PWAVEFILTER = ^TWAVEFILTER

TACMDRIVERDETAILS       = TACMDRIVERDETAILSA

TACMDRIVERDETAILSA = record
cbStruct : DWORD;
fccType : FOURCC;
fccComp : FOURCC;
wMid : WORD;
wPid : WORD;
vdwACM : DWORD;
vdwDriver : DWORD;
fdwSupport : DWORD;
cFormatTags : DWORD;
cFilterTags : DWORD;
hicon : HICON;
szShortName : array[0..ACMDRIVERDETAILS_SHORTNAME_CHARS-1] of char;
szLongName : array[0..ACMDRIVERDETAILS_LONGNAME_CHARS-1] of char;
szCopyright : array[0..ACMDRIVERDETAILS_COPYRIGHT_CHARS-1] of char;
szLicensing : array[0..ACMDRIVERDETAILS_LICENSING_CHARS-1] of char;
szFeatures : array[0..ACMDRIVERDETAILS_FEATURES_CHARS-1] of char;
end;

TACMDRIVERDETAILSW = record
cbStruct : DWORD;
fccType : FOURCC;
fccComp : FOURCC;
wMid : WORD;
wPid : WORD;
vdwACM : DWORD;
vdwDriver : DWORD;
fdwSupport : DWORD;
cFormatTags : DWORD;
cFilterTags : DWORD;
hicon : HICON;
szShortName : array[0..ACMDRIVERDETAILS_SHORTNAME_CHARS-1] of wchar;
szLongName : array[0..ACMDRIVERDETAILS_LONGNAME_CHARS-1] of wchar;
szCopyright : array[0..ACMDRIVERDETAILS_COPYRIGHT_CHARS-1] of wchar;
szLicensing : array[0..ACMDRIVERDETAILS_LICENSING_CHARS-1] of wchar;
szFeatures : array[0..ACMDRIVERDETAILS_FEATURES_CHARS-1] of wchar;
end;

TACMFILTERCHOOSE = TACMFILTERCHOOSEA

TACMFILTERCHOOSEA = record
cbStruct : DWORD ;
fdwStyle : DWORD ;
hwndOwner : HWND ;
pwfltr : PWAVEFILTER ;
cbwfltr : DWORD ;
pszTitle : LPCSTR ;
szFilterTag : array[0..ACMFILTERTAGDETAILS_FILTERTAG_CHARS-1] of char;
szFilter : array[0..ACMFILTERDETAILS_FILTER_CHARS-1] of char;
pszName : LPSTR ;
cchName : DWORD ;
fdwEnum : DWORD ;
pwfltrEnum : PWAVEFILTER ;
hInstance : THandle ;
pszTemplateName : LPCSTR ;
lCustData : LPARAM ;
pfnHook : ACMFILTERCHOOSEHOOKPROCA ;
end;

TACMFILTERCHOOSEW = record
cbStruct : DWORD ;
fdwStyle : DWORD ;
hwndOwner : HWND ;
pwfltr : PWAVEFILTER ;
cbwfltr : DWORD ;
pszTitle : LPCWSTR ;
szFilterTag : array[0..ACMFILTERTAGDETAILS_FILTERTAG_CHARS-1] of wchar;
szFilter : array[0..ACMFILTERDETAILS_FILTER_CHARS-1] of wchar;
pszName : LPWSTR ;
cchName : DWORD ;
fdwEnum : DWORD ;
pwfltrEnum : PWAVEFILTER ;
hInstance : THandle ;
pszTemplateName : LPCWSTR ;
lCustData : LPARAM ;
pfnHook : ACMFILTERCHOOSEHOOKPROCW ;
end;

TACMFILTERDETAILS = TACMFILTERDETAILSA

TACMFILTERDETAILSA = record
cbStruct : DWORD ;
dwFilterIndex : DWORD ;
dwFilterTag : DWORD ;
fdwSupport : DWORD ;
pwfltr : PWAVEFILTER ;
cbwfltr : DWORD ;
szFilter : array[0..ACMFILTERDETAILS_FILTER_CHARS-1] of char;
end;

TACMFILTERDETAILSW = record
cbStruct : DWORD ;
dwFilterIndex : DWORD ;
dwFilterTag : DWORD ;
fdwSupport : DWORD ;
pwfltr : PWAVEFILTER ;
cbwfltr : DWORD ;
szFilter : array[0..ACMFILTERDETAILS_FILTER_CHARS-1] of wchar;
end;

TACMFILTERTAGDETAILS = TACMFILTERTAGDETAILSA

TACMFILTERTAGDETAILSA = record
cbStruct : DWORD ;
dwFilterTagIndex : DWORD ;
dwFilterTag : DWORD ;
cbFilterSize : DWORD ;
fdwSupport : DWORD ;
cStandardFilters : DWORD ;
szFilterTag : array[0..ACMFILTERTAGDETAILS_FILTERTAG_CHARS-1] of char;
end;

TACMFILTERTAGDETAILSW = record
cbStruct : DWORD ;
dwFilterTagIndex : DWORD ;
dwFilterTag : DWORD ;
cbFilterSize : DWORD ;
fdwSupport : DWORD ;
cStandardFilters : DWORD ;
szFilterTag : array[0..ACMFILTERTAGDETAILS_FILTERTAG_CHARS-1] of wchar;
end;

TACMFORMATCHOOSE    = TACMFORMATCHOOSEA
ptr to hook function
TACMFORMATCHOOSEA = record
cbStruct : DWORD ;
fdwStyle : DWORD ;
hwndOwner : HWND ;
pwfx : PWAVEFORMATEX ;
cbwfx : DWORD ;
pszTitle : LPCSTR ;
szFormatTag : array[0..ACMFORMATTAGDETAILS_FORMATTAG_CHARS-1] of char;
szFormat : array[0..ACMFORMATDETAILS_FORMAT_CHARS-1] of char;
pszName : LPSTR ;
cchName : DWORD ;
fdwEnum : DWORD ;
pwfxEnum : PWAVEFORMATEX ;
hInstance : THandle ;
pszTemplateName : LPCSTR ;
lCustData : LPARAM ;
pfnHook : ACMFORMATCHOOSEHOOKPROCA ;
end;

TACMFORMATCHOOSEW = record
cbStruct : DWORD ;
fdwStyle : DWORD ;
hwndOwner : HWND ;
pwfx : PWAVEFORMATEX ;
cbwfx : DWORD ;
pszTitle : LPCWSTR ;
szFormatTag : array[0..ACMFORMATTAGDETAILS_FORMATTAG_CHARS-1] of wchar;
szFormat : array[0..ACMFORMATDETAILS_FORMAT_CHARS-1] of wchar;
pszName : LPWSTR ;
cchName : DWORD ;
fdwEnum : DWORD ;
pwfxEnum : PWAVEFORMATEX ;
hInstance : THandle ;
pszTemplateName : LPCWSTR ;
lCustData : LPARAM ;
pfnHook : ACMFORMATCHOOSEHOOKPROCW ;
end;

TACMFORMATDETAILS = TACMFORMATDETAILSA

TACMFORMATDETAILSA = record
cbStruct : DWORD;
dwFormatIndex : DWORD;
dwFormatTag : DWORD;
fdwSupport : DWORD;
pwfx : PWAVEFORMATEX;
cbwfx : DWORD;
szFormat : array[0..ACMFORMATDETAILS_FORMAT_CHARS-1] of char;
end;

TACMFORMATDETAILSW = record
cbStruct : DWORD;
dwFormatIndex : DWORD;
dwFormatTag : DWORD;
fdwSupport : DWORD;
pwfx : PWAVEFORMATEX;
cbwfx : DWORD;
szFormat : array[0..ACMFORMATDETAILS_FORMAT_CHARS-1] of wchar;
end;

TACMFORMATTAGDETAILS = TACMFORMATTAGDETAILSA

TACMFORMATTAGDETAILSA = record
cbStruct : DWORD;
dwFormatTagIndex : DWORD;
dwFormatTag : DWORD;
cbFormatSize : DWORD;
fdwSupport : DWORD;
cStandardFormats : DWORD;
szFormatTag : array[0..ACMFORMATTAGDETAILS_FORMATTAG_CHARS-1] of char;
end;

TACMFORMATTAGDETAILSW = record
cbStruct : DWORD;
dwFormatTagIndex : DWORD;
dwFormatTag : DWORD;
cbFormatSize : DWORD;
fdwSupport : DWORD;
cStandardFormats : DWORD;
szFormatTag : array[0..ACMFORMATTAGDETAILS_FORMATTAG_CHARS-1] of wchar;
end;

TACMSTREAMHEADER = record
cbStruct : DWORD ;
fdwStatus : DWORD ;
dwUser : DWORD ;
pbSrc : PBYTE ;
cbSrcLength : DWORD ;
cbSrcLengthUsed : DWORD ;
dwSrcUser : DWORD ;
pbDst : PBYTE ;
cbDstLength : DWORD ;
cbDstLengthUsed : DWORD ;
dwDstUser : DWORD ;
dwReservedDriver : array [0..9] of DWORD;
end;

TWAVEFILTER = record
cbStruct : DWORD ;
dwFilterTag : DWORD ;
fdwFilter : DWORD ;
dwReserved : array [0..5] of DWORD;
end;

Constants

ACMDM_BASE = ACMDM_RESERVED_LOW

ACMDM_DRIVER_ABOUT = (ACMDM_BASE + 11)

ACMDM_RESERVED_HIGH = (DRV_USER + $2FFF)

ACMDM_RESERVED_LOW = (DRV_USER + $2000)

ACMDM_USER = (DRV_USER + $0000)

ACMDRIVERDETAILS_COPYRIGHT_CHARS = 80

ACMDRIVERDETAILS_FCCCOMP_UNDEFINED = 0

ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC = mmioFOURCC('a', 'u', 'd', 'c');

ACMDRIVERDETAILS_FEATURES_CHARS = 512

ACMDRIVERDETAILS_LICENSING_CHARS = 128

ACMDRIVERDETAILS_LONGNAME_CHARS = 128

ACMDRIVERDETAILS_SHORTNAME_CHARS = 32

ACMDRIVERDETAILS_SUPPORTF_ASYNC = $00000010

ACMDRIVERDETAILS_SUPPORTF_CODEC = $00000001

ACMDRIVERDETAILS_SUPPORTF_CONVERTER = $00000002

ACMDRIVERDETAILS_SUPPORTF_DISABLED = $80000000

ACMDRIVERDETAILS_SUPPORTF_FILTER = $00000004

ACMDRIVERDETAILS_SUPPORTF_HARDWARE = $00000008

ACMDRIVERDETAILS_SUPPORTF_LOCAL = $40000000

ACMERR_BASE = (512)

ACMERR_BUSY = (ACMERR_BASE + 1)

ACMERR_CANCELED = (ACMERR_BASE + 3)

ACMERR_NOTPOSSIBLE = (ACMERR_BASE + 0)

ACMERR_UNPREPARED = (ACMERR_BASE + 2)

ACMFILTERCHOOSE_STYLEF_CONTEXTHELP = $00000080

ACMFILTERCHOOSE_STYLEF_ENABLEHOOK = $00000008

ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE = $00000010

ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE = $00000020

ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT = $00000040

ACMFILTERCHOOSE_STYLEF_SHOWHELP = $00000004

ACMFILTERDETAILS_FILTER_CHARS = 128

ACMFILTERTAGDETAILS_FILTERTAG_CHARS = 48

ACMFORMATCHOOSE_STYLEF_CONTEXTHELP = $00000080

ACMFORMATCHOOSE_STYLEF_ENABLEHOOK = $00000008

ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE = $00000010

ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE = $00000020

ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT = $00000040

ACMFORMATCHOOSE_STYLEF_SHOWHELP = $00000004

ACMFORMATDETAILS_FORMAT_CHARS = 128

ACMFORMATTAGDETAILS_FORMATTAG_CHARS = 48

ACMHELPMSGCONTEXTHELP = ACMHELPMSGCONTEXTHELPA

ACMHELPMSGCONTEXTHELPA = 'acmchoose_contexthelp'

ACMHELPMSGCONTEXTHELPW = 'acmchoose_contexthelp'

ACMHELPMSGCONTEXTMENU = ACMHELPMSGCONTEXTMENUA

ACMHELPMSGCONTEXTMENUA = 'acmchoose_contextmenu'

ACMHELPMSGCONTEXTMENUW = 'acmchoose_contextmenu'

ACMHELPMSGSTRING = ACMHELPMSGSTRINGA

ACMHELPMSGSTRINGA = 'acmchoose_help'

ACMHELPMSGSTRINGW = 'acmchoose_help'

ACMSTREAMHEADER_STATUSF_DONE = $00010000

driver reserved work space

ACMSTREAMHEADER_STATUSF_INQUEUE = $00100000

ACMSTREAMHEADER_STATUSF_PREPARED = $00020000

ACM_DRIVERADDF_FUNCTION = $00000003

ACM_DRIVERADDF_GLOBAL = $00000008

is local to current task

ACM_DRIVERADDF_LOCAL = $00000000

driver type mask

ACM_DRIVERADDF_NOTIFYHWND = $00000004

lParam is a procedure

ACM_DRIVERADDF_TYPEMASK = $00000007

lParam is notify hwnd

ACM_DRIVERENUMF_DISABLED = $80000000

ACM_DRIVERENUMF_NOLOCAL = $40000000

ACM_DRIVERPRIORITYF_ABLEMASK = $00000003

ACM_DRIVERPRIORITYF_BEGIN = $00010000

ACM_DRIVERPRIORITYF_DEFERMASK = $00030000

ACM_DRIVERPRIORITYF_DISABLE = $00000002

ACM_DRIVERPRIORITYF_ENABLE = $00000001

ACM_DRIVERPRIORITYF_END = $00020000

ACM_FILTERDETAILSF_FILTER = $00000001

ACM_FILTERDETAILSF_INDEX = $00000000

ACM_FILTERDETAILSF_QUERYMASK = $0000000F

ACM_FILTERENUMF_DWFILTERTAG = $00010000

ACM_FILTERTAGDETAILSF_FILTERTAG = $00000001

ACM_FILTERTAGDETAILSF_INDEX = $00000000

ACM_FILTERTAGDETAILSF_LARGESTSIZE = $00000002

ACM_FILTERTAGDETAILSF_QUERYMASK = $0000000F

ACM_FORMATDETAILSF_FORMAT = $00000001

ACM_FORMATDETAILSF_INDEX = $00000000

ACM_FORMATDETAILSF_QUERYMASK = $0000000F

ACM_FORMATENUMF_CONVERT = $00100000

ACM_FORMATENUMF_HARDWARE = $00400000

ACM_FORMATENUMF_INPUT = $00800000

ACM_FORMATENUMF_NCHANNELS = $00020000

ACM_FORMATENUMF_NSAMPLESPERSEC = $00040000

ACM_FORMATENUMF_OUTPUT = $01000000

ACM_FORMATENUMF_SUGGEST = $00200000

ACM_FORMATENUMF_WBITSPERSAMPLE = $00080000

ACM_FORMATENUMF_WFORMATTAG = $00010000

ACM_FORMATSUGGESTF_NCHANNELS = $00020000

ACM_FORMATSUGGESTF_NSAMPLESPERSEC = $00040000

ACM_FORMATSUGGESTF_TYPEMASK = $00FF0000

ACM_FORMATSUGGESTF_WBITSPERSAMPLE = $00080000

ACM_FORMATSUGGESTF_WFORMATTAG = $00010000

ACM_FORMATTAGDETAILSF_FORMATTAG = $00000001

ACM_FORMATTAGDETAILSF_INDEX = $00000000

ACM_FORMATTAGDETAILSF_LARGESTSIZE = $00000002

ACM_FORMATTAGDETAILSF_QUERYMASK = $0000000F

ACM_METRIC_COUNT_CODECS = 2

ACM_METRIC_COUNT_CONVERTERS = 3

ACM_METRIC_COUNT_DISABLED = 5

ACM_METRIC_COUNT_DRIVERS = 1

ACM_METRIC_COUNT_FILTERS = 4

ACM_METRIC_COUNT_HARDWARE = 6

ACM_METRIC_COUNT_LOCAL_CODECS = 21

ACM_METRIC_COUNT_LOCAL_CONVERTERS = 22

ACM_METRIC_COUNT_LOCAL_DISABLED = 24

ACM_METRIC_COUNT_LOCAL_DRIVERS = 20

ACM_METRIC_COUNT_LOCAL_FILTERS = 23

ACM_METRIC_DRIVER_PRIORITY = 101

ACM_METRIC_DRIVER_SUPPORT = 100

ACM_METRIC_HARDWARE_WAVE_INPUT = 30

ACM_METRIC_HARDWARE_WAVE_OUTPUT = 31

ACM_METRIC_MAX_SIZE_FILTER = 51

ACM_METRIC_MAX_SIZE_FORMAT = 50

ACM_STREAMCONVERTF_BLOCKALIGN = $00000004

ACM_STREAMCONVERTF_END = $00000020

ACM_STREAMCONVERTF_START = $00000010

ACM_STREAMOPENF_ASYNC = $00000002

ACM_STREAMOPENF_NONREALTIME = $00000004

ACM_STREAMOPENF_QUERY = $00000001

ACM_STREAMSIZEF_DESTINATION = $00000001

ACM_STREAMSIZEF_QUERYMASK = $0000000F

ACM_STREAMSIZEF_SOURCE = $00000000

DRVM_MAPPER_STATUS = $2000

DRV_MAPPER_PREFERRED_INPUT_GET = (DRV_USER + 0)

Reserved for system use

DRV_MAPPER_PREFERRED_OUTPUT_GET = (DRV_USER + 2)

FILTERCHOOSE_CUSTOM_VERIFY = (FILTERCHOOSE_MESSAGE+2)

FILTERCHOOSE_FILTERTAG_VERIFY = (FILTERCHOOSE_MESSAGE+0)

FILTERCHOOSE_FILTER_VERIFY = (FILTERCHOOSE_MESSAGE+1)

FILTERCHOOSE_MESSAGE = 0

FORMATCHOOSE_CUSTOM_VERIFY = (FORMATCHOOSE_MESSAGE+2)

FORMATCHOOSE_FORMATTAG_VERIFY = (FORMATCHOOSE_MESSAGE+0)

FORMATCHOOSE_FORMAT_VERIFY = (FORMATCHOOSE_MESSAGE+1)

FORMATCHOOSE_MESSAGE = 0

MM_ACM_CLOSE = (MM_STREAM_CLOSE)

conversion callback messages

MM_ACM_DONE = (MM_STREAM_DONE)

MM_ACM_FILTERCHOOSE = ($8000)

MM_ACM_FORMATCHOOSE = ($8000)

MM_ACM_OPEN = (MM_STREAM_OPEN)

WAVEIN_MAPPER_STATUS_DEVICE = 0

WAVEIN_MAPPER_STATUS_FORMAT = 2

WAVEIN_MAPPER_STATUS_MAPPED = 1

WAVEOUT_MAPPER_STATUS_DEVICE = 0

WAVEOUT_MAPPER_STATUS_FORMAT = 2

WAVEOUT_MAPPER_STATUS_MAPPED = 1

WAVE_FILTER_DEVELOPMENT = ($FFFF)

WAVE_FILTER_UNKNOWN = $0000

MMREG include

WIDM_MAPPER_STATUS = (DRVM_MAPPER_STATUS + 0)

WODM_MAPPER_STATUS = (DRVM_MAPPER_STATUS + 0)


Variables