17 #if !defined(_INC_MMREG) || (_INC_MMREG < 142)
19 #error MMREG.H version 142 or greater to be included first
23 #if defined(WIN32) && !defined(_WIN32)
25 #pragma message("MSACM.H: defining _WIN32 because application defined WIN32")
30 #if defined(UNICODE) && !defined(_UNICODE)
32 #pragma message("MSACM.H: defining _UNICODE because application defined UNICODE")
52 #ifndef DRV_MAPPER_PREFERRED_INPUT_GET
53 #define DRV_MAPPER_PREFERRED_INPUT_GET (DRV_USER + 0)
56 #ifndef DRV_MAPPER_PREFERRED_OUTPUT_GET
57 #define DRV_MAPPER_PREFERRED_OUTPUT_GET (DRV_USER + 2)
60 #ifndef DRVM_MAPPER_STATUS
61 #define DRVM_MAPPER_STATUS (0x2000)
64 #ifndef WIDM_MAPPER_STATUS
65 #define WIDM_MAPPER_STATUS (DRVM_MAPPER_STATUS + 0)
66 #define WAVEIN_MAPPER_STATUS_DEVICE 0
67 #define WAVEIN_MAPPER_STATUS_MAPPED 1
68 #define WAVEIN_MAPPER_STATUS_FORMAT 2
71 #ifndef WODM_MAPPER_STATUS
72 #define WODM_MAPPER_STATUS (DRVM_MAPPER_STATUS + 0)
73 #define WAVEOUT_MAPPER_STATUS_DEVICE 0
74 #define WAVEOUT_MAPPER_STATUS_MAPPED 1
75 #define WAVEOUT_MAPPER_STATUS_FORMAT 2
88 #define ACMAPI _far _pascal _loadds
90 #define ACMAPI _far _pascal
156 #define ACMERR_BASE (512)
157 #define ACMERR_NOTPOSSIBLE (ACMERR_BASE + 0)
158 #define ACMERR_BUSY (ACMERR_BASE + 1)
159 #define ACMERR_UNPREPARED (ACMERR_BASE + 2)
160 #define ACMERR_CANCELED (ACMERR_BASE + 3)
174 #define MM_ACM_OPEN (MM_STREAM_OPEN) // conversion callback messages
175 #define MM_ACM_CLOSE (MM_STREAM_CLOSE)
176 #define MM_ACM_DONE (MM_STREAM_DONE)
216 #define ACM_METRIC_COUNT_DRIVERS 1
217 #define ACM_METRIC_COUNT_CODECS 2
218 #define ACM_METRIC_COUNT_CONVERTERS 3
219 #define ACM_METRIC_COUNT_FILTERS 4
220 #define ACM_METRIC_COUNT_DISABLED 5
221 #define ACM_METRIC_COUNT_HARDWARE 6
222 #define ACM_METRIC_COUNT_LOCAL_DRIVERS 20
223 #define ACM_METRIC_COUNT_LOCAL_CODECS 21
224 #define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22
225 #define ACM_METRIC_COUNT_LOCAL_FILTERS 23
226 #define ACM_METRIC_COUNT_LOCAL_DISABLED 24
227 #define ACM_METRIC_HARDWARE_WAVE_INPUT 30
228 #define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31
229 #define ACM_METRIC_MAX_SIZE_FORMAT 50
230 #define ACM_METRIC_MAX_SIZE_FILTER 51
231 #define ACM_METRIC_DRIVER_SUPPORT 100
232 #define ACM_METRIC_DRIVER_PRIORITY 101
259 ACMDRIVERENUMCB fnCallback,
264 #define ACM_DRIVERENUMF_NOLOCAL 0x40000000L
265 #define ACM_DRIVERENUMF_DISABLED 0x80000000L
277 LPHACMDRIVERID phadid,
289 MMRESULT
ACMAPI acmDriverAddA
291 LPHACMDRIVERID phadid,
298 MMRESULT
ACMAPI acmDriverAddW
300 LPHACMDRIVERID phadid,
308 #define acmDriverAdd acmDriverAddW
310 #define acmDriverAdd acmDriverAddA
315 LPHACMDRIVERID phadid,
323 #define ACM_DRIVERADDF_FUNCTION 0x00000003L // lParam is a procedure
324 #define ACM_DRIVERADDF_NOTIFYHWND 0x00000004L // lParam is notify hwnd
325 #define ACM_DRIVERADDF_TYPEMASK 0x00000007L // driver type mask
326 #define ACM_DRIVERADDF_LOCAL 0x00000000L // is local to current task
327 #define ACM_DRIVERADDF_GLOBAL 0x00000008L // is global
395 #define ACMDM_USER (DRV_USER + 0x0000)
396 #define ACMDM_RESERVED_LOW (DRV_USER + 0x2000)
397 #define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF)
399 #define ACMDM_BASE ACMDM_RESERVED_LOW
401 #define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11)
417 #define ACM_DRIVERPRIORITYF_ENABLE 0x00000001L
418 #define ACM_DRIVERPRIORITYF_DISABLE 0x00000002L
419 #define ACM_DRIVERPRIORITYF_ABLEMASK 0x00000003L
420 #define ACM_DRIVERPRIORITYF_BEGIN 0x00010000L
421 #define ACM_DRIVERPRIORITYF_END 0x00020000L
422 #define ACM_DRIVERPRIORITYF_DEFERMASK 0x00030000L
437 #define ACMDRIVERDETAILS_SHORTNAME_CHARS 32
438 #define ACMDRIVERDETAILS_LONGNAME_CHARS 128
439 #define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80
440 #define ACMDRIVERDETAILS_LICENSING_CHARS 128
441 #define ACMDRIVERDETAILS_FEATURES_CHARS 512
444 typedef struct tACMDRIVERDETAILSA
469 } ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA,
FAR *LPACMDRIVERDETAILSA;
471 typedef struct tACMDRIVERDETAILSW
496 } ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW,
FAR *LPACMDRIVERDETAILSW;
499 #define ACMDRIVERDETAILS ACMDRIVERDETAILSW
500 #define PACMDRIVERDETAILS PACMDRIVERDETAILSW
501 #define LPACMDRIVERDETAILS LPACMDRIVERDETAILSW
503 #define ACMDRIVERDETAILS ACMDRIVERDETAILSA
504 #define PACMDRIVERDETAILS PACMDRIVERDETAILSA
505 #define LPACMDRIVERDETAILS LPACMDRIVERDETAILSA
550 #define ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC mmioFOURCC('a', 'u', 'd', 'c')
551 #define ACMDRIVERDETAILS_FCCCOMP_UNDEFINED mmioFOURCC('\0', '\0', '\0', '\0')
590 #define ACMDRIVERDETAILS_SUPPORTF_CODEC 0x00000001L
591 #define ACMDRIVERDETAILS_SUPPORTF_CONVERTER 0x00000002L
592 #define ACMDRIVERDETAILS_SUPPORTF_FILTER 0x00000004L
593 #define ACMDRIVERDETAILS_SUPPORTF_HARDWARE 0x00000008L
594 #define ACMDRIVERDETAILS_SUPPORTF_ASYNC 0x00000010L
595 #define ACMDRIVERDETAILS_SUPPORTF_LOCAL 0x40000000L
596 #define ACMDRIVERDETAILS_SUPPORTF_DISABLED 0x80000000L
599 MMRESULT
ACMAPI acmDriverDetailsA
602 LPACMDRIVERDETAILSA padd,
606 MMRESULT
ACMAPI acmDriverDetailsW
609 LPACMDRIVERDETAILSW padd,
614 #define acmDriverDetails acmDriverDetailsW
616 #define acmDriverDetails acmDriverDetailsA
622 LPACMDRIVERDETAILS padd,
645 #define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48
648 typedef struct tACMFORMATTAGDETAILSA
651 DWORD dwFormatTagIndex;
655 DWORD cStandardFormats;
658 } ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA,
FAR *LPACMFORMATTAGDETAILSA;
660 typedef struct tACMFORMATTAGDETAILSW
663 DWORD dwFormatTagIndex;
667 DWORD cStandardFormats;
670 } ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW,
FAR *LPACMFORMATTAGDETAILSW;
673 #define ACMFORMATTAGDETAILS ACMFORMATTAGDETAILSW
674 #define PACMFORMATTAGDETAILS PACMFORMATTAGDETAILSW
675 #define LPACMFORMATTAGDETAILS LPACMFORMATTAGDETAILSW
677 #define ACMFORMATTAGDETAILS ACMFORMATTAGDETAILSA
678 #define PACMFORMATTAGDETAILS PACMFORMATTAGDETAILSA
679 #define LPACMFORMATTAGDETAILS LPACMFORMATTAGDETAILSA
696 MMRESULT
ACMAPI acmFormatTagDetailsA
699 LPACMFORMATTAGDETAILSA
paftd,
703 MMRESULT
ACMAPI acmFormatTagDetailsW
706 LPACMFORMATTAGDETAILSW
paftd,
711 #define acmFormatTagDetails acmFormatTagDetailsW
713 #define acmFormatTagDetails acmFormatTagDetailsA
719 LPACMFORMATTAGDETAILS
paftd,
724 #define ACM_FORMATTAGDETAILSF_INDEX 0x00000000L
725 #define ACM_FORMATTAGDETAILSF_FORMATTAG 0x00000001L
726 #define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L
727 #define ACM_FORMATTAGDETAILSF_QUERYMASK 0x0000000FL
741 LPACMFORMATTAGDETAILSA
paftd,
746 MMRESULT
ACMAPI acmFormatTagEnumA
749 LPACMFORMATTAGDETAILSA paftd,
750 ACMFORMATTAGENUMCBA fnCallback,
757 LPACMFORMATTAGDETAILSW
paftd,
762 MMRESULT
ACMAPI acmFormatTagEnumW
765 LPACMFORMATTAGDETAILSW paftd,
766 ACMFORMATTAGENUMCBW fnCallback,
772 #define ACMFORMATTAGENUMCB ACMFORMATTAGENUMCBW
773 #define acmFormatTagEnum acmFormatTagEnumW
775 #define ACMFORMATTAGENUMCB ACMFORMATTAGENUMCBA
776 #define acmFormatTagEnum acmFormatTagEnumA
790 LPACMFORMATTAGDETAILS paftd,
791 ACMFORMATTAGENUMCB fnCallback,
813 #define ACMFORMATDETAILS_FORMAT_CHARS 128
816 typedef struct tACMFORMATDETAILSA
826 } ACMFORMATDETAILSA, *PACMFORMATDETAILSA,
FAR *LPACMFORMATDETAILSA;
828 typedef struct tACMFORMATDETAILSW
838 } ACMFORMATDETAILSW, *PACMFORMATDETAILSW,
FAR *LPACMFORMATDETAILSW;
841 #define ACMFORMATDETAILS ACMFORMATDETAILSW
842 #define PACMFORMATDETAILS PACMFORMATDETAILSW
843 #define LPACMFORMATDETAILS LPACMFORMATDETAILSW
845 #define ACMFORMATDETAILS ACMFORMATDETAILSA
846 #define PACMFORMATDETAILS PACMFORMATDETAILSA
847 #define LPACMFORMATDETAILS LPACMFORMATDETAILSA
864 MMRESULT
ACMAPI acmFormatDetailsA
867 LPACMFORMATDETAILSA
pafd,
871 MMRESULT
ACMAPI acmFormatDetailsW
874 LPACMFORMATDETAILSW
pafd,
879 #define acmFormatDetails acmFormatDetailsW
881 #define acmFormatDetails acmFormatDetailsA
887 LPACMFORMATDETAILS
pafd,
892 #define ACM_FORMATDETAILSF_INDEX 0x00000000L
893 #define ACM_FORMATDETAILSF_FORMAT 0x00000001L
894 #define ACM_FORMATDETAILSF_QUERYMASK 0x0000000FL
907 LPACMFORMATDETAILSA
pafd,
912 MMRESULT
ACMAPI acmFormatEnumA
915 LPACMFORMATDETAILSA pafd,
916 ACMFORMATENUMCBA fnCallback,
924 LPACMFORMATDETAILSW
pafd,
929 MMRESULT
ACMAPI acmFormatEnumW
932 LPACMFORMATDETAILSW pafd,
933 ACMFORMATENUMCBW fnCallback,
939 #define ACMFORMATENUMCB ACMFORMATENUMCBW
940 #define acmFormatEnum acmFormatEnumW
942 #define ACMFORMATENUMCB ACMFORMATENUMCBA
943 #define acmFormatEnum acmFormatEnumA
957 LPACMFORMATDETAILS pafd,
958 ACMFORMATENUMCB fnCallback,
964 #define ACM_FORMATENUMF_WFORMATTAG 0x00010000L
965 #define ACM_FORMATENUMF_NCHANNELS 0x00020000L
966 #define ACM_FORMATENUMF_NSAMPLESPERSEC 0x00040000L
967 #define ACM_FORMATENUMF_WBITSPERSAMPLE 0x00080000L
968 #define ACM_FORMATENUMF_CONVERT 0x00100000L
969 #define ACM_FORMATENUMF_SUGGEST 0x00200000L
970 #define ACM_FORMATENUMF_HARDWARE 0x00400000L
971 #define ACM_FORMATENUMF_INPUT 0x00800000L
972 #define ACM_FORMATENUMF_OUTPUT 0x01000000L
991 #define ACM_FORMATSUGGESTF_WFORMATTAG 0x00010000L
992 #define ACM_FORMATSUGGESTF_NCHANNELS 0x00020000L
993 #define ACM_FORMATSUGGESTF_NSAMPLESPERSEC 0x00040000L
994 #define ACM_FORMATSUGGESTF_WBITSPERSAMPLE 0x00080000L
996 #define ACM_FORMATSUGGESTF_TYPEMASK 0x00FF0000L
1006 #define ACMHELPMSGSTRINGA "acmchoose_help"
1007 #define ACMHELPMSGSTRINGW L"acmchoose_help"
1008 #define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"
1009 #define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu"
1010 #define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"
1011 #define ACMHELPMSGCONTEXTHELPW L"acmchoose_contexthelp"
1013 #define ACMHELPMSGSTRING ACMHELPMSGSTRINGW
1014 #define ACMHELPMSGCONTEXTMENU ACMHELPMSGCONTEXTMENUW
1015 #define ACMHELPMSGCONTEXTHELP ACMHELPMSGCONTEXTHELPW
1017 #define ACMHELPMSGSTRING ACMHELPMSGSTRINGA
1018 #define ACMHELPMSGCONTEXTMENU ACMHELPMSGCONTEXTMENUA
1019 #define ACMHELPMSGCONTEXTHELP ACMHELPMSGCONTEXTHELPA
1022 #define ACMHELPMSGSTRING "acmchoose_help"
1023 #define ACMHELPMSGCONTEXTMENU "acmchoose_contextmenu"
1024 #define ACMHELPMSGCONTEXTHELP "acmchoose_contexthelp"
1031 #define MM_ACM_FORMATCHOOSE (0x8000)
1033 #define FORMATCHOOSE_MESSAGE 0
1034 #define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0)
1035 #define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1)
1036 #define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2)
1056 #define ACMFORMATCHOOSEHOOKPROC ACMFORMATCHOOSEHOOKPROCW
1058 #define ACMFORMATCHOOSEHOOKPROC ACMFORMATCHOOSEHOOKPROCA
1075 typedef struct tACMFORMATCHOOSEA
1096 LPCSTR pszTemplateName;
1098 ACMFORMATCHOOSEHOOKPROCA pfnHook;
1100 } ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA,
FAR *LPACMFORMATCHOOSEA;
1102 typedef struct tACMFORMATCHOOSEW
1123 LPCWSTR pszTemplateName;
1125 ACMFORMATCHOOSEHOOKPROCW pfnHook;
1127 } ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW,
FAR *LPACMFORMATCHOOSEW;
1130 #define ACMFORMATCHOOSE ACMFORMATCHOOSEW
1131 #define PACMFORMATCHOOSE PACMFORMATCHOOSEW
1132 #define LPACMFORMATCHOOSE LPACMFORMATCHOOSEW
1134 #define ACMFORMATCHOOSE ACMFORMATCHOOSEA
1135 #define PACMFORMATCHOOSE PACMFORMATCHOOSEA
1136 #define LPACMFORMATCHOOSE LPACMFORMATCHOOSEA
1172 #define ACMFORMATCHOOSE_STYLEF_SHOWHELP 0x00000004L
1173 #define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
1174 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
1175 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
1176 #define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 0x00000040L
1177 #define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
1180 MMRESULT
ACMAPI acmFormatChooseA
1182 LPACMFORMATCHOOSEA pafmtc
1185 MMRESULT
ACMAPI acmFormatChooseW
1187 LPACMFORMATCHOOSEW pafmtc
1191 #define acmFormatChoose acmFormatChooseW
1193 #define acmFormatChoose acmFormatChooseA
1198 LPACMFORMATCHOOSE pafmtc
1218 #define ACMFILTERTAGDETAILS_FILTERTAG_CHARS 48
1221 typedef struct tACMFILTERTAGDETAILSA
1224 DWORD dwFilterTagIndex;
1228 DWORD cStandardFilters;
1231 } ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA,
FAR *LPACMFILTERTAGDETAILSA;
1233 typedef struct tACMFILTERTAGDETAILSW
1236 DWORD dwFilterTagIndex;
1240 DWORD cStandardFilters;
1243 } ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW,
FAR *LPACMFILTERTAGDETAILSW;
1246 #define ACMFILTERTAGDETAILS ACMFILTERTAGDETAILSW
1247 #define PACMFILTERTAGDETAILS PACMFILTERTAGDETAILSW
1248 #define LPACMFILTERTAGDETAILS LPACMFILTERTAGDETAILSW
1250 #define ACMFILTERTAGDETAILS ACMFILTERTAGDETAILSA
1251 #define PACMFILTERTAGDETAILS PACMFILTERTAGDETAILSA
1252 #define LPACMFILTERTAGDETAILS LPACMFILTERTAGDETAILSA
1269 MMRESULT
ACMAPI acmFilterTagDetailsA
1272 LPACMFILTERTAGDETAILSA paftd,
1276 MMRESULT
ACMAPI acmFilterTagDetailsW
1279 LPACMFILTERTAGDETAILSW paftd,
1284 #define acmFilterTagDetails acmFilterTagDetailsW
1286 #define acmFilterTagDetails acmFilterTagDetailsA
1292 LPACMFILTERTAGDETAILS paftd,
1297 #define ACM_FILTERTAGDETAILSF_INDEX 0x00000000L
1298 #define ACM_FILTERTAGDETAILSF_FILTERTAG 0x00000001L
1299 #define ACM_FILTERTAGDETAILSF_LARGESTSIZE 0x00000002L
1300 #define ACM_FILTERTAGDETAILSF_QUERYMASK 0x0000000FL
1314 LPACMFILTERTAGDETAILSA
paftd,
1319 MMRESULT
ACMAPI acmFilterTagEnumA
1322 LPACMFILTERTAGDETAILSA paftd,
1323 ACMFILTERTAGENUMCBA fnCallback,
1331 LPACMFILTERTAGDETAILSW
paftd,
1336 MMRESULT
ACMAPI acmFilterTagEnumW
1339 LPACMFILTERTAGDETAILSW paftd,
1340 ACMFILTERTAGENUMCBW fnCallback,
1346 #define ACMFILTERTAGENUMCB ACMFILTERTAGENUMCBW
1347 #define acmFilterTagEnum acmFilterTagEnumW
1349 #define ACMFILTERTAGENUMCB ACMFILTERTAGENUMCBA
1350 #define acmFilterTagEnum acmFilterTagEnumA
1356 LPACMFILTERTAGDETAILS
paftd,
1364 LPACMFILTERTAGDETAILS paftd,
1365 ACMFILTERTAGENUMCB fnCallback,
1387 #define ACMFILTERDETAILS_FILTER_CHARS 128
1390 typedef struct tACMFILTERDETAILSA
1393 DWORD dwFilterIndex;
1400 } ACMFILTERDETAILSA, *PACMFILTERDETAILSA,
FAR *LPACMFILTERDETAILSA;
1402 typedef struct tACMFILTERDETAILSW
1405 DWORD dwFilterIndex;
1412 } ACMFILTERDETAILSW, *PACMFILTERDETAILSW,
FAR *LPACMFILTERDETAILSW;
1415 #define ACMFILTERDETAILS ACMFILTERDETAILSW
1416 #define PACMFILTERDETAILS PACMFILTERDETAILSW
1417 #define LPACMFILTERDETAILS LPACMFILTERDETAILSW
1419 #define ACMFILTERDETAILS ACMFILTERDETAILSA
1420 #define PACMFILTERDETAILS PACMFILTERDETAILSA
1421 #define LPACMFILTERDETAILS LPACMFILTERDETAILSA
1438 MMRESULT
ACMAPI acmFilterDetailsA
1441 LPACMFILTERDETAILSA pafd,
1445 MMRESULT
ACMAPI acmFilterDetailsW
1448 LPACMFILTERDETAILSW pafd,
1452 #define acmFilterDetails acmFilterDetailsW
1454 #define acmFilterDetails acmFilterDetailsA
1460 LPACMFILTERDETAILS pafd,
1465 #define ACM_FILTERDETAILSF_INDEX 0x00000000L
1466 #define ACM_FILTERDETAILSF_FILTER 0x00000001L
1467 #define ACM_FILTERDETAILSF_QUERYMASK 0x0000000FL
1480 LPACMFILTERDETAILSA
pafd,
1485 MMRESULT
ACMAPI acmFilterEnumA
1488 LPACMFILTERDETAILSA pafd,
1489 ACMFILTERENUMCBA fnCallback,
1497 LPACMFILTERDETAILSW
pafd,
1502 MMRESULT
ACMAPI acmFilterEnumW
1505 LPACMFILTERDETAILSW pafd,
1506 ACMFILTERENUMCBW fnCallback,
1512 #define ACMFILTERENUMCB ACMFILTERENUMCBW
1513 #define acmFilterEnum acmFilterEnumW
1515 #define ACMFILTERENUMCB ACMFILTERENUMCBA
1516 #define acmFilterEnum acmFilterEnumA
1522 LPACMFILTERDETAILS
pafd,
1530 LPACMFILTERDETAILS pafd,
1531 ACMFILTERENUMCB fnCallback,
1537 #define ACM_FILTERENUMF_DWFILTERTAG 0x00010000L
1550 #define MM_ACM_FILTERCHOOSE (0x8000)
1552 #define FILTERCHOOSE_MESSAGE 0
1553 #define FILTERCHOOSE_FILTERTAG_VERIFY (FILTERCHOOSE_MESSAGE+0)
1554 #define FILTERCHOOSE_FILTER_VERIFY (FILTERCHOOSE_MESSAGE+1)
1555 #define FILTERCHOOSE_CUSTOM_VERIFY (FILTERCHOOSE_MESSAGE+2)
1575 #define ACMFILTERCHOOSEHOOKPROC ACMFILTERCHOOSEHOOKPROCW
1577 #define ACMFILTERCHOOSEHOOKPROC ACMFILTERCHOOSEHOOKPROCA
1594 typedef struct tACMFILTERCHOOSEA
1615 LPCSTR pszTemplateName;
1617 ACMFILTERCHOOSEHOOKPROCA pfnHook;
1619 } ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA,
FAR *LPACMFILTERCHOOSEA;
1621 typedef struct tACMFILTERCHOOSEW
1642 LPCWSTR pszTemplateName;
1644 ACMFILTERCHOOSEHOOKPROCW pfnHook;
1646 } ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW,
FAR *LPACMFILTERCHOOSEW;
1649 #define ACMFILTERCHOOSE ACMFILTERCHOOSEW
1650 #define PACMFILTERCHOOSE PACMFILTERCHOOSEW
1651 #define LPACMFILTERCHOOSE LPACMFILTERCHOOSEW
1653 #define ACMFILTERCHOOSE ACMFILTERCHOOSEA
1654 #define PACMFILTERCHOOSE PACMFILTERCHOOSEA
1655 #define LPACMFILTERCHOOSE LPACMFILTERCHOOSEA
1690 #define ACMFILTERCHOOSE_STYLEF_SHOWHELP 0x00000004L
1691 #define ACMFILTERCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
1692 #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
1693 #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
1694 #define ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT 0x00000040L
1695 #define ACMFILTERCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
1698 MMRESULT
ACMAPI acmFilterChooseA
1700 LPACMFILTERCHOOSEA pafltrc
1703 MMRESULT
ACMAPI acmFilterChooseW
1705 LPACMFILTERCHOOSEW pafltrc
1709 #define acmFilterChoose acmFilterChooseW
1711 #define acmFilterChoose acmFilterChooseA
1716 LPACMFILTERCHOOSE pafltrc
1757 #define ACMSTREAMHEADER_STATUSF_DONE 0x00010000L
1758 #define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L
1759 #define ACMSTREAMHEADER_STATUSF_INQUEUE 0x00100000L
1773 #define ACM_STREAMOPENF_QUERY 0x00000001
1774 #define ACM_STREAMOPENF_ASYNC 0x00000002
1775 #define ACM_STREAMOPENF_NONREALTIME 0x00000004
1805 #define ACM_STREAMSIZEF_SOURCE 0x00000000L
1806 #define ACM_STREAMSIZEF_DESTINATION 0x00000001L
1807 #define ACM_STREAMSIZEF_QUERYMASK 0x0000000FL
1847 LPACMSTREAMHEADER pash,
1851 #define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004
1852 #define ACM_STREAMCONVERTF_START 0x00000010
1853 #define ACM_STREAMCONVERTF_END 0x00000020
1865 LPACMSTREAMHEADER pash,
1879 LPACMSTREAMHEADER pash,
MMRESULT ACMAPI acmDriverEnum(ACMDRIVERENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum)
#define ACMFORMATDETAILS_FORMAT_CHARS
struct tACMFORMATDETAILS * PACMFORMATDETAILS
struct tACMDRIVERDETAILS * LPACMDRIVERDETAILS
struct tACMSTREAMHEADER * LPACMSTREAMHEADER
char szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]
struct tACMDRIVERDETAILS * PACMDRIVERDETAILS
WAVEFILTER FAR * LPWAVEFILTER
MMRESULT ACMAPI acmDriverClose(HACMDRIVER had, DWORD fdwClose)
#define ACMDRIVERDETAILS_FEATURES_CHARS
struct tACMDRIVERDETAILS ACMDRIVERDETAILS
struct tACMFILTERCHOOSE * LPACMFILTERCHOOSE
DECLARE_HANDLE(HACMDRIVERID)
MMRESULT ACMAPI acmStreamOpen(LPHACMSTREAM phas, HACMDRIVER had, LPWAVEFORMATEX pwfxSrc, LPWAVEFORMATEX pwfxDst, LPWAVEFILTER pwfltr, DWORD dwCallback, DWORD dwInstance, DWORD fdwOpen)
MMRESULT ACMAPI acmMetrics(HACMOBJ hao, UINT uMetric, LPVOID pMetric)
DWORD dwReservedDriver[10]
struct tACMFILTERCHOOSE * PACMFILTERCHOOSE
struct tACMFILTERDETAILS * PACMFILTERDETAILS
MMRESULT ACMAPI acmStreamReset(HACMSTREAM has, DWORD fdwReset)
#define ACMDRIVERDETAILS_LICENSING_CHARS
struct tACMFORMATCHOOSE * PACMFORMATCHOOSE
struct tACMFORMATTAGDETAILS * LPACMFORMATTAGDETAILS
struct tACMFORMATCHOOSE * LPACMFORMATCHOOSE
char szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS]
LRESULT(CALLBACK * ACMDRIVERPROC)(DWORD, HACMDRIVERID, UINT, LPARAM, LPARAM)
typedef UINT(CALLBACK *ACMFORMATCHOOSEHOOKPROC)(HWND hwnd
UINT WPARAM LPARAM lParam
ACMFORMATCHOOSEHOOKPROC pfnHook
MMRESULT ACMAPI acmFilterTagDetails(HACMDRIVER had, LPACMFILTERTAGDETAILS paftd, DWORD fdwDetails)
ACMDRIVERPROC FAR * LPACMDRIVERPROC
MMRESULT ACMAPI acmDriverDetails(HACMDRIVERID hadid, LPACMDRIVERDETAILS padd, DWORD fdwDetails)
LPACMFORMATTAGDETAILS paftd
LRESULT ACMAPI acmDriverMessage(HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2)
typedef BOOL(CALLBACK *ACMDRIVERENUMCB)(HACMDRIVERID hadid
struct tACMFILTERTAGDETAILS * LPACMFILTERTAGDETAILS
HACMSTREAM FAR * LPHACMSTREAM
#define ACMDRIVERDETAILS_SHORTNAME_CHARS
DWORD ACMAPI acmGetVersion(void)
HACMDRIVERID * PHACMDRIVERID
struct tACMFORMATDETAILS * LPACMFORMATDETAILS
struct tACMFORMATTAGDETAILS * PACMFORMATTAGDETAILS
char szFilter[ACMFILTERDETAILS_FILTER_CHARS]
struct tACMFILTERTAGDETAILS ACMFILTERTAGDETAILS
MMRESULT ACMAPI acmDriverRemove(HACMDRIVERID hadid, DWORD fdwRemove)
char szFormat[ACMFORMATDETAILS_FORMAT_CHARS]
MMRESULT ACMAPI acmStreamConvert(HACMSTREAM has, LPACMSTREAMHEADER pash, DWORD fdwConvert)
struct tACMSTREAMHEADER * PACMSTREAMHEADER
MMRESULT ACMAPI acmFilterDetails(HACMDRIVER had, LPACMFILTERDETAILS pafd, DWORD fdwDetails)
MMRESULT ACMAPI acmDriverID(HACMOBJ hao, LPHACMDRIVERID phadid, DWORD fdwDriverID)
MMRESULT ACMAPI acmFilterTagEnum(HACMDRIVER had, LPACMFILTERTAGDETAILS paftd, ACMFILTERTAGENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum)
struct tACMFILTERCHOOSE ACMFILTERCHOOSE
MMRESULT ACMAPI acmStreamPrepareHeader(HACMSTREAM has, LPACMSTREAMHEADER pash, DWORD fdwPrepare)
char szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS]
char szFormat[ACMFORMATDETAILS_FORMAT_CHARS]
MMRESULT ACMAPI acmFormatDetails(HACMDRIVER had, LPACMFORMATDETAILS pafd, DWORD fdwDetails)
char szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS]
#define ACMFILTERDETAILS_FILTER_CHARS
MMRESULT ACMAPI acmFormatEnum(HACMDRIVER had, LPACMFORMATDETAILS pafd, ACMFORMATENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum)
ACMFILTERCHOOSEHOOKPROC pfnHook
MMRESULT ACMAPI acmStreamMessage(HACMSTREAM has, UINT uMsg, LPARAM lParam1, LPARAM lParam2)
struct tACMFILTERDETAILS ACMFILTERDETAILS
WAVEFORMATEX FAR * LPWAVEFORMATEX
MMRESULT ACMAPI acmFilterChoose(LPACMFILTERCHOOSE pafltrc)
MMRESULT ACMAPI acmStreamSize(HACMSTREAM has, DWORD cbInput, LPDWORD pdwOutputBytes, DWORD fdwSize)
MMRESULT ACMAPI acmFormatTagEnum(HACMDRIVER had, LPACMFORMATTAGDETAILS paftd, ACMFORMATTAGENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum)
MMRESULT ACMAPI acmDriverAdd(LPHACMDRIVERID phadid, HINSTANCE hinstModule, LPARAM lParam, DWORD dwPriority, DWORD fdwAdd)
MMRESULT ACMAPI acmStreamClose(HACMSTREAM has, DWORD fdwClose)
MMRESULT ACMAPI acmDriverPriority(HACMDRIVERID hadid, DWORD dwPriority, DWORD fdwPriority)
#define ACMDRIVERDETAILS_COPYRIGHT_CHARS
MMRESULT ACMAPI acmFormatChoose(LPACMFORMATCHOOSE pafmtc)
struct tACMSTREAMHEADER ACMSTREAMHEADER
struct tACMFILTERDETAILS * LPACMFILTERDETAILS
struct tACMFILTERTAGDETAILS * PACMFILTERTAGDETAILS
MMRESULT ACMAPI acmFilterEnum(HACMDRIVER had, LPACMFILTERDETAILS pafd, ACMFILTERENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum)
HACMDRIVERID FAR * LPHACMDRIVERID
struct tACMFORMATTAGDETAILS ACMFORMATTAGDETAILS
#define ACMFORMATTAGDETAILS_FORMATTAG_CHARS
char szFilter[ACMFILTERDETAILS_FILTER_CHARS]
#define ACMDRIVERDETAILS_LONGNAME_CHARS
struct tACMFORMATDETAILS ACMFORMATDETAILS
HACMDRIVER FAR * LPHACMDRIVER
MMRESULT ACMAPI acmStreamUnprepareHeader(HACMSTREAM has, LPACMSTREAMHEADER pash, DWORD fdwUnprepare)
char szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS]
MMRESULT ACMAPI acmDriverOpen(LPHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen)
char szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]
char szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS]
char szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]
MMRESULT ACMAPI acmFormatTagDetails(HACMDRIVER had, LPACMFORMATTAGDETAILS paftd, DWORD fdwDetails)
struct tACMFORMATCHOOSE ACMFORMATCHOOSE
#define ACMFILTERTAGDETAILS_FILTERTAG_CHARS
char szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]
MMRESULT ACMAPI acmFormatSuggest(HACMDRIVER had, LPWAVEFORMATEX pwfxSrc, LPWAVEFORMATEX pwfxDst, DWORD cbwfxDst, DWORD fdwSuggest)