123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950 |
- //==========================================================================;
- //
- // msacm.h
- //
- // Copyright (c) 1992-1999 Microsoft Corporation. All Rights Reserved.
- //
- // Description:
- // Audio Compression Manager Public Header File
- //
- // History:
- //
- //==========================================================================;
- #ifndef _INC_ACM
- #define _INC_ACM /* #defined if msacm.h has been included */
- #if _MSC_VER > 1000
- #pragma once
- #endif
- #if !defined(_INC_MMREG) || (_INC_MMREG < 142)
- #ifndef RC_INVOKED
- #error MMREG.H version 142 or greater to be included first
- #endif
- #endif
- #if defined(WIN32) && !defined(_WIN32)
- #ifndef RC_INVOKED
- #pragma message("MSACM.H: defining _WIN32 because application defined WIN32")
- #endif
- #define _WIN32
- #endif
- #if defined(UNICODE) && !defined(_UNICODE)
- #ifndef RC_INVOKED
- #pragma message("MSACM.H: defining _UNICODE because application defined UNICODE")
- #endif
- #define _UNICODE
- #endif
- #include "pshpack1.h" /* Assume byte packing throughout */
- #ifdef __cplusplus
- extern "C" { /* Assume C declarations for C++ */
- #endif /* __cplusplus */
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- //
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- #ifndef DRV_MAPPER_PREFERRED_INPUT_GET
- #define DRV_MAPPER_PREFERRED_INPUT_GET (DRV_USER + 0)
- #endif
- #ifndef DRV_MAPPER_PREFERRED_OUTPUT_GET
- #define DRV_MAPPER_PREFERRED_OUTPUT_GET (DRV_USER + 2)
- #endif
- #ifndef DRVM_MAPPER_STATUS
- #define DRVM_MAPPER 0x2000
- #define DRVM_MAPPER_STATUS (DRVM_MAPPER+0)
- #endif
- #ifndef WIDM_MAPPER_STATUS
- #define WIDM_MAPPER_STATUS (DRVM_MAPPER_STATUS + 0)
- #define WAVEIN_MAPPER_STATUS_DEVICE 0
- #define WAVEIN_MAPPER_STATUS_MAPPED 1
- #define WAVEIN_MAPPER_STATUS_FORMAT 2
- #endif
- #ifndef WODM_MAPPER_STATUS
- #define WODM_MAPPER_STATUS (DRVM_MAPPER_STATUS + 0)
- #define WAVEOUT_MAPPER_STATUS_DEVICE 0
- #define WAVEOUT_MAPPER_STATUS_MAPPED 1
- #define WAVEOUT_MAPPER_STATUS_FORMAT 2
- #endif
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- #ifdef _WIN32
- #define ACMAPI WINAPI
- #else
- #ifdef _WINDLL
- #define ACMAPI _far _pascal _loadds
- #else
- #define ACMAPI _far _pascal
- #endif
- #endif
- //--------------------------------------------------------------------------;
- //
- // ACM General API's and Defines
- //
- //
- //
- //
- //--------------------------------------------------------------------------;
- //
- // there are four types of 'handles' used by the ACM. the first three
- // are unique types that define specific objects:
- //
- // HACMDRIVERID: used to _identify_ an ACM driver. this identifier can be
- // used to _open_ the driver for querying details, etc about the driver.
- //
- // HACMDRIVER: used to manage a driver (codec, filter, etc). this handle
- // is much like a handle to other media drivers--you use it to send
- // messages to the converter, query for capabilities, etc.
- //
- // HACMSTREAM: used to manage a 'stream' (conversion channel) with the
- // ACM. you use a stream handle to convert data from one format/type
- // to another--much like dealing with a file handle.
- //
- //
- // the fourth handle type is a generic type used on ACM functions that
- // can accept two or more of the above handle types (for example the
- // acmMetrics and acmDriverID functions).
- //
- // HACMOBJ: used to identify ACM objects. this handle is used on functions
- // that can accept two or more ACM handle types.
- //
- DECLARE_HANDLE(HACMDRIVERID);
- typedef HACMDRIVERID *PHACMDRIVERID;
- typedef HACMDRIVERID FAR *LPHACMDRIVERID;
- DECLARE_HANDLE(HACMDRIVER);
- typedef HACMDRIVER *PHACMDRIVER;
- typedef HACMDRIVER FAR *LPHACMDRIVER;
- DECLARE_HANDLE(HACMSTREAM);
- typedef HACMSTREAM *PHACMSTREAM;
- typedef HACMSTREAM FAR *LPHACMSTREAM;
- DECLARE_HANDLE(HACMOBJ);
- typedef HACMOBJ *PHACMOBJ;
- typedef HACMOBJ FAR *LPHACMOBJ;
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // ACM Error Codes
- //
- // Note that these error codes are specific errors that apply to the ACM
- // directly--general errors are defined as MMSYSERR_*.
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- #ifndef _MMRESULT_
- #define _MMRESULT_
- typedef UINT MMRESULT;
- #endif
- #define ACMERR_BASE (512)
- #define ACMERR_NOTPOSSIBLE (ACMERR_BASE + 0)
- #define ACMERR_BUSY (ACMERR_BASE + 1)
- #define ACMERR_UNPREPARED (ACMERR_BASE + 2)
- #define ACMERR_CANCELED (ACMERR_BASE + 3)
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // ACM Window Messages
- //
- // These window messages are sent by the ACM or ACM drivers to notify
- // applications of events.
- //
- // Note that these window message numbers will also be defined in
- // mmsystem.
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- #define MM_ACM_OPEN (MM_STREAM_OPEN) // conversion callback messages
- #define MM_ACM_CLOSE (MM_STREAM_CLOSE)
- #define MM_ACM_DONE (MM_STREAM_DONE)
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmGetVersion()
- //
- // the ACM version is a 32 bit number that is broken into three parts as
- // follows:
- //
- // bits 24 - 31: 8 bit _major_ version number
- // bits 16 - 23: 8 bit _minor_ version number
- // bits 0 - 15: 16 bit build number
- //
- // this is then displayed as follows:
- //
- // bMajor = (BYTE)(dwVersion >> 24)
- // bMinor = (BYTE)(dwVersion >> 16) &
- // wBuild = LOWORD(dwVersion)
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- DWORD ACMAPI acmGetVersion
- (
- void
- );
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmMetrics()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- MMRESULT ACMAPI acmMetrics
- (
- HACMOBJ hao,
- UINT uMetric,
- LPVOID pMetric
- );
- #define ACM_METRIC_COUNT_DRIVERS 1
- #define ACM_METRIC_COUNT_CODECS 2
- #define ACM_METRIC_COUNT_CONVERTERS 3
- #define ACM_METRIC_COUNT_FILTERS 4
- #define ACM_METRIC_COUNT_DISABLED 5
- #define ACM_METRIC_COUNT_HARDWARE 6
- #define ACM_METRIC_COUNT_LOCAL_DRIVERS 20
- #define ACM_METRIC_COUNT_LOCAL_CODECS 21
- #define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22
- #define ACM_METRIC_COUNT_LOCAL_FILTERS 23
- #define ACM_METRIC_COUNT_LOCAL_DISABLED 24
- #define ACM_METRIC_HARDWARE_WAVE_INPUT 30
- #define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31
- #define ACM_METRIC_MAX_SIZE_FORMAT 50
- #define ACM_METRIC_MAX_SIZE_FILTER 51
- #define ACM_METRIC_DRIVER_SUPPORT 100
- #define ACM_METRIC_DRIVER_PRIORITY 101
- //--------------------------------------------------------------------------;
- //
- // ACM Drivers
- //
- //
- //
- //
- //--------------------------------------------------------------------------;
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmDriverEnum()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- typedef BOOL (CALLBACK *ACMDRIVERENUMCB)
- (
- HACMDRIVERID hadid,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
- );
- MMRESULT ACMAPI acmDriverEnum
- (
- ACMDRIVERENUMCB fnCallback,
- DWORD_PTR dwInstance,
- DWORD fdwEnum
- );
- #define ACM_DRIVERENUMF_NOLOCAL 0x40000000L
- #define ACM_DRIVERENUMF_DISABLED 0x80000000L
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmDriverID()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- MMRESULT ACMAPI acmDriverID
- (
- HACMOBJ hao,
- LPHACMDRIVERID phadid,
- DWORD fdwDriverID
- );
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmDriverAdd()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- #ifdef _WIN32
- MMRESULT ACMAPI acmDriverAddA
- (
- LPHACMDRIVERID phadid,
- HINSTANCE hinstModule,
- LPARAM lParam,
- DWORD dwPriority,
- DWORD fdwAdd
- );
- MMRESULT ACMAPI acmDriverAddW
- (
- LPHACMDRIVERID phadid,
- HINSTANCE hinstModule,
- LPARAM lParam,
- DWORD dwPriority,
- DWORD fdwAdd
- );
- #ifdef _UNICODE
- #define acmDriverAdd acmDriverAddW
- #else
- #define acmDriverAdd acmDriverAddA
- #endif
- #else
- MMRESULT ACMAPI acmDriverAdd
- (
- LPHACMDRIVERID phadid,
- HINSTANCE hinstModule,
- LPARAM lParam,
- DWORD dwPriority,
- DWORD fdwAdd
- );
- #endif
- #define ACM_DRIVERADDF_NAME 0x00000001L
- #define ACM_DRIVERADDF_FUNCTION 0x00000003L // lParam is a procedure
- #define ACM_DRIVERADDF_NOTIFYHWND 0x00000004L // lParam is notify hwnd
- #define ACM_DRIVERADDF_TYPEMASK 0x00000007L // driver type mask
- #define ACM_DRIVERADDF_LOCAL 0x00000000L // is local to current task
- #define ACM_DRIVERADDF_GLOBAL 0x00000008L // is global
- //
- // prototype for ACM driver procedures that are installed as _functions_
- // or _notifations_ instead of as a standalone installable driver.
- //
- typedef LRESULT (CALLBACK *ACMDRIVERPROC)(DWORD_PTR, HACMDRIVERID, UINT, LPARAM, LPARAM);
- typedef ACMDRIVERPROC FAR *LPACMDRIVERPROC;
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmDriverRemove()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- MMRESULT ACMAPI acmDriverRemove
- (
- HACMDRIVERID hadid,
- DWORD fdwRemove
- );
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmDriverOpen()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- MMRESULT ACMAPI acmDriverOpen
- (
- LPHACMDRIVER phad,
- HACMDRIVERID hadid,
- DWORD fdwOpen
- );
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmDriverClose()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- MMRESULT ACMAPI acmDriverClose
- (
- HACMDRIVER had,
- DWORD fdwClose
- );
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmDriverMessage()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- LRESULT ACMAPI acmDriverMessage
- (
- HACMDRIVER had,
- UINT uMsg,
- LPARAM lParam1,
- LPARAM lParam2
- );
- //
- //
- //
- //
- #define ACMDM_USER (DRV_USER + 0x0000)
- #define ACMDM_RESERVED_LOW (DRV_USER + 0x2000)
- #define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF)
- #define ACMDM_BASE ACMDM_RESERVED_LOW
- #define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11)
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmDriverPriority
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- MMRESULT ACMAPI acmDriverPriority
- (
- HACMDRIVERID hadid,
- DWORD dwPriority,
- DWORD fdwPriority
- );
- #define ACM_DRIVERPRIORITYF_ENABLE 0x00000001L
- #define ACM_DRIVERPRIORITYF_DISABLE 0x00000002L
- #define ACM_DRIVERPRIORITYF_ABLEMASK 0x00000003L
- #define ACM_DRIVERPRIORITYF_BEGIN 0x00010000L
- #define ACM_DRIVERPRIORITYF_END 0x00020000L
- #define ACM_DRIVERPRIORITYF_DEFERMASK 0x00030000L
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmDriverDetails()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // ACMDRIVERDETAILS
- //
- // the ACMDRIVERDETAILS structure is used to get various capabilities from
- // an ACM driver (codec, converter, filter).
- //
- #define ACMDRIVERDETAILS_SHORTNAME_CHARS 32
- #define ACMDRIVERDETAILS_LONGNAME_CHARS 128
- #define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80
- #define ACMDRIVERDETAILS_LICENSING_CHARS 128
- #define ACMDRIVERDETAILS_FEATURES_CHARS 512
- #ifdef _WIN32
- typedef struct tACMDRIVERDETAILSA
- {
- DWORD cbStruct; // number of valid bytes in structure
- FOURCC fccType; // compressor type 'audc'
- FOURCC fccComp; // sub-type (not used; reserved)
- WORD wMid; // manufacturer id
- WORD wPid; // product id
- DWORD vdwACM; // version of the ACM *compiled* for
- DWORD vdwDriver; // version of the driver
- DWORD fdwSupport; // misc. support flags
- DWORD cFormatTags; // total unique format tags supported
- DWORD cFilterTags; // total unique filter tags supported
- HICON hicon; // handle to custom icon
- char szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
- char szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
- char szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
- char szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
- char szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
- } ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA, FAR *LPACMDRIVERDETAILSA;
- typedef struct tACMDRIVERDETAILSW
- {
- DWORD cbStruct; // number of valid bytes in structure
- FOURCC fccType; // compressor type 'audc'
- FOURCC fccComp; // sub-type (not used; reserved)
- WORD wMid; // manufacturer id
- WORD wPid; // product id
- DWORD vdwACM; // version of the ACM *compiled* for
- DWORD vdwDriver; // version of the driver
- DWORD fdwSupport; // misc. support flags
- DWORD cFormatTags; // total unique format tags supported
- DWORD cFilterTags; // total unique filter tags supported
- HICON hicon; // handle to custom icon
- WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
- WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
- WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
- WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
- WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
- } ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW, FAR *LPACMDRIVERDETAILSW;
- #ifdef _UNICODE
- #define ACMDRIVERDETAILS ACMDRIVERDETAILSW
- #define PACMDRIVERDETAILS PACMDRIVERDETAILSW
- #define LPACMDRIVERDETAILS LPACMDRIVERDETAILSW
- #else
- #define ACMDRIVERDETAILS ACMDRIVERDETAILSA
- #define PACMDRIVERDETAILS PACMDRIVERDETAILSA
- #define LPACMDRIVERDETAILS LPACMDRIVERDETAILSA
- #endif
- #else
- typedef struct tACMDRIVERDETAILS
- {
- DWORD cbStruct; // number of valid bytes in structure
- FOURCC fccType; // compressor type 'audc'
- FOURCC fccComp; // sub-type (not used; reserved)
- WORD wMid; // manufacturer id
- WORD wPid; // product id
- DWORD vdwACM; // version of the ACM *compiled* for
- DWORD vdwDriver; // version of the driver
- DWORD fdwSupport; // misc. support flags
- DWORD cFormatTags; // total unique format tags supported
- DWORD cFilterTags; // total unique filter tags supported
- HICON hicon; // handle to custom icon
- char szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
- char szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
- char szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
- char szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
- char szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
- } ACMDRIVERDETAILS, *PACMDRIVERDETAILS, FAR *LPACMDRIVERDETAILS;
- #endif
- //
- // ACMDRIVERDETAILS.fccType
- //
- // ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC: the FOURCC used in the fccType
- // field of the ACMDRIVERDETAILS structure to specify that this is an ACM
- // codec designed for audio.
- //
- //
- // ACMDRIVERDETAILS.fccComp
- //
- // ACMDRIVERDETAILS_FCCCOMP_UNDEFINED: the FOURCC used in the fccComp
- // field of the ACMDRIVERDETAILS structure. this is currently an unused
- // field.
- //
- #define ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC mmioFOURCC('a', 'u', 'd', 'c')
- #define ACMDRIVERDETAILS_FCCCOMP_UNDEFINED mmioFOURCC('\0', '\0', '\0', '\0')
- //
- // the following flags are used to specify the type of conversion(s) that
- // the converter/codec/filter supports. these are placed in the fdwSupport
- // field of the ACMDRIVERDETAILS structure. note that a converter can
- // support one or more of these flags in any combination.
- //
- // ACMDRIVERDETAILS_SUPPORTF_CODEC: this flag is set if the driver supports
- // conversions from one format tag to another format tag. for example, if a
- // converter compresses WAVE_FORMAT_PCM to WAVE_FORMAT_ADPCM, then this bit
- // should be set.
- //
- // ACMDRIVERDETAILS_SUPPORTF_CONVERTER: this flags is set if the driver
- // supports conversions on the same format tag. as an example, the PCM
- // converter that is built into the ACM sets this bit (and only this bit)
- // because it converts only PCM formats (bits, sample rate).
- //
- // ACMDRIVERDETAILS_SUPPORTF_FILTER: this flag is set if the driver supports
- // transformations on a single format. for example, a converter that changed
- // the 'volume' of PCM data would set this bit. 'echo' and 'reverb' are
- // also filter types.
- //
- // ACMDRIVERDETAILS_SUPPORTF_HARDWARE: this flag is set if the driver supports
- // hardware input and/or output through a waveform device.
- //
- // ACMDRIVERDETAILS_SUPPORTF_ASYNC: this flag is set if the driver supports
- // async conversions.
- //
- //
- // ACMDRIVERDETAILS_SUPPORTF_LOCAL: this flag is set _by the ACM_ if a
- // driver has been installed local to the current task. this flag is also
- // set in the fdwSupport argument to the enumeration callback function
- // for drivers.
- //
- // ACMDRIVERDETAILS_SUPPORTF_DISABLED: this flag is set _by the ACM_ if a
- // driver has been disabled. this flag is also passed set in the fdwSupport
- // argument to the enumeration callback function for drivers.
- //
- #define ACMDRIVERDETAILS_SUPPORTF_CODEC 0x00000001L
- #define ACMDRIVERDETAILS_SUPPORTF_CONVERTER 0x00000002L
- #define ACMDRIVERDETAILS_SUPPORTF_FILTER 0x00000004L
- #define ACMDRIVERDETAILS_SUPPORTF_HARDWARE 0x00000008L
- #define ACMDRIVERDETAILS_SUPPORTF_ASYNC 0x00000010L
- #define ACMDRIVERDETAILS_SUPPORTF_LOCAL 0x40000000L
- #define ACMDRIVERDETAILS_SUPPORTF_DISABLED 0x80000000L
- #ifdef _WIN32
- MMRESULT ACMAPI acmDriverDetailsA
- (
- HACMDRIVERID hadid,
- LPACMDRIVERDETAILSA padd,
- DWORD fdwDetails
- );
- MMRESULT ACMAPI acmDriverDetailsW
- (
- HACMDRIVERID hadid,
- LPACMDRIVERDETAILSW padd,
- DWORD fdwDetails
- );
- #ifdef _UNICODE
- #define acmDriverDetails acmDriverDetailsW
- #else
- #define acmDriverDetails acmDriverDetailsA
- #endif
- #else
- MMRESULT ACMAPI acmDriverDetails
- (
- HACMDRIVERID hadid,
- LPACMDRIVERDETAILS padd,
- DWORD fdwDetails
- );
- #endif
- //--------------------------------------------------------------------------;
- //
- // ACM Format Tags
- //
- //
- //
- //
- //--------------------------------------------------------------------------;
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmFormatTagDetails()
- //
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- #define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48
- #ifdef _WIN32
- typedef struct tACMFORMATTAGDETAILSA
- {
- DWORD cbStruct;
- DWORD dwFormatTagIndex;
- DWORD dwFormatTag;
- DWORD cbFormatSize;
- DWORD fdwSupport;
- DWORD cStandardFormats;
- char szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
- } ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA, FAR *LPACMFORMATTAGDETAILSA;
- typedef struct tACMFORMATTAGDETAILSW
- {
- DWORD cbStruct;
- DWORD dwFormatTagIndex;
- DWORD dwFormatTag;
- DWORD cbFormatSize;
- DWORD fdwSupport;
- DWORD cStandardFormats;
- WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
- } ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW, FAR *LPACMFORMATTAGDETAILSW;
- #ifdef _UNICODE
- #define ACMFORMATTAGDETAILS ACMFORMATTAGDETAILSW
- #define PACMFORMATTAGDETAILS PACMFORMATTAGDETAILSW
- #define LPACMFORMATTAGDETAILS LPACMFORMATTAGDETAILSW
- #else
- #define ACMFORMATTAGDETAILS ACMFORMATTAGDETAILSA
- #define PACMFORMATTAGDETAILS PACMFORMATTAGDETAILSA
- #define LPACMFORMATTAGDETAILS LPACMFORMATTAGDETAILSA
- #endif
- #else
- typedef struct tACMFORMATTAGDETAILS
- {
- DWORD cbStruct;
- DWORD dwFormatTagIndex;
- DWORD dwFormatTag;
- DWORD cbFormatSize;
- DWORD fdwSupport;
- DWORD cStandardFormats;
- char szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
- } ACMFORMATTAGDETAILS, *PACMFORMATTAGDETAILS, FAR *LPACMFORMATTAGDETAILS;
- #endif
- #ifdef _WIN32
- MMRESULT ACMAPI acmFormatTagDetailsA
- (
- HACMDRIVER had,
- LPACMFORMATTAGDETAILSA paftd,
- DWORD fdwDetails
- );
- MMRESULT ACMAPI acmFormatTagDetailsW
- (
- HACMDRIVER had,
- LPACMFORMATTAGDETAILSW paftd,
- DWORD fdwDetails
- );
- #ifdef _UNICODE
- #define acmFormatTagDetails acmFormatTagDetailsW
- #else
- #define acmFormatTagDetails acmFormatTagDetailsA
- #endif
- #else
- MMRESULT ACMAPI acmFormatTagDetails
- (
- HACMDRIVER had,
- LPACMFORMATTAGDETAILS paftd,
- DWORD fdwDetails
- );
- #endif
- #define ACM_FORMATTAGDETAILSF_INDEX 0x00000000L
- #define ACM_FORMATTAGDETAILSF_FORMATTAG 0x00000001L
- #define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L
- #define ACM_FORMATTAGDETAILSF_QUERYMASK 0x0000000FL
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmFormatTagEnum()
- //
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- #ifdef _WIN32
- typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBA)
- (
- HACMDRIVERID hadid,
- LPACMFORMATTAGDETAILSA paftd,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
- );
- MMRESULT ACMAPI acmFormatTagEnumA
- (
- HACMDRIVER had,
- LPACMFORMATTAGDETAILSA paftd,
- ACMFORMATTAGENUMCBA fnCallback,
- DWORD_PTR dwInstance,
- DWORD fdwEnum
- );
- typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBW)
- (
- HACMDRIVERID hadid,
- LPACMFORMATTAGDETAILSW paftd,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
- );
- MMRESULT ACMAPI acmFormatTagEnumW
- (
- HACMDRIVER had,
- LPACMFORMATTAGDETAILSW paftd,
- ACMFORMATTAGENUMCBW fnCallback,
- DWORD_PTR dwInstance,
- DWORD fdwEnum
- );
- #ifdef _UNICODE
- #define ACMFORMATTAGENUMCB ACMFORMATTAGENUMCBW
- #define acmFormatTagEnum acmFormatTagEnumW
- #else
- #define ACMFORMATTAGENUMCB ACMFORMATTAGENUMCBA
- #define acmFormatTagEnum acmFormatTagEnumA
- #endif
- #else
- typedef BOOL (CALLBACK *ACMFORMATTAGENUMCB)
- (
- HACMDRIVERID hadid,
- LPACMFORMATTAGDETAILS paftd,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
- );
- MMRESULT ACMAPI acmFormatTagEnum
- (
- HACMDRIVER had,
- LPACMFORMATTAGDETAILS paftd,
- ACMFORMATTAGENUMCB fnCallback,
- DWORD_PTR dwInstance,
- DWORD fdwEnum
- );
- #endif
- //--------------------------------------------------------------------------;
- //
- // ACM Formats
- //
- //
- //
- //
- //--------------------------------------------------------------------------;
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmFormatDetails()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- #define ACMFORMATDETAILS_FORMAT_CHARS 128
- #ifdef _WIN32
- typedef struct tACMFORMATDETAILSA
- {
- DWORD cbStruct;
- DWORD dwFormatIndex;
- DWORD dwFormatTag;
- DWORD fdwSupport;
- LPWAVEFORMATEX pwfx;
- DWORD cbwfx;
- char szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
- } ACMFORMATDETAILSA, *PACMFORMATDETAILSA, FAR *LPACMFORMATDETAILSA;
- typedef struct tACMFORMATDETAILSW
- {
- DWORD cbStruct;
- DWORD dwFormatIndex;
- DWORD dwFormatTag;
- DWORD fdwSupport;
- LPWAVEFORMATEX pwfx;
- DWORD cbwfx;
- WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
- } ACMFORMATDETAILSW, *PACMFORMATDETAILSW, FAR *LPACMFORMATDETAILSW;
- #ifdef _UNICODE
- #define ACMFORMATDETAILS ACMFORMATDETAILSW
- #define PACMFORMATDETAILS PACMFORMATDETAILSW
- #define LPACMFORMATDETAILS LPACMFORMATDETAILSW
- #else
- #define ACMFORMATDETAILS ACMFORMATDETAILSA
- #define PACMFORMATDETAILS PACMFORMATDETAILSA
- #define LPACMFORMATDETAILS LPACMFORMATDETAILSA
- #endif
- #else
- typedef struct tACMFORMATDETAILS
- {
- DWORD cbStruct;
- DWORD dwFormatIndex;
- DWORD dwFormatTag;
- DWORD fdwSupport;
- LPWAVEFORMATEX pwfx;
- DWORD cbwfx;
- char szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
- } ACMFORMATDETAILS, *PACMFORMATDETAILS, FAR *LPACMFORMATDETAILS;
- #endif
- #ifdef _WIN32
- MMRESULT ACMAPI acmFormatDetailsA
- (
- HACMDRIVER had,
- LPACMFORMATDETAILSA pafd,
- DWORD fdwDetails
- );
- MMRESULT ACMAPI acmFormatDetailsW
- (
- HACMDRIVER had,
- LPACMFORMATDETAILSW pafd,
- DWORD fdwDetails
- );
- #ifdef _UNICODE
- #define acmFormatDetails acmFormatDetailsW
- #else
- #define acmFormatDetails acmFormatDetailsA
- #endif
- #else
- MMRESULT ACMAPI acmFormatDetails
- (
- HACMDRIVER had,
- LPACMFORMATDETAILS pafd,
- DWORD fdwDetails
- );
- #endif
- #define ACM_FORMATDETAILSF_INDEX 0x00000000L
- #define ACM_FORMATDETAILSF_FORMAT 0x00000001L
- #define ACM_FORMATDETAILSF_QUERYMASK 0x0000000FL
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmFormatEnum()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- #ifdef _WIN32
- typedef BOOL (CALLBACK *ACMFORMATENUMCBA)
- (
- HACMDRIVERID hadid,
- LPACMFORMATDETAILSA pafd,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
- );
- MMRESULT ACMAPI acmFormatEnumA
- (
- HACMDRIVER had,
- LPACMFORMATDETAILSA pafd,
- ACMFORMATENUMCBA fnCallback,
- DWORD_PTR dwInstance,
- DWORD fdwEnum
- );
- typedef BOOL (CALLBACK *ACMFORMATENUMCBW)
- (
- HACMDRIVERID hadid,
- LPACMFORMATDETAILSW pafd,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
- );
- MMRESULT ACMAPI acmFormatEnumW
- (
- HACMDRIVER had,
- LPACMFORMATDETAILSW pafd,
- ACMFORMATENUMCBW fnCallback,
- DWORD_PTR dwInstance,
- DWORD fdwEnum
- );
- #ifdef _UNICODE
- #define ACMFORMATENUMCB ACMFORMATENUMCBW
- #define acmFormatEnum acmFormatEnumW
- #else
- #define ACMFORMATENUMCB ACMFORMATENUMCBA
- #define acmFormatEnum acmFormatEnumA
- #endif
- #else
- typedef BOOL (CALLBACK *ACMFORMATENUMCB)
- (
- HACMDRIVERID hadid,
- LPACMFORMATDETAILS pafd,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
- );
- MMRESULT ACMAPI acmFormatEnum
- (
- HACMDRIVER had,
- LPACMFORMATDETAILS pafd,
- ACMFORMATENUMCB fnCallback,
- DWORD_PTR dwInstance,
- DWORD fdwEnum
- );
- #endif
- #define ACM_FORMATENUMF_WFORMATTAG 0x00010000L
- #define ACM_FORMATENUMF_NCHANNELS 0x00020000L
- #define ACM_FORMATENUMF_NSAMPLESPERSEC 0x00040000L
- #define ACM_FORMATENUMF_WBITSPERSAMPLE 0x00080000L
- #define ACM_FORMATENUMF_CONVERT 0x00100000L
- #define ACM_FORMATENUMF_SUGGEST 0x00200000L
- #define ACM_FORMATENUMF_HARDWARE 0x00400000L
- #define ACM_FORMATENUMF_INPUT 0x00800000L
- #define ACM_FORMATENUMF_OUTPUT 0x01000000L
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmFormatSuggest()
- //
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- MMRESULT ACMAPI acmFormatSuggest
- (
- HACMDRIVER had,
- LPWAVEFORMATEX pwfxSrc,
- LPWAVEFORMATEX pwfxDst,
- DWORD cbwfxDst,
- DWORD fdwSuggest
- );
- #define ACM_FORMATSUGGESTF_WFORMATTAG 0x00010000L
- #define ACM_FORMATSUGGESTF_NCHANNELS 0x00020000L
- #define ACM_FORMATSUGGESTF_NSAMPLESPERSEC 0x00040000L
- #define ACM_FORMATSUGGESTF_WBITSPERSAMPLE 0x00080000L
- #define ACM_FORMATSUGGESTF_TYPEMASK 0x00FF0000L
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmFormatChoose()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- #ifdef _WIN32
- #define ACMHELPMSGSTRINGA "acmchoose_help"
- #define ACMHELPMSGSTRINGW L"acmchoose_help"
- #define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"
- #define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu"
- #define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"
- #define ACMHELPMSGCONTEXTHELPW L"acmchoose_contexthelp"
- #ifdef _UNICODE
- #define ACMHELPMSGSTRING ACMHELPMSGSTRINGW
- #define ACMHELPMSGCONTEXTMENU ACMHELPMSGCONTEXTMENUW
- #define ACMHELPMSGCONTEXTHELP ACMHELPMSGCONTEXTHELPW
- #else
- #define ACMHELPMSGSTRING ACMHELPMSGSTRINGA
- #define ACMHELPMSGCONTEXTMENU ACMHELPMSGCONTEXTMENUA
- #define ACMHELPMSGCONTEXTHELP ACMHELPMSGCONTEXTHELPA
- #endif
- #else
- #define ACMHELPMSGSTRING "acmchoose_help"
- #define ACMHELPMSGCONTEXTMENU "acmchoose_contextmenu"
- #define ACMHELPMSGCONTEXTHELP "acmchoose_contexthelp"
- #endif
- //
- // MM_ACM_FORMATCHOOSE is sent to hook callbacks by the Format Chooser
- // Dialog...
- //
- #define MM_ACM_FORMATCHOOSE (0x8000)
- #define FORMATCHOOSE_MESSAGE 0
- #define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0)
- #define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1)
- #define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2)
- #ifdef _WIN32
- typedef UINT (CALLBACK *ACMFORMATCHOOSEHOOKPROCA)
- (
- HWND hwnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam
- );
- typedef UINT (CALLBACK *ACMFORMATCHOOSEHOOKPROCW)
- (
- HWND hwnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam
- );
- #ifdef _UNICODE
- #define ACMFORMATCHOOSEHOOKPROC ACMFORMATCHOOSEHOOKPROCW
- #else
- #define ACMFORMATCHOOSEHOOKPROC ACMFORMATCHOOSEHOOKPROCA
- #endif
- #else
- typedef UINT (CALLBACK *ACMFORMATCHOOSEHOOKPROC)
- (
- HWND hwnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam
- );
- #endif
- //
- //
- //
- //
- #ifdef _WIN32
- typedef struct tACMFORMATCHOOSEA
- {
- DWORD cbStruct; // sizeof(ACMFORMATCHOOSE)
- DWORD fdwStyle; // chooser style flags
- HWND hwndOwner; // caller's window handle
- LPWAVEFORMATEX pwfx; // ptr to wfx buf to receive choice
- DWORD cbwfx; // size of mem buf for pwfx
- LPCSTR pszTitle; // dialog box title bar
- char szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
- char szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
- LPSTR pszName; // custom name selection
- DWORD cchName; // size in chars of mem buf for pszName
- DWORD fdwEnum; // format enumeration restrictions
- LPWAVEFORMATEX pwfxEnum; // format describing restrictions
- HINSTANCE hInstance; // app instance containing dlg template
- LPCSTR pszTemplateName; // custom template name
- LPARAM lCustData; // data passed to hook fn.
- ACMFORMATCHOOSEHOOKPROCA pfnHook; // ptr to hook function
- } ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA, FAR *LPACMFORMATCHOOSEA;
- typedef struct tACMFORMATCHOOSEW
- {
- DWORD cbStruct; // sizeof(ACMFORMATCHOOSE)
- DWORD fdwStyle; // chooser style flags
- HWND hwndOwner; // caller's window handle
- LPWAVEFORMATEX pwfx; // ptr to wfx buf to receive choice
- DWORD cbwfx; // size of mem buf for pwfx
- LPCWSTR pszTitle; // dialog box title bar
- WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
- WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
- LPWSTR pszName; // custom name selection
- DWORD cchName; // size in chars of mem buf for pszName
- DWORD fdwEnum; // format enumeration restrictions
- LPWAVEFORMATEX pwfxEnum; // format describing restrictions
- HINSTANCE hInstance; // app instance containing dlg template
- LPCWSTR pszTemplateName; // custom template name
- LPARAM lCustData; // data passed to hook fn.
- ACMFORMATCHOOSEHOOKPROCW pfnHook; // ptr to hook function
- } ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW, FAR *LPACMFORMATCHOOSEW;
- #ifdef _UNICODE
- #define ACMFORMATCHOOSE ACMFORMATCHOOSEW
- #define PACMFORMATCHOOSE PACMFORMATCHOOSEW
- #define LPACMFORMATCHOOSE LPACMFORMATCHOOSEW
- #else
- #define ACMFORMATCHOOSE ACMFORMATCHOOSEA
- #define PACMFORMATCHOOSE PACMFORMATCHOOSEA
- #define LPACMFORMATCHOOSE LPACMFORMATCHOOSEA
- #endif
- #else
- typedef struct tACMFORMATCHOOSE
- {
- DWORD cbStruct; // sizeof(ACMFORMATCHOOSE)
- DWORD fdwStyle; // chooser style flags
- HWND hwndOwner; // caller's window handle
- LPWAVEFORMATEX pwfx; // ptr to wfx buf to receive choice
- DWORD cbwfx; // size of mem buf for pwfx
- LPCSTR pszTitle; // dialog box title bar
- char szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
- char szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
- LPSTR pszName; // custom name selection
- DWORD cchName; // size in chars of mem buf for pszName
- DWORD fdwEnum; // format enumeration restrictions
- LPWAVEFORMATEX pwfxEnum; // format describing restrictions
- HINSTANCE hInstance; // app instance containing dlg template
- LPCSTR pszTemplateName; // custom template name
- LPARAM lCustData; // data passed to hook fn.
- ACMFORMATCHOOSEHOOKPROC pfnHook; // ptr to hook function
- } ACMFORMATCHOOSE, *PACMFORMATCHOOSE, FAR *LPACMFORMATCHOOSE;
- #endif
- //
- // ACMFORMATCHOOSE.fdwStyle
- //
- //
- //
- #define ACMFORMATCHOOSE_STYLEF_SHOWHELP 0x00000004L
- #define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
- #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
- #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
- #define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 0x00000040L
- #define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
- #ifdef _WIN32
- MMRESULT ACMAPI acmFormatChooseA
- (
- LPACMFORMATCHOOSEA pafmtc
- );
- MMRESULT ACMAPI acmFormatChooseW
- (
- LPACMFORMATCHOOSEW pafmtc
- );
- #ifdef _UNICODE
- #define acmFormatChoose acmFormatChooseW
- #else
- #define acmFormatChoose acmFormatChooseA
- #endif
- #else
- MMRESULT ACMAPI acmFormatChoose
- (
- LPACMFORMATCHOOSE pafmtc
- );
- #endif
- //--------------------------------------------------------------------------;
- //
- // ACM Filter Tags
- //
- //
- //
- //
- //--------------------------------------------------------------------------;
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmFilterTagDetails()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- #define ACMFILTERTAGDETAILS_FILTERTAG_CHARS 48
- #ifdef _WIN32
- typedef struct tACMFILTERTAGDETAILSA
- {
- DWORD cbStruct;
- DWORD dwFilterTagIndex;
- DWORD dwFilterTag;
- DWORD cbFilterSize;
- DWORD fdwSupport;
- DWORD cStandardFilters;
- char szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
- } ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA, FAR *LPACMFILTERTAGDETAILSA;
- typedef struct tACMFILTERTAGDETAILSW
- {
- DWORD cbStruct;
- DWORD dwFilterTagIndex;
- DWORD dwFilterTag;
- DWORD cbFilterSize;
- DWORD fdwSupport;
- DWORD cStandardFilters;
- WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
- } ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW, FAR *LPACMFILTERTAGDETAILSW;
- #ifdef _UNICODE
- #define ACMFILTERTAGDETAILS ACMFILTERTAGDETAILSW
- #define PACMFILTERTAGDETAILS PACMFILTERTAGDETAILSW
- #define LPACMFILTERTAGDETAILS LPACMFILTERTAGDETAILSW
- #else
- #define ACMFILTERTAGDETAILS ACMFILTERTAGDETAILSA
- #define PACMFILTERTAGDETAILS PACMFILTERTAGDETAILSA
- #define LPACMFILTERTAGDETAILS LPACMFILTERTAGDETAILSA
- #endif
- #else
- typedef struct tACMFILTERTAGDETAILS
- {
- DWORD cbStruct;
- DWORD dwFilterTagIndex;
- DWORD dwFilterTag;
- DWORD cbFilterSize;
- DWORD fdwSupport;
- DWORD cStandardFilters;
- char szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
- } ACMFILTERTAGDETAILS, *PACMFILTERTAGDETAILS, FAR *LPACMFILTERTAGDETAILS;
- #endif
- #ifdef _WIN32
- MMRESULT ACMAPI acmFilterTagDetailsA
- (
- HACMDRIVER had,
- LPACMFILTERTAGDETAILSA paftd,
- DWORD fdwDetails
- );
- MMRESULT ACMAPI acmFilterTagDetailsW
- (
- HACMDRIVER had,
- LPACMFILTERTAGDETAILSW paftd,
- DWORD fdwDetails
- );
- #ifdef _UNICODE
- #define acmFilterTagDetails acmFilterTagDetailsW
- #else
- #define acmFilterTagDetails acmFilterTagDetailsA
- #endif
- #else
- MMRESULT ACMAPI acmFilterTagDetails
- (
- HACMDRIVER had,
- LPACMFILTERTAGDETAILS paftd,
- DWORD fdwDetails
- );
- #endif
- #define ACM_FILTERTAGDETAILSF_INDEX 0x00000000L
- #define ACM_FILTERTAGDETAILSF_FILTERTAG 0x00000001L
- #define ACM_FILTERTAGDETAILSF_LARGESTSIZE 0x00000002L
- #define ACM_FILTERTAGDETAILSF_QUERYMASK 0x0000000FL
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmFilterTagEnum()
- //
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- #ifdef _WIN32
- typedef BOOL (CALLBACK *ACMFILTERTAGENUMCBA)
- (
- HACMDRIVERID hadid,
- LPACMFILTERTAGDETAILSA paftd,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
- );
- MMRESULT ACMAPI acmFilterTagEnumA
- (
- HACMDRIVER had,
- LPACMFILTERTAGDETAILSA paftd,
- ACMFILTERTAGENUMCBA fnCallback,
- DWORD_PTR dwInstance,
- DWORD fdwEnum
- );
- typedef BOOL (CALLBACK *ACMFILTERTAGENUMCBW)
- (
- HACMDRIVERID hadid,
- LPACMFILTERTAGDETAILSW paftd,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
- );
- MMRESULT ACMAPI acmFilterTagEnumW
- (
- HACMDRIVER had,
- LPACMFILTERTAGDETAILSW paftd,
- ACMFILTERTAGENUMCBW fnCallback,
- DWORD_PTR dwInstance,
- DWORD fdwEnum
- );
- #ifdef _UNICODE
- #define ACMFILTERTAGENUMCB ACMFILTERTAGENUMCBW
- #define acmFilterTagEnum acmFilterTagEnumW
- #else
- #define ACMFILTERTAGENUMCB ACMFILTERTAGENUMCBA
- #define acmFilterTagEnum acmFilterTagEnumA
- #endif
- #else
- typedef BOOL (CALLBACK *ACMFILTERTAGENUMCB)
- (
- HACMDRIVERID hadid,
- LPACMFILTERTAGDETAILS paftd,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
- );
- MMRESULT ACMAPI acmFilterTagEnum
- (
- HACMDRIVER had,
- LPACMFILTERTAGDETAILS paftd,
- ACMFILTERTAGENUMCB fnCallback,
- DWORD_PTR dwInstance,
- DWORD fdwEnum
- );
- #endif
- //--------------------------------------------------------------------------;
- //
- // ACM Filters
- //
- //
- //
- //
- //--------------------------------------------------------------------------;
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmFilterDetails()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- #define ACMFILTERDETAILS_FILTER_CHARS 128
- #ifdef _WIN32
- typedef struct tACMFILTERDETAILSA
- {
- DWORD cbStruct;
- DWORD dwFilterIndex;
- DWORD dwFilterTag;
- DWORD fdwSupport;
- LPWAVEFILTER pwfltr;
- DWORD cbwfltr;
- char szFilter[ACMFILTERDETAILS_FILTER_CHARS];
- } ACMFILTERDETAILSA, *PACMFILTERDETAILSA, FAR *LPACMFILTERDETAILSA;
- typedef struct tACMFILTERDETAILSW
- {
- DWORD cbStruct;
- DWORD dwFilterIndex;
- DWORD dwFilterTag;
- DWORD fdwSupport;
- LPWAVEFILTER pwfltr;
- DWORD cbwfltr;
- WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
- } ACMFILTERDETAILSW, *PACMFILTERDETAILSW, FAR *LPACMFILTERDETAILSW;
- #ifdef _UNICODE
- #define ACMFILTERDETAILS ACMFILTERDETAILSW
- #define PACMFILTERDETAILS PACMFILTERDETAILSW
- #define LPACMFILTERDETAILS LPACMFILTERDETAILSW
- #else
- #define ACMFILTERDETAILS ACMFILTERDETAILSA
- #define PACMFILTERDETAILS PACMFILTERDETAILSA
- #define LPACMFILTERDETAILS LPACMFILTERDETAILSA
- #endif
- #else
- typedef struct tACMFILTERDETAILS
- {
- DWORD cbStruct;
- DWORD dwFilterIndex;
- DWORD dwFilterTag;
- DWORD fdwSupport;
- LPWAVEFILTER pwfltr;
- DWORD cbwfltr;
- char szFilter[ACMFILTERDETAILS_FILTER_CHARS];
- } ACMFILTERDETAILS, *PACMFILTERDETAILS, FAR *LPACMFILTERDETAILS;
- #endif
- #ifdef _WIN32
- MMRESULT ACMAPI acmFilterDetailsA
- (
- HACMDRIVER had,
- LPACMFILTERDETAILSA pafd,
- DWORD fdwDetails
- );
- MMRESULT ACMAPI acmFilterDetailsW
- (
- HACMDRIVER had,
- LPACMFILTERDETAILSW pafd,
- DWORD fdwDetails
- );
- #ifdef _UNICODE
- #define acmFilterDetails acmFilterDetailsW
- #else
- #define acmFilterDetails acmFilterDetailsA
- #endif
- #else
- MMRESULT ACMAPI acmFilterDetails
- (
- HACMDRIVER had,
- LPACMFILTERDETAILS pafd,
- DWORD fdwDetails
- );
- #endif
- #define ACM_FILTERDETAILSF_INDEX 0x00000000L
- #define ACM_FILTERDETAILSF_FILTER 0x00000001L
- #define ACM_FILTERDETAILSF_QUERYMASK 0x0000000FL
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmFilterEnum()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- #ifdef _WIN32
- typedef BOOL (CALLBACK *ACMFILTERENUMCBA)
- (
- HACMDRIVERID hadid,
- LPACMFILTERDETAILSA pafd,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
- );
- MMRESULT ACMAPI acmFilterEnumA
- (
- HACMDRIVER had,
- LPACMFILTERDETAILSA pafd,
- ACMFILTERENUMCBA fnCallback,
- DWORD_PTR dwInstance,
- DWORD fdwEnum
- );
- typedef BOOL (CALLBACK *ACMFILTERENUMCBW)
- (
- HACMDRIVERID hadid,
- LPACMFILTERDETAILSW pafd,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
- );
- MMRESULT ACMAPI acmFilterEnumW
- (
- HACMDRIVER had,
- LPACMFILTERDETAILSW pafd,
- ACMFILTERENUMCBW fnCallback,
- DWORD_PTR dwInstance,
- DWORD fdwEnum
- );
- #ifdef _UNICODE
- #define ACMFILTERENUMCB ACMFILTERENUMCBW
- #define acmFilterEnum acmFilterEnumW
- #else
- #define ACMFILTERENUMCB ACMFILTERENUMCBA
- #define acmFilterEnum acmFilterEnumA
- #endif
- #else
- typedef BOOL (CALLBACK *ACMFILTERENUMCB)
- (
- HACMDRIVERID hadid,
- LPACMFILTERDETAILS pafd,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
- );
- MMRESULT ACMAPI acmFilterEnum
- (
- HACMDRIVER had,
- LPACMFILTERDETAILS pafd,
- ACMFILTERENUMCB fnCallback,
- DWORD_PTR dwInstance,
- DWORD fdwEnum
- );
- #endif
- #define ACM_FILTERENUMF_DWFILTERTAG 0x00010000L
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmFilterChoose()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // MM_ACM_FILTERCHOOSE is sent to hook callbacks by the Filter Chooser
- // Dialog...
- //
- #define MM_ACM_FILTERCHOOSE (0x8000)
- #define FILTERCHOOSE_MESSAGE 0
- #define FILTERCHOOSE_FILTERTAG_VERIFY (FILTERCHOOSE_MESSAGE+0)
- #define FILTERCHOOSE_FILTER_VERIFY (FILTERCHOOSE_MESSAGE+1)
- #define FILTERCHOOSE_CUSTOM_VERIFY (FILTERCHOOSE_MESSAGE+2)
- #ifdef _WIN32
- typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROCA)
- (
- HWND hwnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam
- );
- typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROCW)
- (
- HWND hwnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam
- );
- #ifdef _UNICODE
- #define ACMFILTERCHOOSEHOOKPROC ACMFILTERCHOOSEHOOKPROCW
- #else
- #define ACMFILTERCHOOSEHOOKPROC ACMFILTERCHOOSEHOOKPROCA
- #endif
- #else
- typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROC)
- (
- HWND hwnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam
- );
- #endif
- //
- // ACMFILTERCHOOSE
- //
- //
- #ifdef _WIN32
- typedef struct tACMFILTERCHOOSEA
- {
- DWORD cbStruct; // sizeof(ACMFILTERCHOOSE)
- DWORD fdwStyle; // chooser style flags
- HWND hwndOwner; // caller's window handle
- LPWAVEFILTER pwfltr; // ptr to wfltr buf to receive choice
- DWORD cbwfltr; // size of mem buf for pwfltr
- LPCSTR pszTitle;
- char szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
- char szFilter[ACMFILTERDETAILS_FILTER_CHARS];
- LPSTR pszName; // custom name selection
- DWORD cchName; // size in chars of mem buf for pszName
- DWORD fdwEnum; // filter enumeration restrictions
- LPWAVEFILTER pwfltrEnum; // filter describing restrictions
- HINSTANCE hInstance; // app instance containing dlg template
- LPCSTR pszTemplateName; // custom template name
- LPARAM lCustData; // data passed to hook fn.
- ACMFILTERCHOOSEHOOKPROCA pfnHook; // ptr to hook function
- } ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA, FAR *LPACMFILTERCHOOSEA;
- typedef struct tACMFILTERCHOOSEW
- {
- DWORD cbStruct; // sizeof(ACMFILTERCHOOSE)
- DWORD fdwStyle; // chooser style flags
- HWND hwndOwner; // caller's window handle
- LPWAVEFILTER pwfltr; // ptr to wfltr buf to receive choice
- DWORD cbwfltr; // size of mem buf for pwfltr
- LPCWSTR pszTitle;
- WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
- WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
- LPWSTR pszName; // custom name selection
- DWORD cchName; // size in chars of mem buf for pszName
- DWORD fdwEnum; // filter enumeration restrictions
- LPWAVEFILTER pwfltrEnum; // filter describing restrictions
- HINSTANCE hInstance; // app instance containing dlg template
- LPCWSTR pszTemplateName; // custom template name
- LPARAM lCustData; // data passed to hook fn.
- ACMFILTERCHOOSEHOOKPROCW pfnHook; // ptr to hook function
- } ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW, FAR *LPACMFILTERCHOOSEW;
- #ifdef _UNICODE
- #define ACMFILTERCHOOSE ACMFILTERCHOOSEW
- #define PACMFILTERCHOOSE PACMFILTERCHOOSEW
- #define LPACMFILTERCHOOSE LPACMFILTERCHOOSEW
- #else
- #define ACMFILTERCHOOSE ACMFILTERCHOOSEA
- #define PACMFILTERCHOOSE PACMFILTERCHOOSEA
- #define LPACMFILTERCHOOSE LPACMFILTERCHOOSEA
- #endif
- #else
- typedef struct tACMFILTERCHOOSE
- {
- DWORD cbStruct; // sizeof(ACMFILTERCHOOSE)
- DWORD fdwStyle; // chooser style flags
- HWND hwndOwner; // caller's window handle
- LPWAVEFILTER pwfltr; // ptr to wfltr buf to receive choice
- DWORD cbwfltr; // size of mem buf for pwfltr
- LPCSTR pszTitle;
- char szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
- char szFilter[ACMFILTERDETAILS_FILTER_CHARS];
- LPSTR pszName; // custom name selection
- DWORD cchName; // size in chars of mem buf for pszName
- DWORD fdwEnum; // filter enumeration restrictions
- LPWAVEFILTER pwfltrEnum; // filter describing restrictions
- HINSTANCE hInstance; // app instance containing dlg template
- LPCSTR pszTemplateName; // custom template name
- LPARAM lCustData; // data passed to hook fn.
- ACMFILTERCHOOSEHOOKPROC pfnHook; // ptr to hook function
- } ACMFILTERCHOOSE, *PACMFILTERCHOOSE, FAR *LPACMFILTERCHOOSE;
- #endif
- //
- // ACMFILTERCHOOSE.fdwStyle
- //
- //
- #define ACMFILTERCHOOSE_STYLEF_SHOWHELP 0x00000004L
- #define ACMFILTERCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
- #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
- #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
- #define ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT 0x00000040L
- #define ACMFILTERCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
- #ifdef _WIN32
- MMRESULT ACMAPI acmFilterChooseA
- (
- LPACMFILTERCHOOSEA pafltrc
- );
- MMRESULT ACMAPI acmFilterChooseW
- (
- LPACMFILTERCHOOSEW pafltrc
- );
- #ifdef _UNICODE
- #define acmFilterChoose acmFilterChooseW
- #else
- #define acmFilterChoose acmFilterChooseA
- #endif
- #else
- MMRESULT ACMAPI acmFilterChoose
- (
- LPACMFILTERCHOOSE pafltrc
- );
- #endif
- //--------------------------------------------------------------------------;
- //
- // ACM Stream API's
- //
- //
- //
- //--------------------------------------------------------------------------;
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmStreamOpen()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- #ifdef _WIN64
- #define _DRVRESERVED 15
- #else
- #define _DRVRESERVED 10
- #endif // _WIN64
- typedef struct tACMSTREAMHEADER
- {
- DWORD cbStruct; // sizeof(ACMSTREAMHEADER)
- DWORD fdwStatus; // ACMSTREAMHEADER_STATUSF_*
- DWORD_PTR dwUser; // user instance data for hdr
- LPBYTE pbSrc;
- DWORD cbSrcLength;
- DWORD cbSrcLengthUsed;
- DWORD_PTR dwSrcUser; // user instance data for src
- LPBYTE pbDst;
- DWORD cbDstLength;
- DWORD cbDstLengthUsed;
- DWORD_PTR dwDstUser; // user instance data for dst
- DWORD dwReservedDriver[_DRVRESERVED]; // driver reserved work space
- } ACMSTREAMHEADER, *PACMSTREAMHEADER, FAR *LPACMSTREAMHEADER;
- //
- // ACMSTREAMHEADER.fdwStatus
- //
- // ACMSTREAMHEADER_STATUSF_DONE: done bit for async conversions.
- //
- #define ACMSTREAMHEADER_STATUSF_DONE 0x00010000L
- #define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L
- #define ACMSTREAMHEADER_STATUSF_INQUEUE 0x00100000L
- MMRESULT ACMAPI acmStreamOpen
- (
- LPHACMSTREAM phas, // pointer to stream handle
- HACMDRIVER had, // optional driver handle
- LPWAVEFORMATEX pwfxSrc, // source format to convert
- LPWAVEFORMATEX pwfxDst, // required destination format
- LPWAVEFILTER pwfltr, // optional filter
- DWORD_PTR dwCallback, // callback
- DWORD_PTR dwInstance, // callback instance data
- DWORD fdwOpen // ACM_STREAMOPENF_* and CALLBACK_*
- );
- #define ACM_STREAMOPENF_QUERY 0x00000001
- #define ACM_STREAMOPENF_ASYNC 0x00000002
- #define ACM_STREAMOPENF_NONREALTIME 0x00000004
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmStreamClose()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- MMRESULT ACMAPI acmStreamClose
- (
- HACMSTREAM has,
- DWORD fdwClose
- );
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmStreamSize()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- MMRESULT ACMAPI acmStreamSize
- (
- HACMSTREAM has,
- DWORD cbInput,
- LPDWORD pdwOutputBytes,
- DWORD fdwSize
- );
- #define ACM_STREAMSIZEF_SOURCE 0x00000000L
- #define ACM_STREAMSIZEF_DESTINATION 0x00000001L
- #define ACM_STREAMSIZEF_QUERYMASK 0x0000000FL
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmStreamReset()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- MMRESULT ACMAPI acmStreamReset
- (
- HACMSTREAM has,
- DWORD fdwReset
- );
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmStreamMessage()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- MMRESULT ACMAPI acmStreamMessage
- (
- HACMSTREAM has,
- UINT uMsg,
- LPARAM lParam1,
- LPARAM lParam2
- );
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmStreamConvert()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- MMRESULT ACMAPI acmStreamConvert
- (
- HACMSTREAM has,
- LPACMSTREAMHEADER pash,
- DWORD fdwConvert
- );
- #define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004
- #define ACM_STREAMCONVERTF_START 0x00000010
- #define ACM_STREAMCONVERTF_END 0x00000020
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmStreamPrepareHeader()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- MMRESULT ACMAPI acmStreamPrepareHeader
- (
- HACMSTREAM has,
- LPACMSTREAMHEADER pash,
- DWORD fdwPrepare
- );
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- //
- // acmStreamUnprepareHeader()
- //
- //
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;
- MMRESULT ACMAPI acmStreamUnprepareHeader
- (
- HACMSTREAM has,
- LPACMSTREAMHEADER pash,
- DWORD fdwUnprepare
- );
- #include "poppack.h" /* Revert to default packing */
- #ifdef __cplusplus
- } /* End of extern "C" { */
- #endif /* __cplusplus */
- #endif /* _INC_ACM */
|