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

dsdriver.h
Go to the documentation of this file.
00001 /*
00002  * DirectSound driver
00003  * (DirectX 5 version)
00004  *
00005  * Copyright (C) 2000 Ove Kaaven
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2.1 of the License, or (at your option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with this library; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00020  */
00021 
00022 #ifndef __WINE_DSDRIVER_H
00023 #define __WINE_DSDRIVER_H
00024 
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028 
00029 /*****************************************************************************
00030  * Predeclare the interfaces
00031  */
00032 DEFINE_GUID(IID_IDsDriver,      0x8C4233C0l, 0xB4CC, 0x11CE, 0x92, 0x94, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00);
00033 typedef struct IDsDriver *PIDSDRIVER;
00034 
00035 DEFINE_GUID(IID_IDsDriverBuffer,    0x8C4233C1l, 0xB4CC, 0x11CE, 0x92, 0x94, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00);
00036 typedef struct IDsDriverBuffer *PIDSDRIVERBUFFER;
00037 
00038 DEFINE_GUID(IID_IDsDriverPropertySet,   0x0F6F2E8E0, 0xD842, 0x11D0, 0x8F, 0x75, 0x00, 0xC0, 0x4F, 0xC2, 0x8A, 0xCA);
00039 typedef struct IDsDriverPropertySet *PIDSDRIVERPROPERTYSET;
00040 
00041 DEFINE_GUID(IID_IDsDriverNotify,    0x00363EF44, 0x3B57, 0x11D3, 0xAC, 0x79, 0x00, 0x10, 0x5A, 0x01, 0x7f, 0xe1);
00042 typedef struct IDsDriverNotify *PIDSDRIVERNOTIFY;
00043 
00044 DEFINE_GUID(IID_IDsCaptureDriver,   0x03DD10C47, 0x74FB, 0x11D3, 0x90, 0x49, 0xCB, 0xB4, 0xB3, 0x2E, 0xAA, 0x08);
00045 typedef struct IDsCaptureDriver *PIDSCDRIVER;
00046 
00047 DEFINE_GUID(IID_IDsCaptureDriverBuffer, 0x03DD10C48, 0x74FB, 0x11D3, 0x90, 0x49, 0xCB, 0xB4, 0xB3, 0x2E, 0xAA, 0x08);
00048 typedef struct IDsCaptureDriverBuffer *PIDSCDRIVERBUFFER;
00049 
00050 #define DSDDESC_DOMMSYSTEMOPEN      0x00000001
00051 #define DSDDESC_DOMMSYSTEMSETFORMAT 0x00000002
00052 #define DSDDESC_USESYSTEMMEMORY     0x00000004
00053 #define DSDDESC_DONTNEEDPRIMARYLOCK 0x00000008
00054 #define DSDDESC_DONTNEEDSECONDARYLOCK   0x00000010
00055 #define DSDDESC_DONTNEEDWRITELEAD   0x00000020
00056 
00057 #define DSDHEAP_NOHEAP          0
00058 #define DSDHEAP_CREATEHEAP      1
00059 #define DSDHEAP_USEDIRECTDRAWHEAP   2
00060 #define DSDHEAP_PRIVATEHEAP     3
00061 
00062 typedef struct _DSDRIVERDESC
00063 {
00064     DWORD       dwFlags;
00065     TCHAR   szDesc[256];
00066     TCHAR   szDrvname[256];
00067     DWORD_PTR   dnDevNode;
00068     WORD    wVxdId;
00069     WORD    wReserved;
00070     ULONG   ulDeviceNum;
00071     DWORD   dwHeapType;
00072     LPVOID  pvDirectDrawHeap;
00073     DWORD   dwMemStartAddress;
00074     DWORD   dwMemEndAddress;
00075     DWORD   dwMemAllocExtra;
00076     LPVOID  pvReserved1;
00077     LPVOID  pvReserved2;
00078 } DSDRIVERDESC,*PDSDRIVERDESC;
00079 
00080 
00081 
00082 
00083 typedef struct _DSDRIVERCAPS
00084 {
00085     DWORD   dwFlags;
00086     DWORD   dwMinSecondarySampleRate;
00087     DWORD   dwMaxSecondarySampleRate;
00088     DWORD   dwPrimaryBuffers;
00089     DWORD   dwMaxHwMixingAllBuffers;
00090     DWORD   dwMaxHwMixingStaticBuffers;
00091     DWORD   dwMaxHwMixingStreamingBuffers;
00092     DWORD   dwFreeHwMixingAllBuffers;
00093     DWORD   dwFreeHwMixingStaticBuffers;
00094     DWORD   dwFreeHwMixingStreamingBuffers;
00095     DWORD   dwMaxHw3DAllBuffers;
00096     DWORD   dwMaxHw3DStaticBuffers;
00097     DWORD   dwMaxHw3DStreamingBuffers;
00098     DWORD   dwFreeHw3DAllBuffers;
00099     DWORD   dwFreeHw3DStaticBuffers;
00100     DWORD   dwFreeHw3DStreamingBuffers;
00101     DWORD   dwTotalHwMemBytes;
00102     DWORD   dwFreeHwMemBytes;
00103     DWORD   dwMaxContigFreeHwMemBytes;
00104 } DSDRIVERCAPS,*PDSDRIVERCAPS;
00105 
00106 typedef struct _DSVOLUMEPAN
00107 {
00108     DWORD   dwTotalLeftAmpFactor;
00109     DWORD   dwTotalRightAmpFactor;
00110     LONG    lVolume;
00111     DWORD   dwVolAmpFactor;
00112     LONG    lPan;
00113     DWORD   dwPanLeftAmpFactor;
00114     DWORD   dwPanRightAmpFactor;
00115 } DSVOLUMEPAN,*PDSVOLUMEPAN;
00116 
00117 typedef union _DSPROPERTY
00118 {
00119     struct {
00120     GUID    Set;
00121     ULONG   Id;
00122     ULONG   Flags;
00123     ULONG_PTR   InstanceId;
00124     } DUMMYSTRUCTNAME;
00125     ULONGLONG   Alignment;
00126 } DSPROPERTY,*PDSPROPERTY;
00127 
00128 typedef struct _DSCDRIVERCAPS
00129 {
00130     DWORD   dwSize;
00131     DWORD   dwFlags;
00132     DWORD   dwFormats;
00133     DWORD   dwChannels;
00134 } DSCDRIVERCAPS,*PDSCDRIVERCAPS;
00135 
00136 /*****************************************************************************
00137  * IDsDriver interface
00138  */
00139 #define INTERFACE IDsDriver
00140 DECLARE_INTERFACE_(IDsDriver,IUnknown)
00141 {
00142     /*** IUnknown methods ***/
00143     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00144     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00145     STDMETHOD_(ULONG,Release)(THIS) PURE;
00146     /*** IDsDriver methods ***/
00147     STDMETHOD(GetDriverDesc)(THIS_ PDSDRIVERDESC pDsDriverDesc) PURE;
00148     STDMETHOD(Open)(THIS) PURE;
00149     STDMETHOD(Close)(THIS) PURE;
00150     STDMETHOD(GetCaps)(THIS_ PDSDRIVERCAPS pDsDrvCaps) PURE;
00151     STDMETHOD(CreateSoundBuffer)(THIS_ LPWAVEFORMATEX pwfx,DWORD dwFlags,DWORD dwCardAddress,LPDWORD pdwcbBufferSize,LPBYTE *ppbBuffer,LPVOID *ppvObj) PURE;
00152     STDMETHOD(DuplicateSoundBuffer)(THIS_ PIDSDRIVERBUFFER pIDsDriverBuffer,LPVOID *ppvObj) PURE;
00153 };
00154 #undef INTERFACE
00155 
00156 #if !defined (__cplusplus) || defined(CINTERFACE)
00157     /*** IUnknown methods ***/
00158 #define IDsDriver_QueryInterface(p,a,b)         (p)->lpVtbl->QueryInterface(p,a,b)
00159 #define IDsDriver_AddRef(p)                     (p)->lpVtbl->AddRef(p)
00160 #define IDsDriver_Release(p)                    (p)->lpVtbl->Release(p)
00161     /*** IDsDriver methods ***/
00162 #define IDsDriver_GetDriverDesc(p,a)            (p)->lpVtbl->GetDriverDesc(p,a)
00163 #define IDsDriver_Open(p)                       (p)->lpVtbl->Open(p)
00164 #define IDsDriver_Close(p)                      (p)->lpVtbl->Close(p)
00165 #define IDsDriver_GetCaps(p,a)                  (p)->lpVtbl->GetCaps(p,a)
00166 #define IDsDriver_CreateSoundBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateSoundBuffer(p,a,b,c,d,e,f)
00167 #define IDsDriver_DuplicateSoundBuffer(p,a,b)   (p)->lpVtbl->DuplicateSoundBuffer(p,a,b)
00168 #endif
00169 
00170 /*****************************************************************************
00171  * IDsDriverBuffer interface
00172  */
00173 #define INTERFACE IDsDriverBuffer
00174 DECLARE_INTERFACE_(IDsDriverBuffer,IUnknown)
00175 {
00176     /*** IUnknown methods ***/
00177     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00178     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00179     STDMETHOD_(ULONG,Release)(THIS) PURE;
00180     /*** IDsDriverBuffer methods ***/
00181     STDMETHOD(Lock)(THIS_ LPVOID *ppvAudio1,LPDWORD pdwLen1,LPVOID *pdwAudio2,LPDWORD pdwLen2,DWORD dwWritePosition,DWORD dwWriteLen,DWORD dwFlags) PURE;
00182     STDMETHOD(Unlock)(THIS_ LPVOID pvAudio1,DWORD dwLen1,LPVOID pvAudio2,DWORD dwLen2) PURE;
00183     STDMETHOD(SetFormat)(THIS_ LPWAVEFORMATEX pwfxToSet) PURE;
00184     STDMETHOD(SetFrequency)(THIS_ DWORD dwFrequency) PURE;
00185     STDMETHOD(SetVolumePan)(THIS_ PDSVOLUMEPAN pDsVolumePan) PURE;
00186     STDMETHOD(SetPosition)(THIS_ DWORD dwNewPosition) PURE;
00187     STDMETHOD(GetPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor,LPDWORD lpdwCurrentWriteCursor) PURE;
00188     STDMETHOD(Play)(THIS_ DWORD dwReserved1,DWORD dwReserved2,DWORD dwFlags) PURE;
00189     STDMETHOD(Stop)(THIS) PURE;
00190 };
00191 #undef INTERFACE
00192 
00193 #if !defined (__cplusplus) || defined(CINTERFACE)
00194     /*** IUnknown methods ***/
00195 #define IDsDriverBuffer_QueryInterface(p,a,b)   (p)->lpVtbl->QueryInterface(p,a,b)
00196 #define IDsDriverBuffer_AddRef(p)               (p)->lpVtbl->AddRef(p)
00197 #define IDsDriverBuffer_Release(p)              (p)->lpVtbl->Release(p)
00198     /*** IDsDriverBuffer methods ***/
00199 #define IDsDriverBuffer_Lock(p,a,b,c,d,e,f,g)   (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
00200 #define IDsDriverBuffer_Unlock(p,a,b,c,d)       (p)->lpVtbl->Unlock(p,a,b,c,d)
00201 #define IDsDriverBuffer_SetFormat(p,a)          (p)->lpVtbl->SetFormat(p,a)
00202 #define IDsDriverBuffer_SetFrequency(p,a)       (p)->lpVtbl->SetFrequency(p,a)
00203 #define IDsDriverBuffer_SetVolumePan(p,a)       (p)->lpVtbl->SetVolumePan(p,a)
00204 #define IDsDriverBuffer_SetPosition(p,a)        (p)->lpVtbl->SetPosition(p,a)
00205 #define IDsDriverBuffer_GetPosition(p,a,b)      (p)->lpVtbl->GetPosition(p,a,b)
00206 #define IDsDriverBuffer_Play(p,a,b,c)           (p)->lpVtbl->Play(p,a,b,c)
00207 #define IDsDriverBuffer_Stop(p)                 (p)->lpVtbl->Stop(p)
00208 #endif
00209 
00210 /*****************************************************************************
00211  * IDsDriverPropertySet interface
00212  */
00213 #define INTERFACE IDsDriverPropertySet
00214 DECLARE_INTERFACE_(IDsDriverPropertySet,IUnknown)
00215 {
00216     /*** IUnknown methods ***/
00217     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00218     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00219     STDMETHOD_(ULONG,Release)(THIS) PURE;
00220     /*** IDsDriverPropertySet methods ***/
00221     STDMETHOD(Get)(THIS_ PDSPROPERTY pDsProperty,LPVOID pPropertyParams,ULONG cbPropertyParams,LPVOID pPropertyData,ULONG cbPropertyData,PULONG pcbReturnedData) PURE;
00222     STDMETHOD(Set)(THIS_ PDSPROPERTY pDsProperty,LPVOID pPropertyParams,ULONG cbPropertyParams,LPVOID pPropertyData,ULONG cbPropertyData) PURE;
00223     STDMETHOD(QuerySupport)(THIS_ REFGUID PropertySetId,ULONG PropertyId,PULONG pSupport) PURE;
00224 };
00225 #undef INTERFACE
00226 
00227 #if !defined (__cplusplus) || defined(CINTERFACE)
00228     /*** IUnknown methods ***/
00229 #define IDsDriverPropertySet_QueryInterface(p,a,b)      (p)->lpVtbl->QueryInterface(p,a,b)
00230 #define IDsDriverPropertySet_AddRef(p)                  (p)->lpVtbl->AddRef(p)
00231 #define IDsDriverPropertySet_Release(p)                 (p)->lpVtbl->Release(p)
00232     /*** IDsDriverPropertySet methods ***/
00233 #define IDsDriverPropertySet_Get(p,a,b,c,d,e,f)         (p)->lpVtbl->Get(p,a,b,c,d,e,f)
00234 #define IDsDriverPropertySet_Set(p,a,b,c,d,e)           (p)->lpVtbl->Set(p,a,b,c,d,e)
00235 #define IDsDriverPropertySet_QuerySupport(p,a,b,c)      (p)->lpVtbl->QuerySupport(p,a,b,c)
00236 #endif
00237 
00238 /* Defined property sets */
00239 DEFINE_GUID(DSPROPSETID_DirectSound3DListener,    0x6D047B40, 0x7AF9, 0x11D0, 0x92, 0x94, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0);
00240 typedef enum
00241 {
00242     DSPROPERTY_DIRECTSOUND3DLISTENER_ALL,
00243     DSPROPERTY_DIRECTSOUND3DLISTENER_POSITION,
00244     DSPROPERTY_DIRECTSOUND3DLISTENER_VELOCITY,
00245     DSPROPERTY_DIRECTSOUND3DLISTENER_ORIENTATION,
00246     DSPROPERTY_DIRECTSOUND3DLISTENER_DISTANCEFACTOR,
00247     DSPROPERTY_DIRECTSOUND3DLISTENER_ROLLOFFFACTOR,
00248     DSPROPERTY_DIRECTSOUND3DLISTENER_DOPPLERFACTOR,
00249     DSPROPERTY_DIRECTSOUND3DLISTENER_BATCH,
00250     DSPROPERTY_DIRECTSOUND3DLISTENER_ALLOCATION
00251 } DSPROPERTY_DIRECTSOUND3DLISTENER;
00252 
00253 DEFINE_GUID(DSPROPSETID_DirectSound3DBuffer,      0x6D047B41, 0x7AF9, 0x11D0, 0x92, 0x94, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0);
00254 typedef enum
00255 {
00256     DSPROPERTY_DIRECTSOUND3DBUFFER_ALL,
00257     DSPROPERTY_DIRECTSOUND3DBUFFER_POSITION,
00258     DSPROPERTY_DIRECTSOUND3DBUFFER_VELOCITY,
00259     DSPROPERTY_DIRECTSOUND3DBUFFER_CONEANGLES,
00260     DSPROPERTY_DIRECTSOUND3DBUFFER_CONEORIENTATION,
00261     DSPROPERTY_DIRECTSOUND3DBUFFER_CONEOUTSIDEVOLUME,
00262     DSPROPERTY_DIRECTSOUND3DBUFFER_MINDISTANCE,
00263     DSPROPERTY_DIRECTSOUND3DBUFFER_MAXDISTANCE,
00264     DSPROPERTY_DIRECTSOUND3DBUFFER_MODE
00265 } DSPROPERTY_DIRECTSOUND3DBUFFER;
00266 
00267 DEFINE_GUID(DSPROPSETID_DirectSoundSpeakerConfig, 0x6D047B42, 0x7AF9, 0x11D0, 0x92, 0x94, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0);
00268 typedef enum
00269 {
00270     DSPROPERTY_DIRECTSOUNDSPEAKERCONFIG_SPEAKERCONFIG
00271 } DSPROPERTY_DIRECTSOUNDSPEAKERCONFIG;
00272 
00273 /*****************************************************************************
00274  * IDsDriverNotify interface
00275  */
00276 #define INTERFACE IDsDriverNotify
00277 DECLARE_INTERFACE_(IDsDriverNotify,IUnknown)
00278 {
00279     /*** IUnknown methods ***/
00280     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00281     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00282     STDMETHOD_(ULONG,Release)(THIS) PURE;
00283     /*** IDsDriverNotify methods ***/
00284     STDMETHOD(SetNotificationPositions)(THIS_ DWORD dwPositionNotifies,LPCDSBPOSITIONNOTIFY pcPositionNotifies) PURE;
00285 };
00286 #undef INTERFACE
00287 
00288 #if !defined (__cplusplus) || defined(CINTERFACE)
00289     /*** IUnknown methods ***/
00290 #define IDsDriverNotify_QueryInterface(p,a,b)           (p)->lpVtbl->QueryInterface(p,a,b)
00291 #define IDsDriverNotify_AddRef(p)                       (p)->lpVtbl->AddRef(p)
00292 #define IDsDriverNotify_Release(p)                      (p)->lpVtbl->Release(p)
00293     /*** IDsDriverNotify methods ***/
00294 #define IDsDriverNotify_SetNotificationPositions(p,a,b) (p)->lpVtbl->SetNotificationPositions(p,a,b)
00295 #endif
00296 
00297 /*****************************************************************************
00298  * IDsCaptureDriver interface
00299  */
00300 #define INTERFACE IDsCaptureDriver
00301 DECLARE_INTERFACE_(IDsCaptureDriver,IUnknown)
00302 {
00303     /*** IUnknown methods ***/
00304     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00305     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00306     STDMETHOD_(ULONG,Release)(THIS) PURE;
00307     /*** IDsCaptureDriver methods ***/
00308     STDMETHOD(GetDriverDesc)(THIS_ PDSDRIVERDESC pDsDriverDesc) PURE;
00309     STDMETHOD(Open)(THIS) PURE;
00310     STDMETHOD(Close)(THIS) PURE;
00311     STDMETHOD(GetCaps)(THIS_ PDSCDRIVERCAPS pDsDrvCaps) PURE;
00312     STDMETHOD(CreateCaptureBuffer)(THIS_ LPWAVEFORMATEX pwfx,DWORD dwFlags,DWORD dwCardAddress,LPDWORD pdwcbBufferSize,LPBYTE *ppbBuffer,LPVOID *ppvObj) PURE;
00313 };
00314 #undef INTERFACE
00315 
00316 #if !defined (__cplusplus) || defined(CINTERFACE)
00317     /*** IUnknown methods ***/
00318 #define IDsCaptureDriver_QueryInterface(p,a,b)          (p)->lpVtbl->QueryInterface(p,a,b)
00319 #define IDsCaptureDriver_AddRef(p)                      (p)->lpVtbl->AddRef(p)
00320 #define IDsCaptureDriver_Release(p)                     (p)->lpVtbl->Release(p)
00321     /*** IDsCaptureDriver methods ***/
00322 #define IDsCaptureDriver_GetDriverDesc(p,a)             (p)->lpVtbl->GetDriverDesc(p,a)
00323 #define IDsCaptureDriver_Open(p)                        (p)->lpVtbl->Open(p)
00324 #define IDsCaptureDriver_Close(p)                       (p)->lpVtbl->Close(p)
00325 #define IDsCaptureDriver_GetCaps(p,a)                   (p)->lpVtbl->GetCaps(p,a)
00326 #define IDsCaptureDriver_CreateCaptureBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateCaptureBuffer(p,a,b,c,d,e,f)
00327 #endif
00328 
00329 /*****************************************************************************
00330  * IDsCaptureDriverBuffer interface
00331  */
00332 #define INTERFACE IDsCaptureDriverBuffer
00333 DECLARE_INTERFACE_(IDsCaptureDriverBuffer,IUnknown)
00334 {
00335     /*** IUnknown methods ***/
00336     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00337     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00338     STDMETHOD_(ULONG,Release)(THIS) PURE;
00339     /*** IDsCaptureDriverBuffer methods ***/
00340     STDMETHOD(Lock)(THIS_ LPVOID *ppvAudio1,LPDWORD pdwLen1,LPVOID *ppvAudio2,LPDWORD pdwLen2,DWORD dwWritePosition,DWORD dwWriteLen,DWORD dwFlags) PURE;
00341     STDMETHOD(Unlock)(THIS_ LPVOID pvAudio1,DWORD dwLen1,LPVOID pvAudio2,DWORD dwLen2) PURE;
00342     STDMETHOD(SetFormat)(THIS_ LPWAVEFORMATEX pwfxToSet) PURE;
00343     STDMETHOD(GetPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor,LPDWORD lpdwCurrentWriteCursor) PURE;
00344     STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE;
00345     STDMETHOD(Start)(THIS_ DWORD dwFlags) PURE;
00346     STDMETHOD(Stop)(THIS) PURE;
00347 };
00348 #undef INTERFACE
00349 
00350 #if !defined (__cplusplus) || defined(CINTERFACE)
00351     /*** IUnknown methods ***/
00352 #define IDsCaptureDriverBuffer_QueryInterface(p,a,b)    (p)->lpVtbl->QueryInterface(p,a,b)
00353 #define IDsCaptureDriverBuffer_AddRef(p)                (p)->lpVtbl->AddRef(p)
00354 #define IDsCaptureDriverBuffer_Release(p)               (p)->lpVtbl->Release(p)
00355     /*** IDsCaptureDriverBuffer methods ***/
00356 #define IDsCaptureDriverBuffer_Lock(p,a,b,c,d,e,f,g)    (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
00357 #define IDsCaptureDriverBuffer_Unlock(p,a,b,c,d)        (p)->lpVtbl->Unlock(p,a,b,c,d)
00358 #define IDsCaptureDriverBuffer_SetFormat(p,a)           (p)->lpVtbl->SetFormat(p,a)
00359 #define IDsCaptureDriverBuffer_GetPosition(p,a,b)       (p)->lpVtbl->GetPosition(p,a,b)
00360 #define IDsCaptureDriverBuffer_GetStatus(p,a)           (p)->lpVtbl->GetStatus(p,a)
00361 #define IDsCaptureDriverBuffer_Start(p,a)               (p)->lpVtbl->Start(p,a)
00362 #define IDsCaptureDriverBuffer_Stop(p)                  (p)->lpVtbl->Stop(p)
00363 #endif
00364 
00365 #ifdef __cplusplus
00366 } /* extern "C" */
00367 #endif
00368 
00369 #endif /* __WINE_DSDRIVER_H */

Generated on Sun May 27 2012 04:31:26 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.