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)