source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/austream.h@ 1194

Last change on this file since 1194 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 21.3 KB
Line 
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__
23typedef interface IAudioMediaStream IAudioMediaStream;
24#ifdef __cplusplus
25interface IAudioMediaStream;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IAudioStreamSample_FWD_DEFINED__
30#define __IAudioStreamSample_FWD_DEFINED__
31typedef interface IAudioStreamSample IAudioStreamSample;
32#ifdef __cplusplus
33interface IAudioStreamSample;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IMemoryData_FWD_DEFINED__
38#define __IMemoryData_FWD_DEFINED__
39typedef interface IMemoryData IMemoryData;
40#ifdef __cplusplus
41interface IMemoryData;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IAudioData_FWD_DEFINED__
46#define __IAudioData_FWD_DEFINED__
47typedef interface IAudioData IAudioData;
48#ifdef __cplusplus
49interface 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
59extern "C" {
60#endif
61
62#if 0
63typedef struct tWAVEFORMATEX WAVEFORMATEX;
64#endif
65#ifndef __IAudioMediaStream_FWD_DEFINED__
66#define __IAudioMediaStream_FWD_DEFINED__
67typedef interface IAudioMediaStream IAudioMediaStream;
68#ifdef __cplusplus
69interface IAudioMediaStream;
70#endif /* __cplusplus */
71#endif
72
73#ifndef __IAudioStreamSample_FWD_DEFINED__
74#define __IAudioStreamSample_FWD_DEFINED__
75typedef interface IAudioStreamSample IAudioStreamSample;
76#ifdef __cplusplus
77interface IAudioStreamSample;
78#endif /* __cplusplus */
79#endif
80
81#ifndef __IMemoryData_FWD_DEFINED__
82#define __IMemoryData_FWD_DEFINED__
83typedef interface IMemoryData IMemoryData;
84#ifdef __cplusplus
85interface IMemoryData;
86#endif /* __cplusplus */
87#endif
88
89#ifndef __IAudioData_FWD_DEFINED__
90#define __IAudioData_FWD_DEFINED__
91typedef interface IAudioData IAudioData;
92#ifdef __cplusplus
93interface IAudioData;
94#endif /* __cplusplus */
95#endif
96
97/*****************************************************************************
98 * IAudioMediaStream interface
99 */
100#ifndef __IAudioMediaStream_INTERFACE_DEFINED__
101#define __IAudioMediaStream_INTERFACE_DEFINED__
102
103DEFINE_GUID(IID_IAudioMediaStream, 0xf7537560, 0xa3be, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45);
104#if defined(__cplusplus) && !defined(CINTERFACE)
105MIDL_INTERFACE("f7537560-a3be-11d0-8212-00c04fc32c45")
106IAudioMediaStream : 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
124typedef 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
187interface 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 ***/
210static FORCEINLINE HRESULT IAudioMediaStream_QueryInterface(IAudioMediaStream* This,REFIID riid,void **ppvObject) {
211 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
212}
213static FORCEINLINE ULONG IAudioMediaStream_AddRef(IAudioMediaStream* This) {
214 return This->lpVtbl->AddRef(This);
215}
216static FORCEINLINE ULONG IAudioMediaStream_Release(IAudioMediaStream* This) {
217 return This->lpVtbl->Release(This);
218}
219/*** IMediaStream methods ***/
220static FORCEINLINE HRESULT IAudioMediaStream_GetMultiMediaStream(IAudioMediaStream* This,IMultiMediaStream **ppMultiMediaStream) {
221 return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream);
222}
223static FORCEINLINE HRESULT IAudioMediaStream_GetInformation(IAudioMediaStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) {
224 return This->lpVtbl->GetInformation(This,pPurposeId,pType);
225}
226static FORCEINLINE HRESULT IAudioMediaStream_SetSameFormat(IAudioMediaStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) {
227 return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags);
228}
229static FORCEINLINE HRESULT IAudioMediaStream_AllocateSample(IAudioMediaStream* This,DWORD dwFlags,IStreamSample **ppSample) {
230 return This->lpVtbl->AllocateSample(This,dwFlags,ppSample);
231}
232static FORCEINLINE HRESULT IAudioMediaStream_CreateSharedSample(IAudioMediaStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) {
233 return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample);
234}
235static FORCEINLINE HRESULT IAudioMediaStream_SendEndOfStream(IAudioMediaStream* This,DWORD dwFlags) {
236 return This->lpVtbl->SendEndOfStream(This,dwFlags);
237}
238/*** IAudioMediaStream methods ***/
239static FORCEINLINE HRESULT IAudioMediaStream_GetFormat(IAudioMediaStream* This,WAVEFORMATEX *pWaveFormatCurrent) {
240 return This->lpVtbl->GetFormat(This,pWaveFormatCurrent);
241}
242static FORCEINLINE HRESULT IAudioMediaStream_SetFormat(IAudioMediaStream* This,const WAVEFORMATEX *lpWaveFormat) {
243 return This->lpVtbl->SetFormat(This,lpWaveFormat);
244}
245static 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
262DEFINE_GUID(IID_IAudioStreamSample, 0x345fee00, 0xaba5, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45);
263#if defined(__cplusplus) && !defined(CINTERFACE)
264MIDL_INTERFACE("345fee00-aba5-11d0-8212-00c04fc32c45")
265IAudioStreamSample : 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
275typedef 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
326interface 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 ***/
346static FORCEINLINE HRESULT IAudioStreamSample_QueryInterface(IAudioStreamSample* This,REFIID riid,void **ppvObject) {
347 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
348}
349static FORCEINLINE ULONG IAudioStreamSample_AddRef(IAudioStreamSample* This) {
350 return This->lpVtbl->AddRef(This);
351}
352static FORCEINLINE ULONG IAudioStreamSample_Release(IAudioStreamSample* This) {
353 return This->lpVtbl->Release(This);
354}
355/*** IStreamSample methods ***/
356static FORCEINLINE HRESULT IAudioStreamSample_GetMediaStream(IAudioStreamSample* This,IMediaStream **ppMediaStream) {
357 return This->lpVtbl->GetMediaStream(This,ppMediaStream);
358}
359static 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}
362static FORCEINLINE HRESULT IAudioStreamSample_SetSampleTimes(IAudioStreamSample* This,const STREAM_TIME *pStartTime,const STREAM_TIME *pEndTime) {
363 return This->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime);
364}
365static 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}
368static FORCEINLINE HRESULT IAudioStreamSample_CompletionStatus(IAudioStreamSample* This,DWORD dwFlags,DWORD dwMilliseconds) {
369 return This->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds);
370}
371/*** IAudioStreamSample methods ***/
372static 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
389DEFINE_GUID(IID_IMemoryData, 0x327fc560, 0xaf60, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45);
390#if defined(__cplusplus) && !defined(CINTERFACE)
391MIDL_INTERFACE("327fc560-af60-11d0-8212-00c04fc32c45")
392IMemoryData : 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
412typedef 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
447interface 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 ***/
463static FORCEINLINE HRESULT IMemoryData_QueryInterface(IMemoryData* This,REFIID riid,void **ppvObject) {
464 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
465}
466static FORCEINLINE ULONG IMemoryData_AddRef(IMemoryData* This) {
467 return This->lpVtbl->AddRef(This);
468}
469static FORCEINLINE ULONG IMemoryData_Release(IMemoryData* This) {
470 return This->lpVtbl->Release(This);
471}
472/*** IMemoryData methods ***/
473static FORCEINLINE HRESULT IMemoryData_SetBuffer(IMemoryData* This,DWORD cbSize,BYTE *pbData,DWORD dwFlags) {
474 return This->lpVtbl->SetBuffer(This,cbSize,pbData,dwFlags);
475}
476static FORCEINLINE HRESULT IMemoryData_GetInfo(IMemoryData* This,DWORD *pdwLength,BYTE **ppbData,DWORD *pcbActualData) {
477 return This->lpVtbl->GetInfo(This,pdwLength,ppbData,pcbActualData);
478}
479static 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
496DEFINE_GUID(IID_IAudioData, 0x54c719c0, 0xaf60, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45);
497#if defined(__cplusplus) && !defined(CINTERFACE)
498MIDL_INTERFACE("54c719c0-af60-11d0-8212-00c04fc32c45")
499IAudioData : 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
512typedef 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
556interface 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 ***/
575static FORCEINLINE HRESULT IAudioData_QueryInterface(IAudioData* This,REFIID riid,void **ppvObject) {
576 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
577}
578static FORCEINLINE ULONG IAudioData_AddRef(IAudioData* This) {
579 return This->lpVtbl->AddRef(This);
580}
581static FORCEINLINE ULONG IAudioData_Release(IAudioData* This) {
582 return This->lpVtbl->Release(This);
583}
584/*** IMemoryData methods ***/
585static FORCEINLINE HRESULT IAudioData_SetBuffer(IAudioData* This,DWORD cbSize,BYTE *pbData,DWORD dwFlags) {
586 return This->lpVtbl->SetBuffer(This,cbSize,pbData,dwFlags);
587}
588static FORCEINLINE HRESULT IAudioData_GetInfo(IAudioData* This,DWORD *pdwLength,BYTE **ppbData,DWORD *pcbActualData) {
589 return This->lpVtbl->GetInfo(This,pdwLength,ppbData,pcbActualData);
590}
591static FORCEINLINE HRESULT IAudioData_SetActual(IAudioData* This,DWORD cbDataValid) {
592 return This->lpVtbl->SetActual(This,cbDataValid);
593}
594/*** IAudioData methods ***/
595static FORCEINLINE HRESULT IAudioData_GetFormat(IAudioData* This,WAVEFORMATEX *pWaveFormatCurrent) {
596 return This->lpVtbl->GetFormat(This,pWaveFormatCurrent);
597}
598static 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__ */
Note: See TracBrowser for help on using the repository browser.