Release 20040914.
[wine/multimedia.git] / include / austream.h
blobbaf6a9beacbdf621f94c0522b983978acc185b4f
1 /*** Autogenerated by WIDL 0.1 from austream.idl - Do not edit ***/
2 #include <rpc.h>
3 #include <rpcndr.h>
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;
15 #endif
16 #ifndef __IAudioMediaStream_FWD_DEFINED__
17 #define __IAudioMediaStream_FWD_DEFINED__
18 typedef struct IAudioMediaStream IAudioMediaStream;
19 #endif
21 #ifndef __IAudioStreamSample_FWD_DEFINED__
22 #define __IAudioStreamSample_FWD_DEFINED__
23 typedef struct IAudioStreamSample IAudioStreamSample;
24 #endif
26 #ifndef __IMemoryData_FWD_DEFINED__
27 #define __IMemoryData_FWD_DEFINED__
28 typedef struct IMemoryData IMemoryData;
29 #endif
31 #ifndef __IAudioData_FWD_DEFINED__
32 #define __IAudioData_FWD_DEFINED__
33 typedef struct IAudioData IAudioData;
34 #endif
36 /*****************************************************************************
37 * IAudioMediaStream interface
39 #ifndef __IAudioMediaStream_INTERFACE_DEFINED__
40 #define __IAudioMediaStream_INTERFACE_DEFINED__
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
46 virtual HRESULT STDMETHODCALLTYPE GetFormat(
47 WAVEFORMATEX* pWaveFormatCurrent) = 0;
49 virtual HRESULT STDMETHODCALLTYPE SetFormat(
50 const WAVEFORMATEX* lpWaveFormat) = 0;
52 virtual HRESULT STDMETHODCALLTYPE CreateSample(
53 IAudioData* pAudioData,
54 DWORD dwFlags,
55 IAudioStreamSample** ppSample) = 0;
58 #else
59 typedef struct IAudioMediaStreamVtbl IAudioMediaStreamVtbl;
60 struct IAudioMediaStream {
61 const IAudioMediaStreamVtbl* lpVtbl;
63 struct IAudioMediaStreamVtbl {
64 BEGIN_INTERFACE
66 /*** IUnknown methods ***/
67 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
68 IAudioMediaStream* This,
69 REFIID riid,
70 void** ppvObject);
72 ULONG (STDMETHODCALLTYPE *AddRef)(
73 IAudioMediaStream* This);
75 ULONG (STDMETHODCALLTYPE *Release)(
76 IAudioMediaStream* This);
78 /*** IMediaStream methods ***/
79 HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)(
80 IAudioMediaStream* This,
81 IMultiMediaStream** ppMultiMediaStream);
83 HRESULT (STDMETHODCALLTYPE *GetInformation)(
84 IAudioMediaStream* This,
85 MSPID* pPurposeId,
86 STREAM_TYPE* pType);
88 HRESULT (STDMETHODCALLTYPE *SetSameFormat)(
89 IAudioMediaStream* This,
90 IMediaStream* pStreamThatHasDesiredFormat,
91 DWORD dwFlags);
93 HRESULT (STDMETHODCALLTYPE *AllocateSample)(
94 IAudioMediaStream* This,
95 DWORD dwFlags,
96 IStreamSample** ppSample);
98 HRESULT (STDMETHODCALLTYPE *CreateSharedSample)(
99 IAudioMediaStream* This,
100 IStreamSample* pExistingSample,
101 DWORD dwFlags,
102 IStreamSample** ppNewSample);
104 HRESULT (STDMETHODCALLTYPE *SendEndOfStream)(
105 IAudioMediaStream* This,
106 DWORD dwFlags);
108 /*** IAudioMediaStream methods ***/
109 HRESULT (STDMETHODCALLTYPE *GetFormat)(
110 IAudioMediaStream* This,
111 WAVEFORMATEX* pWaveFormatCurrent);
113 HRESULT (STDMETHODCALLTYPE *SetFormat)(
114 IAudioMediaStream* This,
115 const WAVEFORMATEX* lpWaveFormat);
117 HRESULT (STDMETHODCALLTYPE *CreateSample)(
118 IAudioMediaStream* This,
119 IAudioData* pAudioData,
120 DWORD dwFlags,
121 IAudioStreamSample** ppSample);
123 END_INTERFACE
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
144 #endif
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;
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);
190 #endif /* __IAudioMediaStream_INTERFACE_DEFINED__ */
192 /*****************************************************************************
193 * IAudioStreamSample interface
195 #ifndef __IAudioStreamSample_INTERFACE_DEFINED__
196 #define __IAudioStreamSample_INTERFACE_DEFINED__
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
202 virtual HRESULT STDMETHODCALLTYPE GetAudioData(
203 IAudioData** ppAudio) = 0;
206 #else
207 typedef struct IAudioStreamSampleVtbl IAudioStreamSampleVtbl;
208 struct IAudioStreamSample {
209 const IAudioStreamSampleVtbl* lpVtbl;
211 struct IAudioStreamSampleVtbl {
212 BEGIN_INTERFACE
214 /*** IUnknown methods ***/
215 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
216 IAudioStreamSample* This,
217 REFIID riid,
218 void** ppvObject);
220 ULONG (STDMETHODCALLTYPE *AddRef)(
221 IAudioStreamSample* This);
223 ULONG (STDMETHODCALLTYPE *Release)(
224 IAudioStreamSample* This);
226 /*** IStreamSample methods ***/
227 HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
228 IAudioStreamSample* This,
229 IMediaStream** ppMediaStream);
231 HRESULT (STDMETHODCALLTYPE *GetSampleTimes)(
232 IAudioStreamSample* This,
233 STREAM_TIME* pStartTime,
234 STREAM_TIME* pEndTime,
235 STREAM_TIME* pCurrentTime);
237 HRESULT (STDMETHODCALLTYPE *SetSampleTimes)(
238 IAudioStreamSample* This,
239 const STREAM_TIME* pStartTime,
240 const STREAM_TIME* pEndTime);
242 HRESULT (STDMETHODCALLTYPE *Update)(
243 IAudioStreamSample* This,
244 DWORD dwFlags,
245 HANDLE hEvent,
246 PAPCFUNC pfnAPC,
247 DWORD dwAPCData);
249 HRESULT (STDMETHODCALLTYPE *CompletionStatus)(
250 IAudioStreamSample* This,
251 DWORD dwFlags,
252 DWORD dwMilliseconds);
254 /*** IAudioStreamSample methods ***/
255 HRESULT (STDMETHODCALLTYPE *GetAudioData)(
256 IAudioStreamSample* This,
257 IAudioData** ppAudio);
259 END_INTERFACE
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
277 #endif
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;
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);
302 #endif /* __IAudioStreamSample_INTERFACE_DEFINED__ */
304 /*****************************************************************************
305 * IMemoryData interface
307 #ifndef __IMemoryData_INTERFACE_DEFINED__
308 #define __IMemoryData_INTERFACE_DEFINED__
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
314 virtual HRESULT STDMETHODCALLTYPE SetBuffer(
315 DWORD cbSize,
316 BYTE* pbData,
317 DWORD dwFlags) = 0;
319 virtual HRESULT STDMETHODCALLTYPE GetInfo(
320 DWORD* pdwLength,
321 BYTE** ppbData,
322 DWORD* pcbActualData) = 0;
324 virtual HRESULT STDMETHODCALLTYPE SetActual(
325 DWORD cbDataValid) = 0;
328 #else
329 typedef struct IMemoryDataVtbl IMemoryDataVtbl;
330 struct IMemoryData {
331 const IMemoryDataVtbl* lpVtbl;
333 struct IMemoryDataVtbl {
334 BEGIN_INTERFACE
336 /*** IUnknown methods ***/
337 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
338 IMemoryData* This,
339 REFIID riid,
340 void** ppvObject);
342 ULONG (STDMETHODCALLTYPE *AddRef)(
343 IMemoryData* This);
345 ULONG (STDMETHODCALLTYPE *Release)(
346 IMemoryData* This);
348 /*** IMemoryData methods ***/
349 HRESULT (STDMETHODCALLTYPE *SetBuffer)(
350 IMemoryData* This,
351 DWORD cbSize,
352 BYTE* pbData,
353 DWORD dwFlags);
355 HRESULT (STDMETHODCALLTYPE *GetInfo)(
356 IMemoryData* This,
357 DWORD* pdwLength,
358 BYTE** ppbData,
359 DWORD* pcbActualData);
361 HRESULT (STDMETHODCALLTYPE *SetActual)(
362 IMemoryData* This,
363 DWORD cbDataValid);
365 END_INTERFACE
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
379 #endif
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;
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);
420 #endif /* __IMemoryData_INTERFACE_DEFINED__ */
422 /*****************************************************************************
423 * IAudioData interface
425 #ifndef __IAudioData_INTERFACE_DEFINED__
426 #define __IAudioData_INTERFACE_DEFINED__
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
432 virtual HRESULT STDMETHODCALLTYPE GetFormat(
433 WAVEFORMATEX* pWaveFormatCurrent) = 0;
435 virtual HRESULT STDMETHODCALLTYPE SetFormat(
436 const WAVEFORMATEX* lpWaveFormat) = 0;
439 #else
440 typedef struct IAudioDataVtbl IAudioDataVtbl;
441 struct IAudioData {
442 const IAudioDataVtbl* lpVtbl;
444 struct IAudioDataVtbl {
445 BEGIN_INTERFACE
447 /*** IUnknown methods ***/
448 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
449 IAudioData* This,
450 REFIID riid,
451 void** ppvObject);
453 ULONG (STDMETHODCALLTYPE *AddRef)(
454 IAudioData* This);
456 ULONG (STDMETHODCALLTYPE *Release)(
457 IAudioData* This);
459 /*** IMemoryData methods ***/
460 HRESULT (STDMETHODCALLTYPE *SetBuffer)(
461 IAudioData* This,
462 DWORD cbSize,
463 BYTE* pbData,
464 DWORD dwFlags);
466 HRESULT (STDMETHODCALLTYPE *GetInfo)(
467 IAudioData* This,
468 DWORD* pdwLength,
469 BYTE** ppbData,
470 DWORD* pcbActualData);
472 HRESULT (STDMETHODCALLTYPE *SetActual)(
473 IAudioData* This,
474 DWORD cbDataValid);
476 /*** IAudioData methods ***/
477 HRESULT (STDMETHODCALLTYPE *GetFormat)(
478 IAudioData* This,
479 WAVEFORMATEX* pWaveFormatCurrent);
481 HRESULT (STDMETHODCALLTYPE *SetFormat)(
482 IAudioData* This,
483 const WAVEFORMATEX* lpWaveFormat);
485 END_INTERFACE
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
502 #endif
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;
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);
534 #endif /* __IAudioData_INTERFACE_DEFINED__ */
536 #ifdef __cplusplus
538 #endif
539 #endif /* __WIDL_AUSTREAM_H */