zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

austream.h (21685B) - Raw


      1 /*** Autogenerated by WIDL 10.4 from include/austream.idl - Do not edit ***/
      2 
      3 #ifdef _WIN32
      4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      6 #endif
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 #endif
     10 
     11 #ifndef COM_NO_WINDOWS_H
     12 #include <windows.h>
     13 #include <ole2.h>
     14 #endif
     15 
     16 #ifndef __austream_h__
     17 #define __austream_h__
     18 
     19 /* Forward declarations */
     20 
     21 #ifndef __IAudioMediaStream_FWD_DEFINED__
     22 #define __IAudioMediaStream_FWD_DEFINED__
     23 typedef interface IAudioMediaStream IAudioMediaStream;
     24 #ifdef __cplusplus
     25 interface IAudioMediaStream;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __IAudioStreamSample_FWD_DEFINED__
     30 #define __IAudioStreamSample_FWD_DEFINED__
     31 typedef interface IAudioStreamSample IAudioStreamSample;
     32 #ifdef __cplusplus
     33 interface IAudioStreamSample;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 #ifndef __IMemoryData_FWD_DEFINED__
     38 #define __IMemoryData_FWD_DEFINED__
     39 typedef interface IMemoryData IMemoryData;
     40 #ifdef __cplusplus
     41 interface IMemoryData;
     42 #endif /* __cplusplus */
     43 #endif
     44 
     45 #ifndef __IAudioData_FWD_DEFINED__
     46 #define __IAudioData_FWD_DEFINED__
     47 typedef interface IAudioData IAudioData;
     48 #ifdef __cplusplus
     49 interface IAudioData;
     50 #endif /* __cplusplus */
     51 #endif
     52 
     53 /* Headers for imported files */
     54 
     55 #include <unknwn.h>
     56 #include <mmstream.h>
     57 
     58 #ifdef __cplusplus
     59 extern "C" {
     60 #endif
     61 
     62 #if 0
     63 typedef struct tWAVEFORMATEX WAVEFORMATEX;
     64 #endif
     65 #ifndef __IAudioMediaStream_FWD_DEFINED__
     66 #define __IAudioMediaStream_FWD_DEFINED__
     67 typedef interface IAudioMediaStream IAudioMediaStream;
     68 #ifdef __cplusplus
     69 interface IAudioMediaStream;
     70 #endif /* __cplusplus */
     71 #endif
     72 
     73 #ifndef __IAudioStreamSample_FWD_DEFINED__
     74 #define __IAudioStreamSample_FWD_DEFINED__
     75 typedef interface IAudioStreamSample IAudioStreamSample;
     76 #ifdef __cplusplus
     77 interface IAudioStreamSample;
     78 #endif /* __cplusplus */
     79 #endif
     80 
     81 #ifndef __IMemoryData_FWD_DEFINED__
     82 #define __IMemoryData_FWD_DEFINED__
     83 typedef interface IMemoryData IMemoryData;
     84 #ifdef __cplusplus
     85 interface IMemoryData;
     86 #endif /* __cplusplus */
     87 #endif
     88 
     89 #ifndef __IAudioData_FWD_DEFINED__
     90 #define __IAudioData_FWD_DEFINED__
     91 typedef interface IAudioData IAudioData;
     92 #ifdef __cplusplus
     93 interface IAudioData;
     94 #endif /* __cplusplus */
     95 #endif
     96 
     97 /*****************************************************************************
     98  * IAudioMediaStream interface
     99  */
    100 #ifndef __IAudioMediaStream_INTERFACE_DEFINED__
    101 #define __IAudioMediaStream_INTERFACE_DEFINED__
    102 
    103 DEFINE_GUID(IID_IAudioMediaStream, 0xf7537560, 0xa3be, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45);
    104 #if defined(__cplusplus) && !defined(CINTERFACE)
    105 MIDL_INTERFACE("f7537560-a3be-11d0-8212-00c04fc32c45")
    106 IAudioMediaStream : public IMediaStream
    107 {
    108     virtual HRESULT STDMETHODCALLTYPE GetFormat(
    109         WAVEFORMATEX *pWaveFormatCurrent) = 0;
    110 
    111     virtual HRESULT STDMETHODCALLTYPE SetFormat(
    112         const WAVEFORMATEX *lpWaveFormat) = 0;
    113 
    114     virtual HRESULT STDMETHODCALLTYPE CreateSample(
    115         IAudioData *pAudioData,
    116         DWORD dwFlags,
    117         IAudioStreamSample **ppSample) = 0;
    118 
    119 };
    120 #ifdef __CRT_UUID_DECL
    121 __CRT_UUID_DECL(IAudioMediaStream, 0xf7537560, 0xa3be, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45)
    122 #endif
    123 #else
    124 typedef struct IAudioMediaStreamVtbl {
    125     BEGIN_INTERFACE
    126 
    127     /*** IUnknown methods ***/
    128     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    129         IAudioMediaStream *This,
    130         REFIID riid,
    131         void **ppvObject);
    132 
    133     ULONG (STDMETHODCALLTYPE *AddRef)(
    134         IAudioMediaStream *This);
    135 
    136     ULONG (STDMETHODCALLTYPE *Release)(
    137         IAudioMediaStream *This);
    138 
    139     /*** IMediaStream methods ***/
    140     HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)(
    141         IAudioMediaStream *This,
    142         IMultiMediaStream **ppMultiMediaStream);
    143 
    144     HRESULT (STDMETHODCALLTYPE *GetInformation)(
    145         IAudioMediaStream *This,
    146         MSPID *pPurposeId,
    147         STREAM_TYPE *pType);
    148 
    149     HRESULT (STDMETHODCALLTYPE *SetSameFormat)(
    150         IAudioMediaStream *This,
    151         IMediaStream *pStreamThatHasDesiredFormat,
    152         DWORD dwFlags);
    153 
    154     HRESULT (STDMETHODCALLTYPE *AllocateSample)(
    155         IAudioMediaStream *This,
    156         DWORD dwFlags,
    157         IStreamSample **ppSample);
    158 
    159     HRESULT (STDMETHODCALLTYPE *CreateSharedSample)(
    160         IAudioMediaStream *This,
    161         IStreamSample *pExistingSample,
    162         DWORD dwFlags,
    163         IStreamSample **ppNewSample);
    164 
    165     HRESULT (STDMETHODCALLTYPE *SendEndOfStream)(
    166         IAudioMediaStream *This,
    167         DWORD dwFlags);
    168 
    169     /*** IAudioMediaStream methods ***/
    170     HRESULT (STDMETHODCALLTYPE *GetFormat)(
    171         IAudioMediaStream *This,
    172         WAVEFORMATEX *pWaveFormatCurrent);
    173 
    174     HRESULT (STDMETHODCALLTYPE *SetFormat)(
    175         IAudioMediaStream *This,
    176         const WAVEFORMATEX *lpWaveFormat);
    177 
    178     HRESULT (STDMETHODCALLTYPE *CreateSample)(
    179         IAudioMediaStream *This,
    180         IAudioData *pAudioData,
    181         DWORD dwFlags,
    182         IAudioStreamSample **ppSample);
    183 
    184     END_INTERFACE
    185 } IAudioMediaStreamVtbl;
    186 
    187 interface IAudioMediaStream {
    188     CONST_VTBL IAudioMediaStreamVtbl* lpVtbl;
    189 };
    190 
    191 #ifdef COBJMACROS
    192 #ifndef WIDL_C_INLINE_WRAPPERS
    193 /*** IUnknown methods ***/
    194 #define IAudioMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    195 #define IAudioMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This)
    196 #define IAudioMediaStream_Release(This) (This)->lpVtbl->Release(This)
    197 /*** IMediaStream methods ***/
    198 #define IAudioMediaStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream)
    199 #define IAudioMediaStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType)
    200 #define IAudioMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
    201 #define IAudioMediaStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample)
    202 #define IAudioMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
    203 #define IAudioMediaStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags)
    204 /*** IAudioMediaStream methods ***/
    205 #define IAudioMediaStream_GetFormat(This,pWaveFormatCurrent) (This)->lpVtbl->GetFormat(This,pWaveFormatCurrent)
    206 #define IAudioMediaStream_SetFormat(This,lpWaveFormat) (This)->lpVtbl->SetFormat(This,lpWaveFormat)
    207 #define IAudioMediaStream_CreateSample(This,pAudioData,dwFlags,ppSample) (This)->lpVtbl->CreateSample(This,pAudioData,dwFlags,ppSample)
    208 #else
    209 /*** IUnknown methods ***/
    210 static inline HRESULT IAudioMediaStream_QueryInterface(IAudioMediaStream* This,REFIID riid,void **ppvObject) {
    211     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    212 }
    213 static inline ULONG IAudioMediaStream_AddRef(IAudioMediaStream* This) {
    214     return This->lpVtbl->AddRef(This);
    215 }
    216 static inline ULONG IAudioMediaStream_Release(IAudioMediaStream* This) {
    217     return This->lpVtbl->Release(This);
    218 }
    219 /*** IMediaStream methods ***/
    220 static inline HRESULT IAudioMediaStream_GetMultiMediaStream(IAudioMediaStream* This,IMultiMediaStream **ppMultiMediaStream) {
    221     return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream);
    222 }
    223 static inline HRESULT IAudioMediaStream_GetInformation(IAudioMediaStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) {
    224     return This->lpVtbl->GetInformation(This,pPurposeId,pType);
    225 }
    226 static inline HRESULT IAudioMediaStream_SetSameFormat(IAudioMediaStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) {
    227     return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags);
    228 }
    229 static inline HRESULT IAudioMediaStream_AllocateSample(IAudioMediaStream* This,DWORD dwFlags,IStreamSample **ppSample) {
    230     return This->lpVtbl->AllocateSample(This,dwFlags,ppSample);
    231 }
    232 static inline HRESULT IAudioMediaStream_CreateSharedSample(IAudioMediaStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) {
    233     return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample);
    234 }
    235 static inline HRESULT IAudioMediaStream_SendEndOfStream(IAudioMediaStream* This,DWORD dwFlags) {
    236     return This->lpVtbl->SendEndOfStream(This,dwFlags);
    237 }
    238 /*** IAudioMediaStream methods ***/
    239 static inline HRESULT IAudioMediaStream_GetFormat(IAudioMediaStream* This,WAVEFORMATEX *pWaveFormatCurrent) {
    240     return This->lpVtbl->GetFormat(This,pWaveFormatCurrent);
    241 }
    242 static inline HRESULT IAudioMediaStream_SetFormat(IAudioMediaStream* This,const WAVEFORMATEX *lpWaveFormat) {
    243     return This->lpVtbl->SetFormat(This,lpWaveFormat);
    244 }
    245 static inline HRESULT IAudioMediaStream_CreateSample(IAudioMediaStream* This,IAudioData *pAudioData,DWORD dwFlags,IAudioStreamSample **ppSample) {
    246     return This->lpVtbl->CreateSample(This,pAudioData,dwFlags,ppSample);
    247 }
    248 #endif
    249 #endif
    250 
    251 #endif
    252 
    253 
    254 #endif  /* __IAudioMediaStream_INTERFACE_DEFINED__ */
    255 
    256 /*****************************************************************************
    257  * IAudioStreamSample interface
    258  */
    259 #ifndef __IAudioStreamSample_INTERFACE_DEFINED__
    260 #define __IAudioStreamSample_INTERFACE_DEFINED__
    261 
    262 DEFINE_GUID(IID_IAudioStreamSample, 0x345fee00, 0xaba5, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45);
    263 #if defined(__cplusplus) && !defined(CINTERFACE)
    264 MIDL_INTERFACE("345fee00-aba5-11d0-8212-00c04fc32c45")
    265 IAudioStreamSample : public IStreamSample
    266 {
    267     virtual HRESULT STDMETHODCALLTYPE GetAudioData(
    268         IAudioData **ppAudio) = 0;
    269 
    270 };
    271 #ifdef __CRT_UUID_DECL
    272 __CRT_UUID_DECL(IAudioStreamSample, 0x345fee00, 0xaba5, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45)
    273 #endif
    274 #else
    275 typedef struct IAudioStreamSampleVtbl {
    276     BEGIN_INTERFACE
    277 
    278     /*** IUnknown methods ***/
    279     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    280         IAudioStreamSample *This,
    281         REFIID riid,
    282         void **ppvObject);
    283 
    284     ULONG (STDMETHODCALLTYPE *AddRef)(
    285         IAudioStreamSample *This);
    286 
    287     ULONG (STDMETHODCALLTYPE *Release)(
    288         IAudioStreamSample *This);
    289 
    290     /*** IStreamSample methods ***/
    291     HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
    292         IAudioStreamSample *This,
    293         IMediaStream **ppMediaStream);
    294 
    295     HRESULT (STDMETHODCALLTYPE *GetSampleTimes)(
    296         IAudioStreamSample *This,
    297         STREAM_TIME *pStartTime,
    298         STREAM_TIME *pEndTime,
    299         STREAM_TIME *pCurrentTime);
    300 
    301     HRESULT (STDMETHODCALLTYPE *SetSampleTimes)(
    302         IAudioStreamSample *This,
    303         const STREAM_TIME *pStartTime,
    304         const STREAM_TIME *pEndTime);
    305 
    306     HRESULT (STDMETHODCALLTYPE *Update)(
    307         IAudioStreamSample *This,
    308         DWORD dwFlags,
    309         HANDLE hEvent,
    310         PAPCFUNC pfnAPC,
    311         DWORD dwAPCData);
    312 
    313     HRESULT (STDMETHODCALLTYPE *CompletionStatus)(
    314         IAudioStreamSample *This,
    315         DWORD dwFlags,
    316         DWORD dwMilliseconds);
    317 
    318     /*** IAudioStreamSample methods ***/
    319     HRESULT (STDMETHODCALLTYPE *GetAudioData)(
    320         IAudioStreamSample *This,
    321         IAudioData **ppAudio);
    322 
    323     END_INTERFACE
    324 } IAudioStreamSampleVtbl;
    325 
    326 interface IAudioStreamSample {
    327     CONST_VTBL IAudioStreamSampleVtbl* lpVtbl;
    328 };
    329 
    330 #ifdef COBJMACROS
    331 #ifndef WIDL_C_INLINE_WRAPPERS
    332 /*** IUnknown methods ***/
    333 #define IAudioStreamSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    334 #define IAudioStreamSample_AddRef(This) (This)->lpVtbl->AddRef(This)
    335 #define IAudioStreamSample_Release(This) (This)->lpVtbl->Release(This)
    336 /*** IStreamSample methods ***/
    337 #define IAudioStreamSample_GetMediaStream(This,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,ppMediaStream)
    338 #define IAudioStreamSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) (This)->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)
    339 #define IAudioStreamSample_SetSampleTimes(This,pStartTime,pEndTime) (This)->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime)
    340 #define IAudioStreamSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) (This)->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)
    341 #define IAudioStreamSample_CompletionStatus(This,dwFlags,dwMilliseconds) (This)->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds)
    342 /*** IAudioStreamSample methods ***/
    343 #define IAudioStreamSample_GetAudioData(This,ppAudio) (This)->lpVtbl->GetAudioData(This,ppAudio)
    344 #else
    345 /*** IUnknown methods ***/
    346 static inline HRESULT IAudioStreamSample_QueryInterface(IAudioStreamSample* This,REFIID riid,void **ppvObject) {
    347     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    348 }
    349 static inline ULONG IAudioStreamSample_AddRef(IAudioStreamSample* This) {
    350     return This->lpVtbl->AddRef(This);
    351 }
    352 static inline ULONG IAudioStreamSample_Release(IAudioStreamSample* This) {
    353     return This->lpVtbl->Release(This);
    354 }
    355 /*** IStreamSample methods ***/
    356 static inline HRESULT IAudioStreamSample_GetMediaStream(IAudioStreamSample* This,IMediaStream **ppMediaStream) {
    357     return This->lpVtbl->GetMediaStream(This,ppMediaStream);
    358 }
    359 static inline HRESULT IAudioStreamSample_GetSampleTimes(IAudioStreamSample* This,STREAM_TIME *pStartTime,STREAM_TIME *pEndTime,STREAM_TIME *pCurrentTime) {
    360     return This->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime);
    361 }
    362 static inline HRESULT IAudioStreamSample_SetSampleTimes(IAudioStreamSample* This,const STREAM_TIME *pStartTime,const STREAM_TIME *pEndTime) {
    363     return This->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime);
    364 }
    365 static inline HRESULT IAudioStreamSample_Update(IAudioStreamSample* This,DWORD dwFlags,HANDLE hEvent,PAPCFUNC pfnAPC,DWORD dwAPCData) {
    366     return This->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData);
    367 }
    368 static inline HRESULT IAudioStreamSample_CompletionStatus(IAudioStreamSample* This,DWORD dwFlags,DWORD dwMilliseconds) {
    369     return This->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds);
    370 }
    371 /*** IAudioStreamSample methods ***/
    372 static inline HRESULT IAudioStreamSample_GetAudioData(IAudioStreamSample* This,IAudioData **ppAudio) {
    373     return This->lpVtbl->GetAudioData(This,ppAudio);
    374 }
    375 #endif
    376 #endif
    377 
    378 #endif
    379 
    380 
    381 #endif  /* __IAudioStreamSample_INTERFACE_DEFINED__ */
    382 
    383 /*****************************************************************************
    384  * IMemoryData interface
    385  */
    386 #ifndef __IMemoryData_INTERFACE_DEFINED__
    387 #define __IMemoryData_INTERFACE_DEFINED__
    388 
    389 DEFINE_GUID(IID_IMemoryData, 0x327fc560, 0xaf60, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45);
    390 #if defined(__cplusplus) && !defined(CINTERFACE)
    391 MIDL_INTERFACE("327fc560-af60-11d0-8212-00c04fc32c45")
    392 IMemoryData : public IUnknown
    393 {
    394     virtual HRESULT STDMETHODCALLTYPE SetBuffer(
    395         DWORD cbSize,
    396         BYTE *pbData,
    397         DWORD dwFlags) = 0;
    398 
    399     virtual HRESULT STDMETHODCALLTYPE GetInfo(
    400         DWORD *pdwLength,
    401         BYTE **ppbData,
    402         DWORD *pcbActualData) = 0;
    403 
    404     virtual HRESULT STDMETHODCALLTYPE SetActual(
    405         DWORD cbDataValid) = 0;
    406 
    407 };
    408 #ifdef __CRT_UUID_DECL
    409 __CRT_UUID_DECL(IMemoryData, 0x327fc560, 0xaf60, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45)
    410 #endif
    411 #else
    412 typedef struct IMemoryDataVtbl {
    413     BEGIN_INTERFACE
    414 
    415     /*** IUnknown methods ***/
    416     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    417         IMemoryData *This,
    418         REFIID riid,
    419         void **ppvObject);
    420 
    421     ULONG (STDMETHODCALLTYPE *AddRef)(
    422         IMemoryData *This);
    423 
    424     ULONG (STDMETHODCALLTYPE *Release)(
    425         IMemoryData *This);
    426 
    427     /*** IMemoryData methods ***/
    428     HRESULT (STDMETHODCALLTYPE *SetBuffer)(
    429         IMemoryData *This,
    430         DWORD cbSize,
    431         BYTE *pbData,
    432         DWORD dwFlags);
    433 
    434     HRESULT (STDMETHODCALLTYPE *GetInfo)(
    435         IMemoryData *This,
    436         DWORD *pdwLength,
    437         BYTE **ppbData,
    438         DWORD *pcbActualData);
    439 
    440     HRESULT (STDMETHODCALLTYPE *SetActual)(
    441         IMemoryData *This,
    442         DWORD cbDataValid);
    443 
    444     END_INTERFACE
    445 } IMemoryDataVtbl;
    446 
    447 interface IMemoryData {
    448     CONST_VTBL IMemoryDataVtbl* lpVtbl;
    449 };
    450 
    451 #ifdef COBJMACROS
    452 #ifndef WIDL_C_INLINE_WRAPPERS
    453 /*** IUnknown methods ***/
    454 #define IMemoryData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    455 #define IMemoryData_AddRef(This) (This)->lpVtbl->AddRef(This)
    456 #define IMemoryData_Release(This) (This)->lpVtbl->Release(This)
    457 /*** IMemoryData methods ***/
    458 #define IMemoryData_SetBuffer(This,cbSize,pbData,dwFlags) (This)->lpVtbl->SetBuffer(This,cbSize,pbData,dwFlags)
    459 #define IMemoryData_GetInfo(This,pdwLength,ppbData,pcbActualData) (This)->lpVtbl->GetInfo(This,pdwLength,ppbData,pcbActualData)
    460 #define IMemoryData_SetActual(This,cbDataValid) (This)->lpVtbl->SetActual(This,cbDataValid)
    461 #else
    462 /*** IUnknown methods ***/
    463 static inline HRESULT IMemoryData_QueryInterface(IMemoryData* This,REFIID riid,void **ppvObject) {
    464     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    465 }
    466 static inline ULONG IMemoryData_AddRef(IMemoryData* This) {
    467     return This->lpVtbl->AddRef(This);
    468 }
    469 static inline ULONG IMemoryData_Release(IMemoryData* This) {
    470     return This->lpVtbl->Release(This);
    471 }
    472 /*** IMemoryData methods ***/
    473 static inline HRESULT IMemoryData_SetBuffer(IMemoryData* This,DWORD cbSize,BYTE *pbData,DWORD dwFlags) {
    474     return This->lpVtbl->SetBuffer(This,cbSize,pbData,dwFlags);
    475 }
    476 static inline HRESULT IMemoryData_GetInfo(IMemoryData* This,DWORD *pdwLength,BYTE **ppbData,DWORD *pcbActualData) {
    477     return This->lpVtbl->GetInfo(This,pdwLength,ppbData,pcbActualData);
    478 }
    479 static inline HRESULT IMemoryData_SetActual(IMemoryData* This,DWORD cbDataValid) {
    480     return This->lpVtbl->SetActual(This,cbDataValid);
    481 }
    482 #endif
    483 #endif
    484 
    485 #endif
    486 
    487 
    488 #endif  /* __IMemoryData_INTERFACE_DEFINED__ */
    489 
    490 /*****************************************************************************
    491  * IAudioData interface
    492  */
    493 #ifndef __IAudioData_INTERFACE_DEFINED__
    494 #define __IAudioData_INTERFACE_DEFINED__
    495 
    496 DEFINE_GUID(IID_IAudioData, 0x54c719c0, 0xaf60, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45);
    497 #if defined(__cplusplus) && !defined(CINTERFACE)
    498 MIDL_INTERFACE("54c719c0-af60-11d0-8212-00c04fc32c45")
    499 IAudioData : public IMemoryData
    500 {
    501     virtual HRESULT STDMETHODCALLTYPE GetFormat(
    502         WAVEFORMATEX *pWaveFormatCurrent) = 0;
    503 
    504     virtual HRESULT STDMETHODCALLTYPE SetFormat(
    505         const WAVEFORMATEX *lpWaveFormat) = 0;
    506 
    507 };
    508 #ifdef __CRT_UUID_DECL
    509 __CRT_UUID_DECL(IAudioData, 0x54c719c0, 0xaf60, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45)
    510 #endif
    511 #else
    512 typedef struct IAudioDataVtbl {
    513     BEGIN_INTERFACE
    514 
    515     /*** IUnknown methods ***/
    516     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    517         IAudioData *This,
    518         REFIID riid,
    519         void **ppvObject);
    520 
    521     ULONG (STDMETHODCALLTYPE *AddRef)(
    522         IAudioData *This);
    523 
    524     ULONG (STDMETHODCALLTYPE *Release)(
    525         IAudioData *This);
    526 
    527     /*** IMemoryData methods ***/
    528     HRESULT (STDMETHODCALLTYPE *SetBuffer)(
    529         IAudioData *This,
    530         DWORD cbSize,
    531         BYTE *pbData,
    532         DWORD dwFlags);
    533 
    534     HRESULT (STDMETHODCALLTYPE *GetInfo)(
    535         IAudioData *This,
    536         DWORD *pdwLength,
    537         BYTE **ppbData,
    538         DWORD *pcbActualData);
    539 
    540     HRESULT (STDMETHODCALLTYPE *SetActual)(
    541         IAudioData *This,
    542         DWORD cbDataValid);
    543 
    544     /*** IAudioData methods ***/
    545     HRESULT (STDMETHODCALLTYPE *GetFormat)(
    546         IAudioData *This,
    547         WAVEFORMATEX *pWaveFormatCurrent);
    548 
    549     HRESULT (STDMETHODCALLTYPE *SetFormat)(
    550         IAudioData *This,
    551         const WAVEFORMATEX *lpWaveFormat);
    552 
    553     END_INTERFACE
    554 } IAudioDataVtbl;
    555 
    556 interface IAudioData {
    557     CONST_VTBL IAudioDataVtbl* lpVtbl;
    558 };
    559 
    560 #ifdef COBJMACROS
    561 #ifndef WIDL_C_INLINE_WRAPPERS
    562 /*** IUnknown methods ***/
    563 #define IAudioData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    564 #define IAudioData_AddRef(This) (This)->lpVtbl->AddRef(This)
    565 #define IAudioData_Release(This) (This)->lpVtbl->Release(This)
    566 /*** IMemoryData methods ***/
    567 #define IAudioData_SetBuffer(This,cbSize,pbData,dwFlags) (This)->lpVtbl->SetBuffer(This,cbSize,pbData,dwFlags)
    568 #define IAudioData_GetInfo(This,pdwLength,ppbData,pcbActualData) (This)->lpVtbl->GetInfo(This,pdwLength,ppbData,pcbActualData)
    569 #define IAudioData_SetActual(This,cbDataValid) (This)->lpVtbl->SetActual(This,cbDataValid)
    570 /*** IAudioData methods ***/
    571 #define IAudioData_GetFormat(This,pWaveFormatCurrent) (This)->lpVtbl->GetFormat(This,pWaveFormatCurrent)
    572 #define IAudioData_SetFormat(This,lpWaveFormat) (This)->lpVtbl->SetFormat(This,lpWaveFormat)
    573 #else
    574 /*** IUnknown methods ***/
    575 static inline HRESULT IAudioData_QueryInterface(IAudioData* This,REFIID riid,void **ppvObject) {
    576     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    577 }
    578 static inline ULONG IAudioData_AddRef(IAudioData* This) {
    579     return This->lpVtbl->AddRef(This);
    580 }
    581 static inline ULONG IAudioData_Release(IAudioData* This) {
    582     return This->lpVtbl->Release(This);
    583 }
    584 /*** IMemoryData methods ***/
    585 static inline HRESULT IAudioData_SetBuffer(IAudioData* This,DWORD cbSize,BYTE *pbData,DWORD dwFlags) {
    586     return This->lpVtbl->SetBuffer(This,cbSize,pbData,dwFlags);
    587 }
    588 static inline HRESULT IAudioData_GetInfo(IAudioData* This,DWORD *pdwLength,BYTE **ppbData,DWORD *pcbActualData) {
    589     return This->lpVtbl->GetInfo(This,pdwLength,ppbData,pcbActualData);
    590 }
    591 static inline HRESULT IAudioData_SetActual(IAudioData* This,DWORD cbDataValid) {
    592     return This->lpVtbl->SetActual(This,cbDataValid);
    593 }
    594 /*** IAudioData methods ***/
    595 static inline HRESULT IAudioData_GetFormat(IAudioData* This,WAVEFORMATEX *pWaveFormatCurrent) {
    596     return This->lpVtbl->GetFormat(This,pWaveFormatCurrent);
    597 }
    598 static inline HRESULT IAudioData_SetFormat(IAudioData* This,const WAVEFORMATEX *lpWaveFormat) {
    599     return This->lpVtbl->SetFormat(This,lpWaveFormat);
    600 }
    601 #endif
    602 #endif
    603 
    604 #endif
    605 
    606 
    607 #endif  /* __IAudioData_INTERFACE_DEFINED__ */
    608 
    609 /* Begin additional prototypes for all interfaces */
    610 
    611 
    612 /* End additional prototypes */
    613 
    614 #ifdef __cplusplus
    615 }
    616 #endif
    617 
    618 #endif /* __austream_h__ */