|  | /*** Autogenerated by WIDL 0.1 from austream.idl - Do not edit ***/ | 
|  | #include <rpc.h> | 
|  | #include <rpcndr.h> | 
|  |  | 
|  | #ifndef __WIDL_AUSTREAM_H | 
|  | #define __WIDL_AUSTREAM_H | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  | #include <unknwn.h> | 
|  | #include <mmstream.h> | 
|  | #if 0 | 
|  | typedef struct tWAVEFORMATEX WAVEFORMATEX; | 
|  |  | 
|  | #endif | 
|  | #ifndef __IAudioMediaStream_FWD_DEFINED__ | 
|  | #define __IAudioMediaStream_FWD_DEFINED__ | 
|  | typedef struct IAudioMediaStream IAudioMediaStream; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAudioStreamSample_FWD_DEFINED__ | 
|  | #define __IAudioStreamSample_FWD_DEFINED__ | 
|  | typedef struct IAudioStreamSample IAudioStreamSample; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMemoryData_FWD_DEFINED__ | 
|  | #define __IMemoryData_FWD_DEFINED__ | 
|  | typedef struct IMemoryData IMemoryData; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAudioData_FWD_DEFINED__ | 
|  | #define __IAudioData_FWD_DEFINED__ | 
|  | typedef struct IAudioData IAudioData; | 
|  | #endif | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAudioMediaStream interface | 
|  | */ | 
|  | #ifndef __IAudioMediaStream_INTERFACE_DEFINED__ | 
|  | #define __IAudioMediaStream_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAudioMediaStream, 0xf7537560, 0xa3be, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAudioMediaStream : public IMediaStream | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetFormat( | 
|  | WAVEFORMATEX* pWaveFormatCurrent) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFormat( | 
|  | const WAVEFORMATEX* lpWaveFormat) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateSample( | 
|  | IAudioData* pAudioData, | 
|  | DWORD dwFlags, | 
|  | IAudioStreamSample** ppSample) = 0; | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IAudioMediaStreamVtbl IAudioMediaStreamVtbl; | 
|  | struct IAudioMediaStream { | 
|  | const IAudioMediaStreamVtbl* lpVtbl; | 
|  | }; | 
|  | struct IAudioMediaStreamVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAudioMediaStream* This, | 
|  | REFIID riid, | 
|  | void** ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAudioMediaStream* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAudioMediaStream* This); | 
|  |  | 
|  | /*** IMediaStream methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)( | 
|  | IAudioMediaStream* This, | 
|  | IMultiMediaStream** ppMultiMediaStream); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetInformation)( | 
|  | IAudioMediaStream* This, | 
|  | MSPID* pPurposeId, | 
|  | STREAM_TYPE* pType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSameFormat)( | 
|  | IAudioMediaStream* This, | 
|  | IMediaStream* pStreamThatHasDesiredFormat, | 
|  | DWORD dwFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AllocateSample)( | 
|  | IAudioMediaStream* This, | 
|  | DWORD dwFlags, | 
|  | IStreamSample** ppSample); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateSharedSample)( | 
|  | IAudioMediaStream* This, | 
|  | IStreamSample* pExistingSample, | 
|  | DWORD dwFlags, | 
|  | IStreamSample** ppNewSample); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SendEndOfStream)( | 
|  | IAudioMediaStream* This, | 
|  | DWORD dwFlags); | 
|  |  | 
|  | /*** IAudioMediaStream methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetFormat)( | 
|  | IAudioMediaStream* This, | 
|  | WAVEFORMATEX* pWaveFormatCurrent); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFormat)( | 
|  | IAudioMediaStream* This, | 
|  | const WAVEFORMATEX* lpWaveFormat); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateSample)( | 
|  | IAudioMediaStream* This, | 
|  | IAudioData* pAudioData, | 
|  | DWORD dwFlags, | 
|  | IAudioStreamSample** ppSample); | 
|  |  | 
|  | END_INTERFACE | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAudioMediaStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) | 
|  | #define IAudioMediaStream_AddRef(p) (p)->lpVtbl->AddRef(p) | 
|  | #define IAudioMediaStream_Release(p) (p)->lpVtbl->Release(p) | 
|  | /*** IMediaStream methods ***/ | 
|  | #define IAudioMediaStream_GetMultiMediaStream(p,a) (p)->lpVtbl->GetMultiMediaStream(p,a) | 
|  | #define IAudioMediaStream_GetInformation(p,a,b) (p)->lpVtbl->GetInformation(p,a,b) | 
|  | #define IAudioMediaStream_SetSameFormat(p,a,b) (p)->lpVtbl->SetSameFormat(p,a,b) | 
|  | #define IAudioMediaStream_AllocateSample(p,a,b) (p)->lpVtbl->AllocateSample(p,a,b) | 
|  | #define IAudioMediaStream_CreateSharedSample(p,a,b,c) (p)->lpVtbl->CreateSharedSample(p,a,b,c) | 
|  | #define IAudioMediaStream_SendEndOfStream(p,a) (p)->lpVtbl->SendEndOfStream(p,a) | 
|  | /*** IAudioMediaStream methods ***/ | 
|  | #define IAudioMediaStream_GetFormat(p,a) (p)->lpVtbl->GetFormat(p,a) | 
|  | #define IAudioMediaStream_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a) | 
|  | #define IAudioMediaStream_CreateSample(p,a,b,c) (p)->lpVtbl->CreateSample(p,a,b,c) | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #define IAudioMediaStream_METHODS \ | 
|  | /*** IUnknown methods ***/ \ | 
|  | STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ | 
|  | STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ | 
|  | STDMETHOD_(ULONG,Release)(THIS) PURE; \ | 
|  | /*** IMediaStream methods ***/ \ | 
|  | STDMETHOD_(HRESULT,GetMultiMediaStream)(THIS_ IMultiMediaStream** ppMultiMediaStream) PURE; \ | 
|  | STDMETHOD_(HRESULT,GetInformation)(THIS_ MSPID* pPurposeId, STREAM_TYPE* pType) PURE; \ | 
|  | STDMETHOD_(HRESULT,SetSameFormat)(THIS_ IMediaStream* pStreamThatHasDesiredFormat, DWORD dwFlags) PURE; \ | 
|  | STDMETHOD_(HRESULT,AllocateSample)(THIS_ DWORD dwFlags, IStreamSample** ppSample) PURE; \ | 
|  | STDMETHOD_(HRESULT,CreateSharedSample)(THIS_ IStreamSample* pExistingSample, DWORD dwFlags, IStreamSample** ppNewSample) PURE; \ | 
|  | STDMETHOD_(HRESULT,SendEndOfStream)(THIS_ DWORD dwFlags) PURE; \ | 
|  | /*** IAudioMediaStream methods ***/ \ | 
|  | STDMETHOD_(HRESULT,GetFormat)(THIS_ WAVEFORMATEX* pWaveFormatCurrent) PURE; \ | 
|  | STDMETHOD_(HRESULT,SetFormat)(THIS_ const WAVEFORMATEX* lpWaveFormat) PURE; \ | 
|  | STDMETHOD_(HRESULT,CreateSample)(THIS_ IAudioData* pAudioData, DWORD dwFlags, IAudioStreamSample** ppSample) PURE; | 
|  |  | 
|  | HRESULT CALLBACK IAudioMediaStream_GetFormat_Proxy( | 
|  | IAudioMediaStream* This, | 
|  | WAVEFORMATEX* pWaveFormatCurrent); | 
|  | void __RPC_STUB IAudioMediaStream_GetFormat_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK IAudioMediaStream_SetFormat_Proxy( | 
|  | IAudioMediaStream* This, | 
|  | const WAVEFORMATEX* lpWaveFormat); | 
|  | void __RPC_STUB IAudioMediaStream_SetFormat_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK IAudioMediaStream_CreateSample_Proxy( | 
|  | IAudioMediaStream* This, | 
|  | IAudioData* pAudioData, | 
|  | DWORD dwFlags, | 
|  | IAudioStreamSample** ppSample); | 
|  | void __RPC_STUB IAudioMediaStream_CreateSample_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IAudioMediaStream_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAudioStreamSample interface | 
|  | */ | 
|  | #ifndef __IAudioStreamSample_INTERFACE_DEFINED__ | 
|  | #define __IAudioStreamSample_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAudioStreamSample, 0x345fee00, 0xaba5, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAudioStreamSample : public IStreamSample | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetAudioData( | 
|  | IAudioData** ppAudio) = 0; | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IAudioStreamSampleVtbl IAudioStreamSampleVtbl; | 
|  | struct IAudioStreamSample { | 
|  | const IAudioStreamSampleVtbl* lpVtbl; | 
|  | }; | 
|  | struct IAudioStreamSampleVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAudioStreamSample* This, | 
|  | REFIID riid, | 
|  | void** ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAudioStreamSample* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAudioStreamSample* This); | 
|  |  | 
|  | /*** IStreamSample methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetMediaStream)( | 
|  | IAudioStreamSample* This, | 
|  | IMediaStream** ppMediaStream); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetSampleTimes)( | 
|  | IAudioStreamSample* This, | 
|  | STREAM_TIME* pStartTime, | 
|  | STREAM_TIME* pEndTime, | 
|  | STREAM_TIME* pCurrentTime); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSampleTimes)( | 
|  | IAudioStreamSample* This, | 
|  | const STREAM_TIME* pStartTime, | 
|  | const STREAM_TIME* pEndTime); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Update)( | 
|  | IAudioStreamSample* This, | 
|  | DWORD dwFlags, | 
|  | HANDLE hEvent, | 
|  | PAPCFUNC pfnAPC, | 
|  | DWORD dwAPCData); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CompletionStatus)( | 
|  | IAudioStreamSample* This, | 
|  | DWORD dwFlags, | 
|  | DWORD dwMilliseconds); | 
|  |  | 
|  | /*** IAudioStreamSample methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetAudioData)( | 
|  | IAudioStreamSample* This, | 
|  | IAudioData** ppAudio); | 
|  |  | 
|  | END_INTERFACE | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAudioStreamSample_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) | 
|  | #define IAudioStreamSample_AddRef(p) (p)->lpVtbl->AddRef(p) | 
|  | #define IAudioStreamSample_Release(p) (p)->lpVtbl->Release(p) | 
|  | /*** IStreamSample methods ***/ | 
|  | #define IAudioStreamSample_GetMediaStream(p,a) (p)->lpVtbl->GetMediaStream(p,a) | 
|  | #define IAudioStreamSample_GetSampleTimes(p,a,b,c) (p)->lpVtbl->GetSampleTimes(p,a,b,c) | 
|  | #define IAudioStreamSample_SetSampleTimes(p,a,b) (p)->lpVtbl->SetSampleTimes(p,a,b) | 
|  | #define IAudioStreamSample_Update(p,a,b,c,d) (p)->lpVtbl->Update(p,a,b,c,d) | 
|  | #define IAudioStreamSample_CompletionStatus(p,a,b) (p)->lpVtbl->CompletionStatus(p,a,b) | 
|  | /*** IAudioStreamSample methods ***/ | 
|  | #define IAudioStreamSample_GetAudioData(p,a) (p)->lpVtbl->GetAudioData(p,a) | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #define IAudioStreamSample_METHODS \ | 
|  | /*** IUnknown methods ***/ \ | 
|  | STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ | 
|  | STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ | 
|  | STDMETHOD_(ULONG,Release)(THIS) PURE; \ | 
|  | /*** IStreamSample methods ***/ \ | 
|  | STDMETHOD_(HRESULT,GetMediaStream)(THIS_ IMediaStream** ppMediaStream) PURE; \ | 
|  | STDMETHOD_(HRESULT,GetSampleTimes)(THIS_ STREAM_TIME* pStartTime, STREAM_TIME* pEndTime, STREAM_TIME* pCurrentTime) PURE; \ | 
|  | STDMETHOD_(HRESULT,SetSampleTimes)(THIS_ const STREAM_TIME* pStartTime, const STREAM_TIME* pEndTime) PURE; \ | 
|  | STDMETHOD_(HRESULT,Update)(THIS_ DWORD dwFlags, HANDLE hEvent, PAPCFUNC pfnAPC, DWORD dwAPCData) PURE; \ | 
|  | STDMETHOD_(HRESULT,CompletionStatus)(THIS_ DWORD dwFlags, DWORD dwMilliseconds) PURE; \ | 
|  | /*** IAudioStreamSample methods ***/ \ | 
|  | STDMETHOD_(HRESULT,GetAudioData)(THIS_ IAudioData** ppAudio) PURE; | 
|  |  | 
|  | HRESULT CALLBACK IAudioStreamSample_GetAudioData_Proxy( | 
|  | IAudioStreamSample* This, | 
|  | IAudioData** ppAudio); | 
|  | void __RPC_STUB IAudioStreamSample_GetAudioData_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IAudioStreamSample_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IMemoryData interface | 
|  | */ | 
|  | #ifndef __IMemoryData_INTERFACE_DEFINED__ | 
|  | #define __IMemoryData_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMemoryData, 0x327fc560, 0xaf60, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IMemoryData : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetBuffer( | 
|  | DWORD cbSize, | 
|  | BYTE* pbData, | 
|  | DWORD dwFlags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetInfo( | 
|  | DWORD* pdwLength, | 
|  | BYTE** ppbData, | 
|  | DWORD* pcbActualData) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetActual( | 
|  | DWORD cbDataValid) = 0; | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IMemoryDataVtbl IMemoryDataVtbl; | 
|  | struct IMemoryData { | 
|  | const IMemoryDataVtbl* lpVtbl; | 
|  | }; | 
|  | struct IMemoryDataVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMemoryData* This, | 
|  | REFIID riid, | 
|  | void** ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMemoryData* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMemoryData* This); | 
|  |  | 
|  | /*** IMemoryData methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetBuffer)( | 
|  | IMemoryData* This, | 
|  | DWORD cbSize, | 
|  | BYTE* pbData, | 
|  | DWORD dwFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetInfo)( | 
|  | IMemoryData* This, | 
|  | DWORD* pdwLength, | 
|  | BYTE** ppbData, | 
|  | DWORD* pcbActualData); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetActual)( | 
|  | IMemoryData* This, | 
|  | DWORD cbDataValid); | 
|  |  | 
|  | END_INTERFACE | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMemoryData_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) | 
|  | #define IMemoryData_AddRef(p) (p)->lpVtbl->AddRef(p) | 
|  | #define IMemoryData_Release(p) (p)->lpVtbl->Release(p) | 
|  | /*** IMemoryData methods ***/ | 
|  | #define IMemoryData_SetBuffer(p,a,b,c) (p)->lpVtbl->SetBuffer(p,a,b,c) | 
|  | #define IMemoryData_GetInfo(p,a,b,c) (p)->lpVtbl->GetInfo(p,a,b,c) | 
|  | #define IMemoryData_SetActual(p,a) (p)->lpVtbl->SetActual(p,a) | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #define IMemoryData_METHODS \ | 
|  | /*** IUnknown methods ***/ \ | 
|  | STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ | 
|  | STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ | 
|  | STDMETHOD_(ULONG,Release)(THIS) PURE; \ | 
|  | /*** IMemoryData methods ***/ \ | 
|  | STDMETHOD_(HRESULT,SetBuffer)(THIS_ DWORD cbSize, BYTE* pbData, DWORD dwFlags) PURE; \ | 
|  | STDMETHOD_(HRESULT,GetInfo)(THIS_ DWORD* pdwLength, BYTE** ppbData, DWORD* pcbActualData) PURE; \ | 
|  | STDMETHOD_(HRESULT,SetActual)(THIS_ DWORD cbDataValid) PURE; | 
|  |  | 
|  | HRESULT CALLBACK IMemoryData_SetBuffer_Proxy( | 
|  | IMemoryData* This, | 
|  | DWORD cbSize, | 
|  | BYTE* pbData, | 
|  | DWORD dwFlags); | 
|  | void __RPC_STUB IMemoryData_SetBuffer_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK IMemoryData_GetInfo_Proxy( | 
|  | IMemoryData* This, | 
|  | DWORD* pdwLength, | 
|  | BYTE** ppbData, | 
|  | DWORD* pcbActualData); | 
|  | void __RPC_STUB IMemoryData_GetInfo_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK IMemoryData_SetActual_Proxy( | 
|  | IMemoryData* This, | 
|  | DWORD cbDataValid); | 
|  | void __RPC_STUB IMemoryData_SetActual_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IMemoryData_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAudioData interface | 
|  | */ | 
|  | #ifndef __IAudioData_INTERFACE_DEFINED__ | 
|  | #define __IAudioData_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAudioData, 0x54c719c0, 0xaf60, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAudioData : public IMemoryData | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetFormat( | 
|  | WAVEFORMATEX* pWaveFormatCurrent) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFormat( | 
|  | const WAVEFORMATEX* lpWaveFormat) = 0; | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IAudioDataVtbl IAudioDataVtbl; | 
|  | struct IAudioData { | 
|  | const IAudioDataVtbl* lpVtbl; | 
|  | }; | 
|  | struct IAudioDataVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAudioData* This, | 
|  | REFIID riid, | 
|  | void** ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAudioData* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAudioData* This); | 
|  |  | 
|  | /*** IMemoryData methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetBuffer)( | 
|  | IAudioData* This, | 
|  | DWORD cbSize, | 
|  | BYTE* pbData, | 
|  | DWORD dwFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetInfo)( | 
|  | IAudioData* This, | 
|  | DWORD* pdwLength, | 
|  | BYTE** ppbData, | 
|  | DWORD* pcbActualData); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetActual)( | 
|  | IAudioData* This, | 
|  | DWORD cbDataValid); | 
|  |  | 
|  | /*** IAudioData methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetFormat)( | 
|  | IAudioData* This, | 
|  | WAVEFORMATEX* pWaveFormatCurrent); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFormat)( | 
|  | IAudioData* This, | 
|  | const WAVEFORMATEX* lpWaveFormat); | 
|  |  | 
|  | END_INTERFACE | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAudioData_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) | 
|  | #define IAudioData_AddRef(p) (p)->lpVtbl->AddRef(p) | 
|  | #define IAudioData_Release(p) (p)->lpVtbl->Release(p) | 
|  | /*** IMemoryData methods ***/ | 
|  | #define IAudioData_SetBuffer(p,a,b,c) (p)->lpVtbl->SetBuffer(p,a,b,c) | 
|  | #define IAudioData_GetInfo(p,a,b,c) (p)->lpVtbl->GetInfo(p,a,b,c) | 
|  | #define IAudioData_SetActual(p,a) (p)->lpVtbl->SetActual(p,a) | 
|  | /*** IAudioData methods ***/ | 
|  | #define IAudioData_GetFormat(p,a) (p)->lpVtbl->GetFormat(p,a) | 
|  | #define IAudioData_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a) | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #define IAudioData_METHODS \ | 
|  | /*** IUnknown methods ***/ \ | 
|  | STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ | 
|  | STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ | 
|  | STDMETHOD_(ULONG,Release)(THIS) PURE; \ | 
|  | /*** IMemoryData methods ***/ \ | 
|  | STDMETHOD_(HRESULT,SetBuffer)(THIS_ DWORD cbSize, BYTE* pbData, DWORD dwFlags) PURE; \ | 
|  | STDMETHOD_(HRESULT,GetInfo)(THIS_ DWORD* pdwLength, BYTE** ppbData, DWORD* pcbActualData) PURE; \ | 
|  | STDMETHOD_(HRESULT,SetActual)(THIS_ DWORD cbDataValid) PURE; \ | 
|  | /*** IAudioData methods ***/ \ | 
|  | STDMETHOD_(HRESULT,GetFormat)(THIS_ WAVEFORMATEX* pWaveFormatCurrent) PURE; \ | 
|  | STDMETHOD_(HRESULT,SetFormat)(THIS_ const WAVEFORMATEX* lpWaveFormat) PURE; | 
|  |  | 
|  | HRESULT CALLBACK IAudioData_GetFormat_Proxy( | 
|  | IAudioData* This, | 
|  | WAVEFORMATEX* pWaveFormatCurrent); | 
|  | void __RPC_STUB IAudioData_GetFormat_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK IAudioData_SetFormat_Proxy( | 
|  | IAudioData* This, | 
|  | const WAVEFORMATEX* lpWaveFormat); | 
|  | void __RPC_STUB IAudioData_SetFormat_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IAudioData_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  | #endif /* __WIDL_AUSTREAM_H */ |