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