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