1 /*** Autogenerated by WIDL 6.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 FORCEINLINE HRESULT IAudioMediaStream_QueryInterface(IAudioMediaStream* This,REFIID riid,void **ppvObject) { 211 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 212 } 213 static FORCEINLINE ULONG IAudioMediaStream_AddRef(IAudioMediaStream* This) { 214 return This->lpVtbl->AddRef(This); 215 } 216 static FORCEINLINE ULONG IAudioMediaStream_Release(IAudioMediaStream* This) { 217 return This->lpVtbl->Release(This); 218 } 219 /*** IMediaStream methods ***/ 220 static FORCEINLINE HRESULT IAudioMediaStream_GetMultiMediaStream(IAudioMediaStream* This,IMultiMediaStream **ppMultiMediaStream) { 221 return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream); 222 } 223 static FORCEINLINE HRESULT IAudioMediaStream_GetInformation(IAudioMediaStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) { 224 return This->lpVtbl->GetInformation(This,pPurposeId,pType); 225 } 226 static FORCEINLINE HRESULT IAudioMediaStream_SetSameFormat(IAudioMediaStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) { 227 return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags); 228 } 229 static FORCEINLINE HRESULT IAudioMediaStream_AllocateSample(IAudioMediaStream* This,DWORD dwFlags,IStreamSample **ppSample) { 230 return This->lpVtbl->AllocateSample(This,dwFlags,ppSample); 231 } 232 static FORCEINLINE HRESULT IAudioMediaStream_CreateSharedSample(IAudioMediaStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) { 233 return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample); 234 } 235 static FORCEINLINE HRESULT IAudioMediaStream_SendEndOfStream(IAudioMediaStream* This,DWORD dwFlags) { 236 return This->lpVtbl->SendEndOfStream(This,dwFlags); 237 } 238 /*** IAudioMediaStream methods ***/ 239 static FORCEINLINE HRESULT IAudioMediaStream_GetFormat(IAudioMediaStream* This,WAVEFORMATEX *pWaveFormatCurrent) { 240 return This->lpVtbl->GetFormat(This,pWaveFormatCurrent); 241 } 242 static FORCEINLINE HRESULT IAudioMediaStream_SetFormat(IAudioMediaStream* This,const WAVEFORMATEX *lpWaveFormat) { 243 return This->lpVtbl->SetFormat(This,lpWaveFormat); 244 } 245 static FORCEINLINE 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 FORCEINLINE HRESULT IAudioStreamSample_QueryInterface(IAudioStreamSample* This,REFIID riid,void **ppvObject) { 347 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 348 } 349 static FORCEINLINE ULONG IAudioStreamSample_AddRef(IAudioStreamSample* This) { 350 return This->lpVtbl->AddRef(This); 351 } 352 static FORCEINLINE ULONG IAudioStreamSample_Release(IAudioStreamSample* This) { 353 return This->lpVtbl->Release(This); 354 } 355 /*** IStreamSample methods ***/ 356 static FORCEINLINE HRESULT IAudioStreamSample_GetMediaStream(IAudioStreamSample* This,IMediaStream **ppMediaStream) { 357 return This->lpVtbl->GetMediaStream(This,ppMediaStream); 358 } 359 static FORCEINLINE 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 FORCEINLINE HRESULT IAudioStreamSample_SetSampleTimes(IAudioStreamSample* This,const STREAM_TIME *pStartTime,const STREAM_TIME *pEndTime) { 363 return This->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime); 364 } 365 static FORCEINLINE 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 FORCEINLINE HRESULT IAudioStreamSample_CompletionStatus(IAudioStreamSample* This,DWORD dwFlags,DWORD dwMilliseconds) { 369 return This->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds); 370 } 371 /*** IAudioStreamSample methods ***/ 372 static FORCEINLINE 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 FORCEINLINE HRESULT IMemoryData_QueryInterface(IMemoryData* This,REFIID riid,void **ppvObject) { 464 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 465 } 466 static FORCEINLINE ULONG IMemoryData_AddRef(IMemoryData* This) { 467 return This->lpVtbl->AddRef(This); 468 } 469 static FORCEINLINE ULONG IMemoryData_Release(IMemoryData* This) { 470 return This->lpVtbl->Release(This); 471 } 472 /*** IMemoryData methods ***/ 473 static FORCEINLINE HRESULT IMemoryData_SetBuffer(IMemoryData* This,DWORD cbSize,BYTE *pbData,DWORD dwFlags) { 474 return This->lpVtbl->SetBuffer(This,cbSize,pbData,dwFlags); 475 } 476 static FORCEINLINE HRESULT IMemoryData_GetInfo(IMemoryData* This,DWORD *pdwLength,BYTE **ppbData,DWORD *pcbActualData) { 477 return This->lpVtbl->GetInfo(This,pdwLength,ppbData,pcbActualData); 478 } 479 static FORCEINLINE 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 FORCEINLINE HRESULT IAudioData_QueryInterface(IAudioData* This,REFIID riid,void **ppvObject) { 576 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 577 } 578 static FORCEINLINE ULONG IAudioData_AddRef(IAudioData* This) { 579 return This->lpVtbl->AddRef(This); 580 } 581 static FORCEINLINE ULONG IAudioData_Release(IAudioData* This) { 582 return This->lpVtbl->Release(This); 583 } 584 /*** IMemoryData methods ***/ 585 static FORCEINLINE HRESULT IAudioData_SetBuffer(IAudioData* This,DWORD cbSize,BYTE *pbData,DWORD dwFlags) { 586 return This->lpVtbl->SetBuffer(This,cbSize,pbData,dwFlags); 587 } 588 static FORCEINLINE HRESULT IAudioData_GetInfo(IAudioData* This,DWORD *pdwLength,BYTE **ppbData,DWORD *pcbActualData) { 589 return This->lpVtbl->GetInfo(This,pdwLength,ppbData,pcbActualData); 590 } 591 static FORCEINLINE HRESULT IAudioData_SetActual(IAudioData* This,DWORD cbDataValid) { 592 return This->lpVtbl->SetActual(This,cbDataValid); 593 } 594 /*** IAudioData methods ***/ 595 static FORCEINLINE HRESULT IAudioData_GetFormat(IAudioData* This,WAVEFORMATEX *pWaveFormatCurrent) { 596 return This->lpVtbl->GetFormat(This,pWaveFormatCurrent); 597 } 598 static FORCEINLINE 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__ */ 619