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