Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenwineacm.h
Go to the documentation of this file.
00001 /* -*- tab-width: 8; c-basic-offset: 4 -*- */ 00002 /* 00003 * Copyright 2000 Eric Pouech 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Lesser General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2.1 of the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with this library; if not, write to the Free Software 00017 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00018 */ 00019 00020 #ifndef __WINE_WINEACM_H 00021 #define __WINE_WINEACM_H 00022 00023 #include <windef.h> 00024 #include <winuser.h> 00025 00026 /*********************************************************************** 00027 * Wine specific - Win32 00028 */ 00029 typedef struct _WINE_ACMDRIVERID *PWINE_ACMDRIVERID; 00030 typedef struct _WINE_ACMDRIVER *PWINE_ACMDRIVER; 00031 00032 #define WINE_ACMOBJ_DONTCARE 0x5EED0000 00033 #define WINE_ACMOBJ_DRIVERID 0x5EED0001 00034 #define WINE_ACMOBJ_DRIVER 0x5EED0002 00035 #define WINE_ACMOBJ_STREAM 0x5EED0003 00036 #define WINE_ACMOBJ_NOTIFYWND 0x5EED0004 00037 #define WINE_ACMOBJ_LOCALDRIVER 0x5EED0005 00038 00039 typedef struct _WINE_ACMOBJ 00040 { 00041 DWORD dwType; 00042 PWINE_ACMDRIVERID pACMDriverID; 00043 } WINE_ACMOBJ, *PWINE_ACMOBJ; 00044 00045 typedef struct _WINE_ACMLOCALDRIVER * PWINE_ACMLOCALDRIVER; 00046 typedef struct _WINE_ACMLOCALDRIVERINST * PWINE_ACMLOCALDRIVERINST; 00047 typedef struct _WINE_ACMLOCALDRIVER 00048 { 00049 WINE_ACMOBJ obj; 00050 HMODULE hModule; 00051 DRIVERPROC lpDrvProc; 00052 PWINE_ACMLOCALDRIVERINST pACMInstList; 00053 PWINE_ACMLOCALDRIVER pNextACMLocalDrv; 00054 PWINE_ACMLOCALDRIVER pPrevACMLocalDrv; 00055 } WINE_ACMLOCALDRIVER; 00056 00057 typedef struct _WINE_ACMLOCALDRIVERINST 00058 { 00059 PWINE_ACMLOCALDRIVER pLocalDriver; 00060 DWORD dwDriverID; 00061 BOOL bSession; 00062 PWINE_ACMLOCALDRIVERINST pNextACMInst; 00063 } WINE_ACMLOCALDRIVERINST; 00064 00065 typedef struct _WINE_ACMDRIVER 00066 { 00067 WINE_ACMOBJ obj; 00068 HDRVR hDrvr; 00069 PWINE_ACMLOCALDRIVERINST pLocalDrvrInst; 00070 00071 PWINE_ACMDRIVER pNextACMDriver; 00072 } WINE_ACMDRIVER; 00073 00074 typedef struct _WINE_ACMSTREAM 00075 { 00076 WINE_ACMOBJ obj; 00077 PWINE_ACMDRIVER pDrv; 00078 ACMDRVSTREAMINSTANCE drvInst; 00079 HACMDRIVER hAcmDriver; 00080 } WINE_ACMSTREAM, *PWINE_ACMSTREAM; 00081 00082 typedef struct _WINE_ACMDRIVERID 00083 { 00084 WINE_ACMOBJ obj; 00085 LPWSTR pszDriverAlias; 00086 LPWSTR pszFileName; 00087 PWINE_ACMLOCALDRIVER pLocalDriver; /* NULL if global */ 00088 PWINE_ACMDRIVER pACMDriverList; 00089 PWINE_ACMDRIVERID pNextACMDriverID; 00090 PWINE_ACMDRIVERID pPrevACMDriverID; 00091 /* information about the driver itself, either gotten from registry or driver itself */ 00092 DWORD cFilterTags; 00093 DWORD cFormatTags; 00094 DWORD fdwSupport; 00095 struct { 00096 DWORD dwFormatTag; 00097 DWORD cbwfx; 00098 }* aFormatTag; 00099 } WINE_ACMDRIVERID; 00100 00101 typedef struct _WINE_ACMNOTIFYWND * PWINE_ACMNOTIFYWND; 00102 typedef struct _WINE_ACMNOTIFYWND 00103 { 00104 WINE_ACMOBJ obj; 00105 HWND hNotifyWnd; /* Window to notify on ACM events: driver add, driver removal, priority change */ 00106 DWORD dwNotifyMsg; /* Notification message to send to window */ 00107 DWORD fdwSupport; 00108 PWINE_ACMNOTIFYWND pNextACMNotifyWnd; 00109 PWINE_ACMNOTIFYWND pPrevACMNotifyWnd; 00110 } WINE_ACMNOTIFYWND; 00111 00112 /* From internal.c */ 00113 extern HANDLE MSACM_hHeap; 00114 extern PWINE_ACMDRIVERID MSACM_pFirstACMDriverID; 00115 extern PWINE_ACMDRIVERID MSACM_RegisterDriver(LPCWSTR pszDriverAlias, LPCWSTR pszFileName, 00116 PWINE_ACMLOCALDRIVER pLocalDriver); 00117 extern void MSACM_RegisterAllDrivers(void); 00118 extern PWINE_ACMDRIVERID MSACM_UnregisterDriver(PWINE_ACMDRIVERID p); 00119 extern void MSACM_UnregisterAllDrivers(void); 00120 extern PWINE_ACMDRIVERID MSACM_GetDriverID(HACMDRIVERID hDriverID); 00121 extern PWINE_ACMDRIVER MSACM_GetDriver(HACMDRIVER hDriver); 00122 extern PWINE_ACMNOTIFYWND MSACM_GetNotifyWnd(HACMDRIVERID hDriver); 00123 extern PWINE_ACMOBJ MSACM_GetObj(HACMOBJ hObj, DWORD type); 00124 00125 extern MMRESULT MSACM_Message(HACMDRIVER, UINT, LPARAM, LPARAM); 00126 extern BOOL MSACM_FindFormatTagInCache(const WINE_ACMDRIVERID*, DWORD, LPDWORD); 00127 00128 extern void MSACM_RePositionDriver(PWINE_ACMDRIVERID, DWORD); 00129 extern void MSACM_WriteCurrentPriorities(void); 00130 extern void MSACM_BroadcastNotification(void); 00131 extern void MSACM_DisableNotifications(void); 00132 extern void MSACM_EnableNotifications(void); 00133 extern PWINE_ACMNOTIFYWND MSACM_RegisterNotificationWindow(HWND hNotifyWnd, DWORD dwNotifyMsg); 00134 extern PWINE_ACMNOTIFYWND MSACM_UnRegisterNotificationWindow(const WINE_ACMNOTIFYWND*); 00135 00136 extern PWINE_ACMDRIVERID MSACM_RegisterDriverFromRegistry(LPCWSTR pszRegEntry); 00137 00138 extern PWINE_ACMLOCALDRIVER MSACM_RegisterLocalDriver(HMODULE hModule, DRIVERPROC lpDriverProc); 00139 extern PWINE_ACMLOCALDRIVERINST MSACM_OpenLocalDriver(PWINE_ACMLOCALDRIVER, LPARAM); 00140 extern LRESULT MSACM_CloseLocalDriver(PWINE_ACMLOCALDRIVERINST); 00141 /* 00142 extern PWINE_ACMLOCALDRIVER MSACM_GetLocalDriver(HACMDRIVER hDriver); 00143 */ 00144 /* From msacm32.c */ 00145 extern HINSTANCE MSACM_hInstance32; 00146 00147 /* From pcmcnvtr.c */ 00148 LRESULT CALLBACK PCM_DriverProc(DWORD_PTR dwDevID, HDRVR hDriv, UINT wMsg, 00149 LPARAM dwParam1, LPARAM dwParam2); 00150 00151 /* Dialog box templates */ 00152 #include "msacmdlg.h" 00153 00154 #endif /* __WINE_WINEACM_H */ Generated on Sun May 27 2012 04:24:46 for ReactOS by
1.7.6.1
|