00001 #ifndef WINEACM_H
00002 #define WINEACM_H
00003
00004
00005
00006
00007
00008
00009
00010 #include "wine/msacmdrv.h"
00011
00012 #ifdef __cplusplus
00013 extern "C" {
00014 #endif
00015
00016
00017 typedef struct _WINE_ACMDRIVERID *PWINE_ACMDRIVERID;
00018 typedef struct _WINE_ACMDRIVER *PWINE_ACMDRIVER;
00019
00020 typedef struct _WINE_ACMOBJ
00021 {
00022 PWINE_ACMDRIVERID pACMDriverID;
00023 } WINE_ACMOBJ, *PWINE_ACMOBJ;
00024
00025 typedef struct _WINE_ACMDRIVER
00026 {
00027 WINE_ACMOBJ obj;
00028 HDRVR hDrvr;
00029 DRIVERPROC pfnDriverProc;
00030 PWINE_ACMDRIVER pNextACMDriver;
00031 int iUsage;
00032 } WINE_ACMDRIVER;
00033
00034 typedef struct _WINE_ACMSTREAM
00035 {
00036 WINE_ACMOBJ obj;
00037 PWINE_ACMDRIVER pDrv;
00038 ACMDRVSTREAMINSTANCE drvInst;
00039 HACMDRIVER hAcmDriver;
00040 } WINE_ACMSTREAM, *PWINE_ACMSTREAM;
00041
00042 typedef struct _WINE_ACMDRIVERID
00043 {
00044 LPSTR pszFileName;
00045 WORD wFormatTag;
00046 HINSTANCE hInstModule;
00047 DWORD dwProcessID;
00048 WIN_BOOL bEnabled;
00049 PWINE_ACMDRIVER pACMDriverList;
00050 PWINE_ACMDRIVERID pNextACMDriverID;
00051 PWINE_ACMDRIVERID pPrevACMDriverID;
00052 } WINE_ACMDRIVERID;
00053
00054
00055 extern HANDLE MSACM_hHeap;
00056 extern PWINE_ACMDRIVERID MSACM_pFirstACMDriverID;
00057 extern PWINE_ACMDRIVERID MSACM_pLastACMDriverID;
00058
00059 PWINE_ACMDRIVERID MSACM_RegisterDriver(const char* pszFileName,
00060 WORD wFormatTag,
00061 HINSTANCE hinstModule);
00062 PWINE_ACMDRIVERID MSACM_UnregisterDriver(PWINE_ACMDRIVERID p);
00063 void MSACM_UnregisterAllDrivers(void);
00064 PWINE_ACMDRIVERID MSACM_GetDriverID(HACMDRIVERID hDriverID);
00065 PWINE_ACMDRIVER MSACM_GetDriver(HACMDRIVER hDriver);
00066 PWINE_ACMOBJ MSACM_GetObj(HACMOBJ hObj);
00067
00068 #ifdef __cplusplus
00069 }
00070 #endif
00071
00072 #endif