Fixed improper acm streams closing.
[wine] / dlls / msacm32 / wineacm.h
1 /* -*- tab-width: 8; c-basic-offset: 4 -*- */
2
3 /***********************************************************************
4  * Wine specific - Win32
5  */
6 typedef struct _WINE_ACMDRIVERID *PWINE_ACMDRIVERID;
7
8 typedef struct _WINE_ACMOBJ
9 {
10   PWINE_ACMDRIVERID     pACMDriverID;
11 } WINE_ACMOBJ, *PWINE_ACMOBJ;
12
13 typedef struct _WINE_ACMDRIVER
14 {
15     WINE_ACMOBJ         obj;
16     HDRVR               hDrvr;
17     DRIVERPROC          pfnDriverProc;
18 } WINE_ACMDRIVER, *PWINE_ACMDRIVER;
19
20 typedef struct _WINE_ACMSTREAM
21 {
22     WINE_ACMOBJ         obj;
23     PWINE_ACMDRIVER     pDrv;
24     ACMDRVSTREAMINSTANCE drvInst;
25     HACMDRIVER          hAcmDriver;
26 } WINE_ACMSTREAM, *PWINE_ACMSTREAM;
27
28 typedef struct _WINE_ACMDRIVERID
29 {
30     LPSTR               pszDriverAlias;
31     LPSTR               pszFileName;
32     HINSTANCE           hInstModule;          /* NULL if global */
33     DWORD               dwProcessID;          /* ID of process which installed a local driver */
34     BOOL                bEnabled;
35     PWINE_ACMDRIVER     pACMDriver;           /* NULL if not open; shouldn't this be a list ? */
36     PWINE_ACMDRIVERID   pNextACMDriverID;
37     PWINE_ACMDRIVERID   pPreviousACMDriverID;
38 } WINE_ACMDRIVERID;
39
40 /* From internal.c */
41 extern HANDLE MSACM_hHeap;
42 extern PWINE_ACMDRIVERID MSACM_pFirstACMDriverID;
43 extern PWINE_ACMDRIVERID MSACM_pLastACMDriverID;
44 PWINE_ACMDRIVERID MSACM_RegisterDriver(
45   LPSTR pszDriverAlias, LPSTR pszFileName,
46   HINSTANCE hinstModule);
47 void MSACM_RegisterAllDrivers(void);
48 PWINE_ACMDRIVERID MSACM_UnregisterDriver(PWINE_ACMDRIVERID p);
49 void MSACM_UnregisterAllDrivers(void);
50 PWINE_ACMDRIVERID MSACM_GetDriverID(HACMDRIVERID hDriverID);
51 PWINE_ACMDRIVER MSACM_GetDriver(HACMDRIVER hDriver);
52 PWINE_ACMOBJ MSACM_GetObj(HACMOBJ hObj);
53