ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

wineacm.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.