]> git.sesse.net Git - vlc/blob - libs/loader/wineacm.h
959cb3d76fc0f17f58549fede3d637889745dd24
[vlc] / libs / loader / wineacm.h
1 #ifndef WINEACM_H
2 #define WINEACM_H
3 /* -*- tab-width: 8; c-basic-offset: 4 -*- */
4
5 /***********************************************************************
6  * Wine specific - Win32
7  */
8
9
10 #include "wine/msacmdrv.h"
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif /* defined(__cplusplus) */
15
16
17 typedef struct _WINE_ACMDRIVERID *PWINE_ACMDRIVERID;
18 typedef struct _WINE_ACMDRIVER   *PWINE_ACMDRIVER;
19
20 typedef struct _WINE_ACMOBJ
21 {
22   PWINE_ACMDRIVERID     pACMDriverID;
23 } WINE_ACMOBJ, *PWINE_ACMOBJ;
24
25 typedef struct _WINE_ACMDRIVER
26 {
27     WINE_ACMOBJ         obj;
28     HDRVR               hDrvr;
29     DRIVERPROC          pfnDriverProc;
30     PWINE_ACMDRIVER     pNextACMDriver;
31     int                 iUsage;
32 } WINE_ACMDRIVER;
33
34 typedef struct _WINE_ACMSTREAM
35 {
36     WINE_ACMOBJ         obj;
37     PWINE_ACMDRIVER     pDrv;
38     ACMDRVSTREAMINSTANCE drvInst;
39     HACMDRIVER          hAcmDriver;
40 } WINE_ACMSTREAM, *PWINE_ACMSTREAM;
41
42 typedef struct _WINE_ACMDRIVERID
43 {
44     LPSTR               pszFileName;
45     WORD                wFormatTag;
46     HINSTANCE           hInstModule;          /* NULL if global */
47     DWORD               dwProcessID;          /* ID of process which installed a local driver */
48     WIN_BOOL                bEnabled;
49     PWINE_ACMDRIVER     pACMDriverList;
50     PWINE_ACMDRIVERID   pNextACMDriverID;
51     PWINE_ACMDRIVERID   pPrevACMDriverID;
52 } WINE_ACMDRIVERID;
53
54 /* From internal.c */
55 extern HANDLE MSACM_hHeap;
56 extern PWINE_ACMDRIVERID MSACM_pFirstACMDriverID;
57 extern PWINE_ACMDRIVERID MSACM_pLastACMDriverID;
58
59 PWINE_ACMDRIVERID MSACM_RegisterDriver(const char* pszFileName,
60                                        WORD wFormatTag,
61                                        HINSTANCE hinstModule);
62 PWINE_ACMDRIVERID MSACM_UnregisterDriver(PWINE_ACMDRIVERID p);
63 void MSACM_UnregisterAllDrivers(void);
64 PWINE_ACMDRIVERID MSACM_GetDriverID(HACMDRIVERID hDriverID);
65 PWINE_ACMDRIVER MSACM_GetDriver(HACMDRIVER hDriver);
66 PWINE_ACMOBJ MSACM_GetObj(HACMOBJ hObj);
67
68 #ifdef __cplusplus
69 } /* extern "C" */
70 #endif /* defined(__cplusplus) */
71
72 #endif /* WINEACM_H */