1 /*** Autogenerated by WIDL 0.1 from austream.idl - Do not edit ***/
5 #ifndef __WIDL_AUSTREAM_H
6 #define __WIDL_AUSTREAM_H
13 typedef struct tWAVEFORMATEX WAVEFORMATEX;
16 #ifndef __IAudioMediaStream_FWD_DEFINED__
17 #define __IAudioMediaStream_FWD_DEFINED__
18 typedef struct IAudioMediaStream IAudioMediaStream;
21 #ifndef __IAudioStreamSample_FWD_DEFINED__
22 #define __IAudioStreamSample_FWD_DEFINED__
23 typedef struct IAudioStreamSample IAudioStreamSample;
26 #ifndef __IMemoryData_FWD_DEFINED__
27 #define __IMemoryData_FWD_DEFINED__
28 typedef struct IMemoryData IMemoryData;
31 #ifndef __IAudioData_FWD_DEFINED__
32 #define __IAudioData_FWD_DEFINED__
33 typedef struct IAudioData IAudioData;
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,
55 IAudioStreamSample** ppSample) = 0;
59 typedef struct IAudioMediaStreamVtbl IAudioMediaStreamVtbl;
60 struct IAudioMediaStream {
61 const IAudioMediaStreamVtbl* lpVtbl;
63 struct IAudioMediaStreamVtbl {
64 ICOM_MSVTABLE_COMPAT_FIELDS
66 /*** IUnknown methods ***/
67 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
68 IAudioMediaStream* This,
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,
88 HRESULT (STDMETHODCALLTYPE *SetSameFormat)(
89 IAudioMediaStream* This,
90 IMediaStream* pStreamThatHasDesiredFormat,
93 HRESULT (STDMETHODCALLTYPE *AllocateSample)(
94 IAudioMediaStream* This,
96 IStreamSample** ppSample);
98 HRESULT (STDMETHODCALLTYPE *CreateSharedSample)(
99 IAudioMediaStream* This,
100 IStreamSample* pExistingSample,
102 IStreamSample** ppNewSample);
104 HRESULT (STDMETHODCALLTYPE *SendEndOfStream)(
105 IAudioMediaStream* This,
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,
121 IAudioStreamSample** ppSample);
125 /*** IUnknown methods ***/
126 #define IAudioMediaStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
127 #define IAudioMediaStream_AddRef(p) (p)->lpVtbl->AddRef(p)
128 #define IAudioMediaStream_Release(p) (p)->lpVtbl->Release(p)
129 /*** IMediaStream methods ***/
130 #define IAudioMediaStream_GetMultiMediaStream(p,a) (p)->lpVtbl->GetMultiMediaStream(p,a)
131 #define IAudioMediaStream_GetInformation(p,a,b) (p)->lpVtbl->GetInformation(p,a,b)
132 #define IAudioMediaStream_SetSameFormat(p,a,b) (p)->lpVtbl->SetSameFormat(p,a,b)
133 #define IAudioMediaStream_AllocateSample(p,a,b) (p)->lpVtbl->AllocateSample(p,a,b)
134 #define IAudioMediaStream_CreateSharedSample(p,a,b,c) (p)->lpVtbl->CreateSharedSample(p,a,b,c)
135 #define IAudioMediaStream_SendEndOfStream(p,a) (p)->lpVtbl->SendEndOfStream(p,a)
136 /*** IAudioMediaStream methods ***/
137 #define IAudioMediaStream_GetFormat(p,a) (p)->lpVtbl->GetFormat(p,a)
138 #define IAudioMediaStream_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
139 #define IAudioMediaStream_CreateSample(p,a,b,c) (p)->lpVtbl->CreateSample(p,a,b,c)
143 #define IAudioMediaStream_METHODS \
144 ICOM_MSVTABLE_COMPAT_FIELDS \
145 /*** IUnknown methods ***/ \
146 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
147 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
148 STDMETHOD_(ULONG,Release)(THIS) PURE; \
149 /*** IMediaStream methods ***/ \
150 STDMETHOD_(HRESULT,GetMultiMediaStream)(THIS_ IMultiMediaStream** ppMultiMediaStream) PURE; \
151 STDMETHOD_(HRESULT,GetInformation)(THIS_ MSPID* pPurposeId, STREAM_TYPE* pType) PURE; \
152 STDMETHOD_(HRESULT,SetSameFormat)(THIS_ IMediaStream* pStreamThatHasDesiredFormat, DWORD dwFlags) PURE; \
153 STDMETHOD_(HRESULT,AllocateSample)(THIS_ DWORD dwFlags, IStreamSample** ppSample) PURE; \
154 STDMETHOD_(HRESULT,CreateSharedSample)(THIS_ IStreamSample* pExistingSample, DWORD dwFlags, IStreamSample** ppNewSample) PURE; \
155 STDMETHOD_(HRESULT,SendEndOfStream)(THIS_ DWORD dwFlags) PURE; \
156 /*** IAudioMediaStream methods ***/ \
157 STDMETHOD_(HRESULT,GetFormat)(THIS_ WAVEFORMATEX* pWaveFormatCurrent) PURE; \
158 STDMETHOD_(HRESULT,SetFormat)(THIS_ const WAVEFORMATEX* lpWaveFormat) PURE; \
159 STDMETHOD_(HRESULT,CreateSample)(THIS_ IAudioData* pAudioData, DWORD dwFlags, IAudioStreamSample** ppSample) PURE;
161 HRESULT CALLBACK IAudioMediaStream_GetFormat_Proxy(
162 IAudioMediaStream* This,
163 WAVEFORMATEX* pWaveFormatCurrent);
164 void __RPC_STUB IAudioMediaStream_GetFormat_Stub(
165 struct IRpcStubBuffer* This,
166 struct IRpcChannelBuffer* pRpcChannelBuffer,
167 PRPC_MESSAGE pRpcMessage,
168 DWORD* pdwStubPhase);
169 HRESULT CALLBACK IAudioMediaStream_SetFormat_Proxy(
170 IAudioMediaStream* This,
171 const WAVEFORMATEX* lpWaveFormat);
172 void __RPC_STUB IAudioMediaStream_SetFormat_Stub(
173 struct IRpcStubBuffer* This,
174 struct IRpcChannelBuffer* pRpcChannelBuffer,
175 PRPC_MESSAGE pRpcMessage,
176 DWORD* pdwStubPhase);
177 HRESULT CALLBACK IAudioMediaStream_CreateSample_Proxy(
178 IAudioMediaStream* This,
179 IAudioData* pAudioData,
181 IAudioStreamSample** ppSample);
182 void __RPC_STUB IAudioMediaStream_CreateSample_Stub(
183 struct IRpcStubBuffer* This,
184 struct IRpcChannelBuffer* pRpcChannelBuffer,
185 PRPC_MESSAGE pRpcMessage,
186 DWORD* pdwStubPhase);
188 #endif /* __IAudioMediaStream_INTERFACE_DEFINED__ */
190 /*****************************************************************************
191 * IAudioStreamSample interface
193 #ifndef __IAudioStreamSample_INTERFACE_DEFINED__
194 #define __IAudioStreamSample_INTERFACE_DEFINED__
196 DEFINE_GUID(IID_IAudioStreamSample, 0x345fee00, 0xaba5, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45);
197 #if defined(__cplusplus) && !defined(CINTERFACE)
198 struct IAudioStreamSample : public IStreamSample
200 virtual HRESULT STDMETHODCALLTYPE GetAudioData(
201 IAudioData** ppAudio) = 0;
205 typedef struct IAudioStreamSampleVtbl IAudioStreamSampleVtbl;
206 struct IAudioStreamSample {
207 const IAudioStreamSampleVtbl* lpVtbl;
209 struct IAudioStreamSampleVtbl {
210 ICOM_MSVTABLE_COMPAT_FIELDS
212 /*** IUnknown methods ***/
213 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
214 IAudioStreamSample* This,
218 ULONG (STDMETHODCALLTYPE *AddRef)(
219 IAudioStreamSample* This);
221 ULONG (STDMETHODCALLTYPE *Release)(
222 IAudioStreamSample* This);
224 /*** IStreamSample methods ***/
225 HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
226 IAudioStreamSample* This,
227 IMediaStream** ppMediaStream);
229 HRESULT (STDMETHODCALLTYPE *GetSampleTimes)(
230 IAudioStreamSample* This,
231 STREAM_TIME* pStartTime,
232 STREAM_TIME* pEndTime,
233 STREAM_TIME* pCurrentTime);
235 HRESULT (STDMETHODCALLTYPE *SetSampleTimes)(
236 IAudioStreamSample* This,
237 const STREAM_TIME* pStartTime,
238 const STREAM_TIME* pEndTime);
240 HRESULT (STDMETHODCALLTYPE *Update)(
241 IAudioStreamSample* This,
247 HRESULT (STDMETHODCALLTYPE *CompletionStatus)(
248 IAudioStreamSample* This,
250 DWORD dwMilliseconds);
252 /*** IAudioStreamSample methods ***/
253 HRESULT (STDMETHODCALLTYPE *GetAudioData)(
254 IAudioStreamSample* This,
255 IAudioData** ppAudio);
259 /*** IUnknown methods ***/
260 #define IAudioStreamSample_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
261 #define IAudioStreamSample_AddRef(p) (p)->lpVtbl->AddRef(p)
262 #define IAudioStreamSample_Release(p) (p)->lpVtbl->Release(p)
263 /*** IStreamSample methods ***/
264 #define IAudioStreamSample_GetMediaStream(p,a) (p)->lpVtbl->GetMediaStream(p,a)
265 #define IAudioStreamSample_GetSampleTimes(p,a,b,c) (p)->lpVtbl->GetSampleTimes(p,a,b,c)
266 #define IAudioStreamSample_SetSampleTimes(p,a,b) (p)->lpVtbl->SetSampleTimes(p,a,b)
267 #define IAudioStreamSample_Update(p,a,b,c,d) (p)->lpVtbl->Update(p,a,b,c,d)
268 #define IAudioStreamSample_CompletionStatus(p,a,b) (p)->lpVtbl->CompletionStatus(p,a,b)
269 /*** IAudioStreamSample methods ***/
270 #define IAudioStreamSample_GetAudioData(p,a) (p)->lpVtbl->GetAudioData(p,a)
274 #define IAudioStreamSample_METHODS \
275 ICOM_MSVTABLE_COMPAT_FIELDS \
276 /*** IUnknown methods ***/ \
277 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
278 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
279 STDMETHOD_(ULONG,Release)(THIS) PURE; \
280 /*** IStreamSample methods ***/ \
281 STDMETHOD_(HRESULT,GetMediaStream)(THIS_ IMediaStream** ppMediaStream) PURE; \
282 STDMETHOD_(HRESULT,GetSampleTimes)(THIS_ STREAM_TIME* pStartTime, STREAM_TIME* pEndTime, STREAM_TIME* pCurrentTime) PURE; \
283 STDMETHOD_(HRESULT,SetSampleTimes)(THIS_ const STREAM_TIME* pStartTime, const STREAM_TIME* pEndTime) PURE; \
284 STDMETHOD_(HRESULT,Update)(THIS_ DWORD dwFlags, HANDLE hEvent, PAPCFUNC pfnAPC, DWORD dwAPCData) PURE; \
285 STDMETHOD_(HRESULT,CompletionStatus)(THIS_ DWORD dwFlags, DWORD dwMilliseconds) PURE; \
286 /*** IAudioStreamSample methods ***/ \
287 STDMETHOD_(HRESULT,GetAudioData)(THIS_ IAudioData** ppAudio) PURE;
289 HRESULT CALLBACK IAudioStreamSample_GetAudioData_Proxy(
290 IAudioStreamSample* This,
291 IAudioData** ppAudio);
292 void __RPC_STUB IAudioStreamSample_GetAudioData_Stub(
293 struct IRpcStubBuffer* This,
294 struct IRpcChannelBuffer* pRpcChannelBuffer,
295 PRPC_MESSAGE pRpcMessage,
296 DWORD* pdwStubPhase);
298 #endif /* __IAudioStreamSample_INTERFACE_DEFINED__ */
300 /*****************************************************************************
301 * IMemoryData interface
303 #ifndef __IMemoryData_INTERFACE_DEFINED__
304 #define __IMemoryData_INTERFACE_DEFINED__
306 DEFINE_GUID(IID_IMemoryData, 0x327fc560, 0xaf60, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45);
307 #if defined(__cplusplus) && !defined(CINTERFACE)
308 struct IMemoryData : public IUnknown
310 virtual HRESULT STDMETHODCALLTYPE SetBuffer(
315 virtual HRESULT STDMETHODCALLTYPE GetInfo(
318 DWORD* pcbActualData) = 0;
320 virtual HRESULT STDMETHODCALLTYPE SetActual(
321 DWORD cbDataValid) = 0;
325 typedef struct IMemoryDataVtbl IMemoryDataVtbl;
327 const IMemoryDataVtbl* lpVtbl;
329 struct IMemoryDataVtbl {
330 ICOM_MSVTABLE_COMPAT_FIELDS
332 /*** IUnknown methods ***/
333 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
338 ULONG (STDMETHODCALLTYPE *AddRef)(
341 ULONG (STDMETHODCALLTYPE *Release)(
344 /*** IMemoryData methods ***/
345 HRESULT (STDMETHODCALLTYPE *SetBuffer)(
351 HRESULT (STDMETHODCALLTYPE *GetInfo)(
355 DWORD* pcbActualData);
357 HRESULT (STDMETHODCALLTYPE *SetActual)(
363 /*** IUnknown methods ***/
364 #define IMemoryData_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
365 #define IMemoryData_AddRef(p) (p)->lpVtbl->AddRef(p)
366 #define IMemoryData_Release(p) (p)->lpVtbl->Release(p)
367 /*** IMemoryData methods ***/
368 #define IMemoryData_SetBuffer(p,a,b,c) (p)->lpVtbl->SetBuffer(p,a,b,c)
369 #define IMemoryData_GetInfo(p,a,b,c) (p)->lpVtbl->GetInfo(p,a,b,c)
370 #define IMemoryData_SetActual(p,a) (p)->lpVtbl->SetActual(p,a)
374 #define IMemoryData_METHODS \
375 ICOM_MSVTABLE_COMPAT_FIELDS \
376 /*** IUnknown methods ***/ \
377 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
378 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
379 STDMETHOD_(ULONG,Release)(THIS) PURE; \
380 /*** IMemoryData methods ***/ \
381 STDMETHOD_(HRESULT,SetBuffer)(THIS_ DWORD cbSize, BYTE* pbData, DWORD dwFlags) PURE; \
382 STDMETHOD_(HRESULT,GetInfo)(THIS_ DWORD* pdwLength, BYTE** ppbData, DWORD* pcbActualData) PURE; \
383 STDMETHOD_(HRESULT,SetActual)(THIS_ DWORD cbDataValid) PURE;
385 HRESULT CALLBACK IMemoryData_SetBuffer_Proxy(
390 void __RPC_STUB IMemoryData_SetBuffer_Stub(
391 struct IRpcStubBuffer* This,
392 struct IRpcChannelBuffer* pRpcChannelBuffer,
393 PRPC_MESSAGE pRpcMessage,
394 DWORD* pdwStubPhase);
395 HRESULT CALLBACK IMemoryData_GetInfo_Proxy(
399 DWORD* pcbActualData);
400 void __RPC_STUB IMemoryData_GetInfo_Stub(
401 struct IRpcStubBuffer* This,
402 struct IRpcChannelBuffer* pRpcChannelBuffer,
403 PRPC_MESSAGE pRpcMessage,
404 DWORD* pdwStubPhase);
405 HRESULT CALLBACK IMemoryData_SetActual_Proxy(
408 void __RPC_STUB IMemoryData_SetActual_Stub(
409 struct IRpcStubBuffer* This,
410 struct IRpcChannelBuffer* pRpcChannelBuffer,
411 PRPC_MESSAGE pRpcMessage,
412 DWORD* pdwStubPhase);
414 #endif /* __IMemoryData_INTERFACE_DEFINED__ */
416 /*****************************************************************************
417 * IAudioData interface
419 #ifndef __IAudioData_INTERFACE_DEFINED__
420 #define __IAudioData_INTERFACE_DEFINED__
422 DEFINE_GUID(IID_IAudioData, 0x54c719c0, 0xaf60, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45);
423 #if defined(__cplusplus) && !defined(CINTERFACE)
424 struct IAudioData : public IMemoryData
426 virtual HRESULT STDMETHODCALLTYPE GetFormat(
427 WAVEFORMATEX* pWaveFormatCurrent) = 0;
429 virtual HRESULT STDMETHODCALLTYPE SetFormat(
430 const WAVEFORMATEX* lpWaveFormat) = 0;
434 typedef struct IAudioDataVtbl IAudioDataVtbl;
436 const IAudioDataVtbl* lpVtbl;
438 struct IAudioDataVtbl {
439 ICOM_MSVTABLE_COMPAT_FIELDS
441 /*** IUnknown methods ***/
442 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
447 ULONG (STDMETHODCALLTYPE *AddRef)(
450 ULONG (STDMETHODCALLTYPE *Release)(
453 /*** IMemoryData methods ***/
454 HRESULT (STDMETHODCALLTYPE *SetBuffer)(
460 HRESULT (STDMETHODCALLTYPE *GetInfo)(
464 DWORD* pcbActualData);
466 HRESULT (STDMETHODCALLTYPE *SetActual)(
470 /*** IAudioData methods ***/
471 HRESULT (STDMETHODCALLTYPE *GetFormat)(
473 WAVEFORMATEX* pWaveFormatCurrent);
475 HRESULT (STDMETHODCALLTYPE *SetFormat)(
477 const WAVEFORMATEX* lpWaveFormat);
481 /*** IUnknown methods ***/
482 #define IAudioData_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
483 #define IAudioData_AddRef(p) (p)->lpVtbl->AddRef(p)
484 #define IAudioData_Release(p) (p)->lpVtbl->Release(p)
485 /*** IMemoryData methods ***/
486 #define IAudioData_SetBuffer(p,a,b,c) (p)->lpVtbl->SetBuffer(p,a,b,c)
487 #define IAudioData_GetInfo(p,a,b,c) (p)->lpVtbl->GetInfo(p,a,b,c)
488 #define IAudioData_SetActual(p,a) (p)->lpVtbl->SetActual(p,a)
489 /*** IAudioData methods ***/
490 #define IAudioData_GetFormat(p,a) (p)->lpVtbl->GetFormat(p,a)
491 #define IAudioData_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
495 #define IAudioData_METHODS \
496 ICOM_MSVTABLE_COMPAT_FIELDS \
497 /*** IUnknown methods ***/ \
498 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
499 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
500 STDMETHOD_(ULONG,Release)(THIS) PURE; \
501 /*** IMemoryData methods ***/ \
502 STDMETHOD_(HRESULT,SetBuffer)(THIS_ DWORD cbSize, BYTE* pbData, DWORD dwFlags) PURE; \
503 STDMETHOD_(HRESULT,GetInfo)(THIS_ DWORD* pdwLength, BYTE** ppbData, DWORD* pcbActualData) PURE; \
504 STDMETHOD_(HRESULT,SetActual)(THIS_ DWORD cbDataValid) PURE; \
505 /*** IAudioData methods ***/ \
506 STDMETHOD_(HRESULT,GetFormat)(THIS_ WAVEFORMATEX* pWaveFormatCurrent) PURE; \
507 STDMETHOD_(HRESULT,SetFormat)(THIS_ const WAVEFORMATEX* lpWaveFormat) PURE;
509 HRESULT CALLBACK IAudioData_GetFormat_Proxy(
511 WAVEFORMATEX* pWaveFormatCurrent);
512 void __RPC_STUB IAudioData_GetFormat_Stub(
513 struct IRpcStubBuffer* This,
514 struct IRpcChannelBuffer* pRpcChannelBuffer,
515 PRPC_MESSAGE pRpcMessage,
516 DWORD* pdwStubPhase);
517 HRESULT CALLBACK IAudioData_SetFormat_Proxy(
519 const WAVEFORMATEX* lpWaveFormat);
520 void __RPC_STUB IAudioData_SetFormat_Stub(
521 struct IRpcStubBuffer* This,
522 struct IRpcChannelBuffer* pRpcChannelBuffer,
523 PRPC_MESSAGE pRpcMessage,
524 DWORD* pdwStubPhase);
526 #endif /* __IAudioData_INTERFACE_DEFINED__ */
531 #endif /* __WIDL_AUSTREAM_H */