Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenprecomp.h
Go to the documentation of this file.
00001 #pragma once 00002 00003 #define COBJMACROS 00004 #define NONAMELESSUNION 00005 #define NONAMELESSSTRUCT 00006 00007 #include <windows.h> 00008 #include <setupapi.h> 00009 #include <mmddk.h> 00010 #include <objbase.h> 00011 #include <olectl.h> 00012 #include <unknwn.h> 00013 #include <dsound.h> 00014 #include <dsconf.h> 00015 #include <vfwmsgs.h> 00016 #include <setupapi.h> 00017 #define YDEBUG 00018 #include <debug.h> 00019 #include <ks.h> 00020 #include <ksmedia.h> 00021 #include <limits.h> 00022 #include <stdio.h> 00023 00024 #include "resource.h" 00025 00026 00027 /* factory method */ 00028 typedef HRESULT (CALLBACK *LPFNCREATEINSTANCE)(IUnknown* pUnkOuter, REFIID riid, LPVOID* ppvObject); 00029 00030 /* factory table */ 00031 typedef struct 00032 { 00033 REFIID riid; 00034 LPFNCREATEINSTANCE lpfnCI; 00035 } INTERFACE_TABLE; 00036 00037 00038 typedef struct tagFILTERINFO 00039 { 00040 SP_DEVINFO_DATA DeviceData; 00041 WCHAR DevicePath[MAX_PATH]; 00042 HANDLE hFilter; 00043 ULONG PinCount; 00044 PULONG Pin; 00045 GUID DeviceGuid[2]; 00046 ULONG MappedId[2]; 00047 00048 struct tagFILTERINFO *lpNext; 00049 }FILTERINFO, *LPFILTERINFO; 00050 00051 #define INIT_GUID(guid, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \ 00052 guid.Data1 = l; guid.Data2 = w1; guid.Data3 = w2; \ 00053 guid.Data4[0] = b1; guid.Data4[1] = b2; guid.Data4[2] = b3; \ 00054 guid.Data4[3] = b4; guid.Data4[4] = b5; guid.Data4[5] = b6; \ 00055 guid.Data4[6] = b7; guid.Data4[7] = b8; 00056 00057 typedef enum 00058 { 00059 PIN_TYPE_NONE = 0, 00060 PIN_TYPE_PLAYBACK = 1, 00061 PIN_TYPE_RECORDING = 2 00062 }PIN_TYPE; 00063 00064 /* globals */ 00065 extern HINSTANCE dsound_hInstance; 00066 extern LPFILTERINFO RootInfo; 00067 00068 /* classfactory.c */ 00069 00070 IClassFactory * 00071 IClassFactory_fnConstructor( 00072 LPFNCREATEINSTANCE lpfnCI, 00073 PLONG pcRefDll, 00074 REFIID riidInst); 00075 00076 00077 /* devicelist.c */ 00078 00079 HRESULT 00080 EnumAudioDeviceInterfaces( 00081 LPFILTERINFO *OutRootInfo); 00082 00083 BOOL 00084 FindDeviceByGuid( 00085 LPCGUID pGuidSrc, 00086 LPFILTERINFO *Filter); 00087 00088 BOOL 00089 FindDeviceByMappedId( 00090 IN ULONG DeviceID, 00091 LPFILTERINFO *Filter, 00092 BOOL bPlayback); 00093 00094 ULONG 00095 GetPinIdFromFilter( 00096 LPFILTERINFO Filter, 00097 BOOL bCapture, 00098 ULONG Offset); 00099 00100 /* directsound.c */ 00101 00102 HRESULT 00103 CALLBACK 00104 NewDirectSound( 00105 IUnknown* pUnkOuter, 00106 REFIID riid, 00107 LPVOID* ppvObject); 00108 00109 00110 /* misc.c */ 00111 00112 VOID 00113 PerformChannelConversion( 00114 PUCHAR Buffer, 00115 ULONG BufferLength, 00116 PULONG BytesRead, 00117 ULONG OldChannels, 00118 ULONG NewChannels, 00119 ULONG BitsPerSample, 00120 PUCHAR Result, 00121 ULONG ResultLength, 00122 PULONG BytesWritten); 00123 00124 BOOL 00125 SetPinFormat( 00126 IN HANDLE hPin, 00127 IN LPWAVEFORMATEX WaveFormatEx); 00128 00129 BOOL 00130 CreateCompatiblePin( 00131 IN HANDLE hFilter, 00132 IN DWORD PinId, 00133 IN BOOL bLoop, 00134 IN LPWAVEFORMATEX WaveFormatEx, 00135 OUT LPWAVEFORMATEX WaveFormatOut, 00136 OUT PHANDLE hPin); 00137 00138 00139 DWORD 00140 SyncOverlappedDeviceIoControl( 00141 IN HANDLE Handle, 00142 IN DWORD IoControlCode, 00143 IN LPVOID InBuffer, 00144 IN DWORD InBufferSize, 00145 OUT LPVOID OutBuffer, 00146 IN DWORD OutBufferSize, 00147 OUT LPDWORD BytesTransferred OPTIONAL); 00148 00149 DWORD 00150 PrimaryDirectSoundBuffer_Write( 00151 LPDIRECTSOUNDBUFFER8 iface, 00152 LPVOID Buffer, 00153 DWORD BufferSize); 00154 00155 00156 DWORD 00157 OpenPin( 00158 HANDLE hFilter, 00159 ULONG PinId, 00160 LPWAVEFORMATEX WaveFormatEx, 00161 PHANDLE hPin, 00162 BOOL bLoop); 00163 00164 DWORD 00165 OpenFilter( 00166 IN LPCWSTR lpFileName, 00167 IN PHANDLE OutHandle); 00168 00169 DWORD 00170 GetFilterPinCount( 00171 IN HANDLE hFilter, 00172 OUT PULONG NumPins); 00173 00174 DWORD 00175 GetFilterPinCommunication( 00176 IN HANDLE hFilter, 00177 IN ULONG PinId, 00178 OUT PKSPIN_COMMUNICATION Communication); 00179 00180 DWORD 00181 GetFilterPinDataFlow( 00182 IN HANDLE hFilter, 00183 IN ULONG PinId, 00184 OUT PKSPIN_DATAFLOW DataFlow); 00185 00186 /* primary.c */ 00187 00188 HRESULT 00189 PrimaryDirectSoundBuffer_GetPosition( 00190 LPDIRECTSOUNDBUFFER8 iface, 00191 LPDWORD pdwCurrentPlayCursor, 00192 LPDWORD pdwCurrentWriteCursor); 00193 00194 VOID 00195 PrimaryDirectSoundBuffer_SetState( 00196 LPDIRECTSOUNDBUFFER8 iface, 00197 KSSTATE State); 00198 00199 HRESULT 00200 NewPrimarySoundBuffer( 00201 LPDIRECTSOUNDBUFFER8 *OutBuffer, 00202 LPFILTERINFO Filter, 00203 DWORD dwLevel, 00204 DWORD dwFlags); 00205 00206 HRESULT 00207 PrimaryDirectSoundBuffer_SetFormat( 00208 LPDIRECTSOUNDBUFFER8 iface, 00209 LPWAVEFORMATEX pcfxFormat, 00210 BOOL bLooped); 00211 00212 VOID 00213 PrimaryDirectSoundBuffer_AcquireLock( 00214 LPDIRECTSOUNDBUFFER8 iface); 00215 00216 VOID 00217 PrimaryDirectSoundBuffer_ReleaseLock( 00218 LPDIRECTSOUNDBUFFER8 iface); 00219 00220 /* secondary.c */ 00221 00222 HRESULT 00223 NewSecondarySoundBuffer( 00224 LPDIRECTSOUNDBUFFER8 *OutBuffer, 00225 LPFILTERINFO Filter, 00226 DWORD dwLevel, 00227 LPCDSBUFFERDESC lpcDSBufferDesc, 00228 LPDIRECTSOUNDBUFFER8 PrimaryBuffer); 00229 00230 /* property.c */ 00231 HRESULT 00232 CALLBACK 00233 NewKsPropertySet( 00234 IUnknown* pUnkOuter, 00235 REFIID riid, 00236 LPVOID* ppvObject); 00237 00238 /* capture.c */ 00239 00240 HRESULT 00241 CALLBACK 00242 NewDirectSoundCapture( 00243 IUnknown* pUnkOuter, 00244 REFIID riid, 00245 LPVOID* ppvObject); 00246 00247 00248 /* capturebuffer.c */ 00249 HRESULT 00250 NewDirectSoundCaptureBuffer( 00251 LPDIRECTSOUNDCAPTUREBUFFER8 *OutBuffer, 00252 LPFILTERINFO Filter, 00253 LPCDSCBUFFERDESC lpcDSBufferDesc); 00254 00255 /* notify.c */ 00256 VOID 00257 DoNotifyPositionEvents( 00258 LPDIRECTSOUNDNOTIFY iface, 00259 DWORD OldPosition, 00260 DWORD NewPosition); 00261 00262 HRESULT 00263 NewDirectSoundNotify( 00264 LPDIRECTSOUNDNOTIFY * Notify, 00265 BOOL bLoop, 00266 BOOL bMix, 00267 HANDLE hPin, 00268 DWORD BufferSize); Generated on Mon May 28 2012 04:16:27 for ReactOS by
1.7.6.1
|