1 /*** Autogenerated by WIDL 0.1 from mmstream.idl - Do not edit ***/
5 #ifndef __WIDL_MMSTREAM_H
6 #define __WIDL_MMSTREAM_H
11 #define MS_ERROR_CODE(x) MAKE_HRESULT(1, FACILITY_ITF, (x) + 0x400)
12 #define MS_SUCCESS_CODE(x) MAKE_HRESULT(0, FACILITY_ITF, x)
13 #define MS_S_PENDING MS_SUCCESS_CODE(1)
14 #define MS_S_NOUPDATE MS_SUCCESS_CODE(2)
15 #define MS_S_ENDOFSTREAM MS_SUCCESS_CODE(3)
16 #define MS_E_SAMPLEALLOC MS_ERROR_CODE(1)
17 #define MS_E_PURPOSEID MS_ERROR_CODE(2)
18 #define MS_E_NOSTREAM MS_ERROR_CODE(3)
19 #define MS_E_NOSEEKING MS_ERROR_CODE(4)
20 #define MS_E_INCOMPATIBLE MS_ERROR_CODE(5)
21 #define MS_E_BUSY MS_ERROR_CODE(6)
22 #define MS_E_NOTINIT MS_ERROR_CODE(7)
23 #define MS_E_SOURCEALREADYDEFINED MS_ERROR_CODE(8)
24 #define MS_E_INVALIDSTREAMTYPE MS_ERROR_CODE(9)
25 #define MS_E_NOTRUNNING MS_ERROR_CODE(10)
26 DEFINE_GUID(MSPID_PrimaryVideo, 0xa35ff56a, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);
27 DEFINE_GUID(MSPID_PrimaryAudio, 0xa35ff56b, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);
29 typedef void *PAPCFUNC;
32 typedef LONGLONG STREAM_TIME;
36 typedef REFGUID REFMSPID;
41 STREAMTYPE_TRANSFORM = 2
50 COMPSTAT_NOUPDATEOK = 0x1,
53 } COMPLETION_STATUS_FLAGS;
57 MMSSF_SUPPORTSEEK = 0x2,
58 MMSSF_ASYNCHRONOUS = 0x4
63 SSUPDATE_CONTINUOUS = 0x2
66 #ifndef __IMultiMediaStream_FWD_DEFINED__
67 #define __IMultiMediaStream_FWD_DEFINED__
68 typedef struct IMultiMediaStream IMultiMediaStream;
71 #ifndef __IMediaStream_FWD_DEFINED__
72 #define __IMediaStream_FWD_DEFINED__
73 typedef struct IMediaStream IMediaStream;
76 #ifndef __IStreamSample_FWD_DEFINED__
77 #define __IStreamSample_FWD_DEFINED__
78 typedef struct IStreamSample IStreamSample;
81 /*****************************************************************************
82 * IMultiMediaStream interface
84 #ifndef __IMultiMediaStream_INTERFACE_DEFINED__
85 #define __IMultiMediaStream_INTERFACE_DEFINED__
87 DEFINE_GUID(IID_IMultiMediaStream, 0xb502d1bc, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
88 #if defined(__cplusplus) && !defined(CINTERFACE)
89 struct IMultiMediaStream : public IUnknown
91 virtual HRESULT STDMETHODCALLTYPE GetInformation(
93 STREAM_TYPE* pStreamType) = 0;
95 virtual HRESULT STDMETHODCALLTYPE GetMediaStream(
97 IMediaStream** ppMediaStream) = 0;
99 virtual HRESULT STDMETHODCALLTYPE EnumMediaStreams(
101 IMediaStream** ppMediaStream) = 0;
103 virtual HRESULT STDMETHODCALLTYPE GetState(
104 STREAM_STATE* pCurrentState) = 0;
106 virtual HRESULT STDMETHODCALLTYPE SetState(
107 STREAM_STATE NewState) = 0;
109 virtual HRESULT STDMETHODCALLTYPE GetTime(
110 STREAM_TIME* pCurrentTime) = 0;
112 virtual HRESULT STDMETHODCALLTYPE GetDuration(
113 STREAM_TIME* pDuration) = 0;
115 virtual HRESULT STDMETHODCALLTYPE Seek(
116 STREAM_TIME SeekTime) = 0;
118 virtual HRESULT STDMETHODCALLTYPE GetEndOfStreamEventHandle(
123 typedef struct IMultiMediaStreamVtbl IMultiMediaStreamVtbl;
124 struct IMultiMediaStream {
125 const IMultiMediaStreamVtbl* lpVtbl;
127 struct IMultiMediaStreamVtbl {
128 ICOM_MSVTABLE_COMPAT_FIELDS
130 /*** IUnknown methods ***/
131 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
132 IMultiMediaStream* This,
136 ULONG (STDMETHODCALLTYPE *AddRef)(
137 IMultiMediaStream* This);
139 ULONG (STDMETHODCALLTYPE *Release)(
140 IMultiMediaStream* This);
142 /*** IMultiMediaStream methods ***/
143 HRESULT (STDMETHODCALLTYPE *GetInformation)(
144 IMultiMediaStream* This,
146 STREAM_TYPE* pStreamType);
148 HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
149 IMultiMediaStream* This,
151 IMediaStream** ppMediaStream);
153 HRESULT (STDMETHODCALLTYPE *EnumMediaStreams)(
154 IMultiMediaStream* This,
156 IMediaStream** ppMediaStream);
158 HRESULT (STDMETHODCALLTYPE *GetState)(
159 IMultiMediaStream* This,
160 STREAM_STATE* pCurrentState);
162 HRESULT (STDMETHODCALLTYPE *SetState)(
163 IMultiMediaStream* This,
164 STREAM_STATE NewState);
166 HRESULT (STDMETHODCALLTYPE *GetTime)(
167 IMultiMediaStream* This,
168 STREAM_TIME* pCurrentTime);
170 HRESULT (STDMETHODCALLTYPE *GetDuration)(
171 IMultiMediaStream* This,
172 STREAM_TIME* pDuration);
174 HRESULT (STDMETHODCALLTYPE *Seek)(
175 IMultiMediaStream* This,
176 STREAM_TIME SeekTime);
178 HRESULT (STDMETHODCALLTYPE *GetEndOfStreamEventHandle)(
179 IMultiMediaStream* This,
185 /*** IUnknown methods ***/
186 #define IMultiMediaStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
187 #define IMultiMediaStream_AddRef(p) (p)->lpVtbl->AddRef(p)
188 #define IMultiMediaStream_Release(p) (p)->lpVtbl->Release(p)
189 /*** IMultiMediaStream methods ***/
190 #define IMultiMediaStream_GetInformation(p,a,b) (p)->lpVtbl->GetInformation(p,a,b)
191 #define IMultiMediaStream_GetMediaStream(p,a,b) (p)->lpVtbl->GetMediaStream(p,a,b)
192 #define IMultiMediaStream_EnumMediaStreams(p,a,b) (p)->lpVtbl->EnumMediaStreams(p,a,b)
193 #define IMultiMediaStream_GetState(p,a) (p)->lpVtbl->GetState(p,a)
194 #define IMultiMediaStream_SetState(p,a) (p)->lpVtbl->SetState(p,a)
195 #define IMultiMediaStream_GetTime(p,a) (p)->lpVtbl->GetTime(p,a)
196 #define IMultiMediaStream_GetDuration(p,a) (p)->lpVtbl->GetDuration(p,a)
197 #define IMultiMediaStream_Seek(p,a) (p)->lpVtbl->Seek(p,a)
198 #define IMultiMediaStream_GetEndOfStreamEventHandle(p,a) (p)->lpVtbl->GetEndOfStreamEventHandle(p,a)
203 #define IMultiMediaStream_METHODS \
204 ICOM_MSVTABLE_COMPAT_FIELDS \
205 /*** IUnknown methods ***/ \
206 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
207 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
208 STDMETHOD_(ULONG,Release)(THIS) PURE; \
209 /*** IMultiMediaStream methods ***/ \
210 STDMETHOD_(HRESULT,GetInformation)(THIS_ char* pdwFlags, STREAM_TYPE* pStreamType) PURE; \
211 STDMETHOD_(HRESULT,GetMediaStream)(THIS_ REFMSPID idPurpose, IMediaStream** ppMediaStream) PURE; \
212 STDMETHOD_(HRESULT,EnumMediaStreams)(THIS_ long Index, IMediaStream** ppMediaStream) PURE; \
213 STDMETHOD_(HRESULT,GetState)(THIS_ STREAM_STATE* pCurrentState) PURE; \
214 STDMETHOD_(HRESULT,SetState)(THIS_ STREAM_STATE NewState) PURE; \
215 STDMETHOD_(HRESULT,GetTime)(THIS_ STREAM_TIME* pCurrentTime) PURE; \
216 STDMETHOD_(HRESULT,GetDuration)(THIS_ STREAM_TIME* pDuration) PURE; \
217 STDMETHOD_(HRESULT,Seek)(THIS_ STREAM_TIME SeekTime) PURE; \
218 STDMETHOD_(HRESULT,GetEndOfStreamEventHandle)(THIS_ HANDLE* phEOS) PURE;
220 HRESULT CALLBACK IMultiMediaStream_GetInformation_Proxy(
221 IMultiMediaStream* This,
223 STREAM_TYPE* pStreamType);
224 void __RPC_STUB IMultiMediaStream_GetInformation_Stub(
225 struct IRpcStubBuffer* This,
226 struct IRpcChannelBuffer* pRpcChannelBuffer,
227 PRPC_MESSAGE pRpcMessage,
228 DWORD* pdwStubPhase);
229 HRESULT CALLBACK IMultiMediaStream_GetMediaStream_Proxy(
230 IMultiMediaStream* This,
232 IMediaStream** ppMediaStream);
233 void __RPC_STUB IMultiMediaStream_GetMediaStream_Stub(
234 struct IRpcStubBuffer* This,
235 struct IRpcChannelBuffer* pRpcChannelBuffer,
236 PRPC_MESSAGE pRpcMessage,
237 DWORD* pdwStubPhase);
238 HRESULT CALLBACK IMultiMediaStream_EnumMediaStreams_Proxy(
239 IMultiMediaStream* This,
241 IMediaStream** ppMediaStream);
242 void __RPC_STUB IMultiMediaStream_EnumMediaStreams_Stub(
243 struct IRpcStubBuffer* This,
244 struct IRpcChannelBuffer* pRpcChannelBuffer,
245 PRPC_MESSAGE pRpcMessage,
246 DWORD* pdwStubPhase);
247 HRESULT CALLBACK IMultiMediaStream_GetState_Proxy(
248 IMultiMediaStream* This,
249 STREAM_STATE* pCurrentState);
250 void __RPC_STUB IMultiMediaStream_GetState_Stub(
251 struct IRpcStubBuffer* This,
252 struct IRpcChannelBuffer* pRpcChannelBuffer,
253 PRPC_MESSAGE pRpcMessage,
254 DWORD* pdwStubPhase);
255 HRESULT CALLBACK IMultiMediaStream_SetState_Proxy(
256 IMultiMediaStream* This,
257 STREAM_STATE NewState);
258 void __RPC_STUB IMultiMediaStream_SetState_Stub(
259 struct IRpcStubBuffer* This,
260 struct IRpcChannelBuffer* pRpcChannelBuffer,
261 PRPC_MESSAGE pRpcMessage,
262 DWORD* pdwStubPhase);
263 HRESULT CALLBACK IMultiMediaStream_GetTime_Proxy(
264 IMultiMediaStream* This,
265 STREAM_TIME* pCurrentTime);
266 void __RPC_STUB IMultiMediaStream_GetTime_Stub(
267 struct IRpcStubBuffer* This,
268 struct IRpcChannelBuffer* pRpcChannelBuffer,
269 PRPC_MESSAGE pRpcMessage,
270 DWORD* pdwStubPhase);
271 HRESULT CALLBACK IMultiMediaStream_GetDuration_Proxy(
272 IMultiMediaStream* This,
273 STREAM_TIME* pDuration);
274 void __RPC_STUB IMultiMediaStream_GetDuration_Stub(
275 struct IRpcStubBuffer* This,
276 struct IRpcChannelBuffer* pRpcChannelBuffer,
277 PRPC_MESSAGE pRpcMessage,
278 DWORD* pdwStubPhase);
279 HRESULT CALLBACK IMultiMediaStream_Seek_Proxy(
280 IMultiMediaStream* This,
281 STREAM_TIME SeekTime);
282 void __RPC_STUB IMultiMediaStream_Seek_Stub(
283 struct IRpcStubBuffer* This,
284 struct IRpcChannelBuffer* pRpcChannelBuffer,
285 PRPC_MESSAGE pRpcMessage,
286 DWORD* pdwStubPhase);
287 HRESULT CALLBACK IMultiMediaStream_GetEndOfStreamEventHandle_Proxy(
288 IMultiMediaStream* This,
290 void __RPC_STUB IMultiMediaStream_GetEndOfStreamEventHandle_Stub(
291 struct IRpcStubBuffer* This,
292 struct IRpcChannelBuffer* pRpcChannelBuffer,
293 PRPC_MESSAGE pRpcMessage,
294 DWORD* pdwStubPhase);
296 #endif /* __IMultiMediaStream_INTERFACE_DEFINED__ */
298 /*****************************************************************************
299 * IMediaStream interface
301 #ifndef __IMediaStream_INTERFACE_DEFINED__
302 #define __IMediaStream_INTERFACE_DEFINED__
304 DEFINE_GUID(IID_IMediaStream, 0xb502d1bd, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
305 #if defined(__cplusplus) && !defined(CINTERFACE)
306 struct IMediaStream : public IUnknown
308 virtual HRESULT STDMETHODCALLTYPE GetMultiMediaStream(
309 IMultiMediaStream** ppMultiMediaStream) = 0;
311 virtual HRESULT STDMETHODCALLTYPE GetInformation(
313 STREAM_TYPE* pType) = 0;
315 virtual HRESULT STDMETHODCALLTYPE SetSameFormat(
316 IMediaStream* pStreamThatHasDesiredFormat,
319 virtual HRESULT STDMETHODCALLTYPE AllocateSample(
321 IStreamSample** ppSample) = 0;
323 virtual HRESULT STDMETHODCALLTYPE CreateSharedSample(
324 IStreamSample* pExistingSample,
326 IStreamSample** ppNewSample) = 0;
328 virtual HRESULT STDMETHODCALLTYPE SendEndOfStream(
333 typedef struct IMediaStreamVtbl IMediaStreamVtbl;
334 struct IMediaStream {
335 const IMediaStreamVtbl* lpVtbl;
337 struct IMediaStreamVtbl {
338 ICOM_MSVTABLE_COMPAT_FIELDS
340 /*** IUnknown methods ***/
341 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
346 ULONG (STDMETHODCALLTYPE *AddRef)(
349 ULONG (STDMETHODCALLTYPE *Release)(
352 /*** IMediaStream methods ***/
353 HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)(
355 IMultiMediaStream** ppMultiMediaStream);
357 HRESULT (STDMETHODCALLTYPE *GetInformation)(
362 HRESULT (STDMETHODCALLTYPE *SetSameFormat)(
364 IMediaStream* pStreamThatHasDesiredFormat,
367 HRESULT (STDMETHODCALLTYPE *AllocateSample)(
370 IStreamSample** ppSample);
372 HRESULT (STDMETHODCALLTYPE *CreateSharedSample)(
374 IStreamSample* pExistingSample,
376 IStreamSample** ppNewSample);
378 HRESULT (STDMETHODCALLTYPE *SendEndOfStream)(
385 /*** IUnknown methods ***/
386 #define IMediaStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
387 #define IMediaStream_AddRef(p) (p)->lpVtbl->AddRef(p)
388 #define IMediaStream_Release(p) (p)->lpVtbl->Release(p)
389 /*** IMediaStream methods ***/
390 #define IMediaStream_GetMultiMediaStream(p,a) (p)->lpVtbl->GetMultiMediaStream(p,a)
391 #define IMediaStream_GetInformation(p,a,b) (p)->lpVtbl->GetInformation(p,a,b)
392 #define IMediaStream_SetSameFormat(p,a,b) (p)->lpVtbl->SetSameFormat(p,a,b)
393 #define IMediaStream_AllocateSample(p,a,b) (p)->lpVtbl->AllocateSample(p,a,b)
394 #define IMediaStream_CreateSharedSample(p,a,b,c) (p)->lpVtbl->CreateSharedSample(p,a,b,c)
395 #define IMediaStream_SendEndOfStream(p,a) (p)->lpVtbl->SendEndOfStream(p,a)
400 #define IMediaStream_METHODS \
401 ICOM_MSVTABLE_COMPAT_FIELDS \
402 /*** IUnknown methods ***/ \
403 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
404 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
405 STDMETHOD_(ULONG,Release)(THIS) PURE; \
406 /*** IMediaStream methods ***/ \
407 STDMETHOD_(HRESULT,GetMultiMediaStream)(THIS_ IMultiMediaStream** ppMultiMediaStream) PURE; \
408 STDMETHOD_(HRESULT,GetInformation)(THIS_ MSPID* pPurposeId, STREAM_TYPE* pType) PURE; \
409 STDMETHOD_(HRESULT,SetSameFormat)(THIS_ IMediaStream* pStreamThatHasDesiredFormat, DWORD dwFlags) PURE; \
410 STDMETHOD_(HRESULT,AllocateSample)(THIS_ DWORD dwFlags, IStreamSample** ppSample) PURE; \
411 STDMETHOD_(HRESULT,CreateSharedSample)(THIS_ IStreamSample* pExistingSample, DWORD dwFlags, IStreamSample** ppNewSample) PURE; \
412 STDMETHOD_(HRESULT,SendEndOfStream)(THIS_ DWORD dwFlags) PURE;
414 HRESULT CALLBACK IMediaStream_GetMultiMediaStream_Proxy(
416 IMultiMediaStream** ppMultiMediaStream);
417 void __RPC_STUB IMediaStream_GetMultiMediaStream_Stub(
418 struct IRpcStubBuffer* This,
419 struct IRpcChannelBuffer* pRpcChannelBuffer,
420 PRPC_MESSAGE pRpcMessage,
421 DWORD* pdwStubPhase);
422 HRESULT CALLBACK IMediaStream_GetInformation_Proxy(
426 void __RPC_STUB IMediaStream_GetInformation_Stub(
427 struct IRpcStubBuffer* This,
428 struct IRpcChannelBuffer* pRpcChannelBuffer,
429 PRPC_MESSAGE pRpcMessage,
430 DWORD* pdwStubPhase);
431 HRESULT CALLBACK IMediaStream_SetSameFormat_Proxy(
433 IMediaStream* pStreamThatHasDesiredFormat,
435 void __RPC_STUB IMediaStream_SetSameFormat_Stub(
436 struct IRpcStubBuffer* This,
437 struct IRpcChannelBuffer* pRpcChannelBuffer,
438 PRPC_MESSAGE pRpcMessage,
439 DWORD* pdwStubPhase);
440 HRESULT CALLBACK IMediaStream_AllocateSample_Proxy(
443 IStreamSample** ppSample);
444 void __RPC_STUB IMediaStream_AllocateSample_Stub(
445 struct IRpcStubBuffer* This,
446 struct IRpcChannelBuffer* pRpcChannelBuffer,
447 PRPC_MESSAGE pRpcMessage,
448 DWORD* pdwStubPhase);
449 HRESULT CALLBACK IMediaStream_CreateSharedSample_Proxy(
451 IStreamSample* pExistingSample,
453 IStreamSample** ppNewSample);
454 void __RPC_STUB IMediaStream_CreateSharedSample_Stub(
455 struct IRpcStubBuffer* This,
456 struct IRpcChannelBuffer* pRpcChannelBuffer,
457 PRPC_MESSAGE pRpcMessage,
458 DWORD* pdwStubPhase);
459 HRESULT CALLBACK IMediaStream_SendEndOfStream_Proxy(
462 void __RPC_STUB IMediaStream_SendEndOfStream_Stub(
463 struct IRpcStubBuffer* This,
464 struct IRpcChannelBuffer* pRpcChannelBuffer,
465 PRPC_MESSAGE pRpcMessage,
466 DWORD* pdwStubPhase);
468 #endif /* __IMediaStream_INTERFACE_DEFINED__ */
470 /*****************************************************************************
471 * IStreamSample interface
473 #ifndef __IStreamSample_INTERFACE_DEFINED__
474 #define __IStreamSample_INTERFACE_DEFINED__
476 DEFINE_GUID(IID_IStreamSample, 0xb502d1be, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
477 #if defined(__cplusplus) && !defined(CINTERFACE)
478 struct IStreamSample : public IUnknown
480 virtual HRESULT STDMETHODCALLTYPE GetMediaStream(
481 IMediaStream** ppMediaStream) = 0;
483 virtual HRESULT STDMETHODCALLTYPE GetSampleTimes(
484 STREAM_TIME* pStartTime,
485 STREAM_TIME* pEndTime,
486 STREAM_TIME* pCurrentTime) = 0;
488 virtual HRESULT STDMETHODCALLTYPE SetSampleTimes(
489 const STREAM_TIME* pStartTime,
490 const STREAM_TIME* pEndTime) = 0;
492 virtual HRESULT STDMETHODCALLTYPE Update(
496 DWORD dwAPCData) = 0;
498 virtual HRESULT STDMETHODCALLTYPE CompletionStatus(
500 DWORD dwMilliseconds) = 0;
504 typedef struct IStreamSampleVtbl IStreamSampleVtbl;
505 struct IStreamSample {
506 const IStreamSampleVtbl* lpVtbl;
508 struct IStreamSampleVtbl {
509 ICOM_MSVTABLE_COMPAT_FIELDS
511 /*** IUnknown methods ***/
512 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
517 ULONG (STDMETHODCALLTYPE *AddRef)(
518 IStreamSample* This);
520 ULONG (STDMETHODCALLTYPE *Release)(
521 IStreamSample* This);
523 /*** IStreamSample methods ***/
524 HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
526 IMediaStream** ppMediaStream);
528 HRESULT (STDMETHODCALLTYPE *GetSampleTimes)(
530 STREAM_TIME* pStartTime,
531 STREAM_TIME* pEndTime,
532 STREAM_TIME* pCurrentTime);
534 HRESULT (STDMETHODCALLTYPE *SetSampleTimes)(
536 const STREAM_TIME* pStartTime,
537 const STREAM_TIME* pEndTime);
539 HRESULT (STDMETHODCALLTYPE *Update)(
546 HRESULT (STDMETHODCALLTYPE *CompletionStatus)(
549 DWORD dwMilliseconds);
554 /*** IUnknown methods ***/
555 #define IStreamSample_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
556 #define IStreamSample_AddRef(p) (p)->lpVtbl->AddRef(p)
557 #define IStreamSample_Release(p) (p)->lpVtbl->Release(p)
558 /*** IStreamSample methods ***/
559 #define IStreamSample_GetMediaStream(p,a) (p)->lpVtbl->GetMediaStream(p,a)
560 #define IStreamSample_GetSampleTimes(p,a,b,c) (p)->lpVtbl->GetSampleTimes(p,a,b,c)
561 #define IStreamSample_SetSampleTimes(p,a,b) (p)->lpVtbl->SetSampleTimes(p,a,b)
562 #define IStreamSample_Update(p,a,b,c,d) (p)->lpVtbl->Update(p,a,b,c,d)
563 #define IStreamSample_CompletionStatus(p,a,b) (p)->lpVtbl->CompletionStatus(p,a,b)
568 #define IStreamSample_METHODS \
569 ICOM_MSVTABLE_COMPAT_FIELDS \
570 /*** IUnknown methods ***/ \
571 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
572 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
573 STDMETHOD_(ULONG,Release)(THIS) PURE; \
574 /*** IStreamSample methods ***/ \
575 STDMETHOD_(HRESULT,GetMediaStream)(THIS_ IMediaStream** ppMediaStream) PURE; \
576 STDMETHOD_(HRESULT,GetSampleTimes)(THIS_ STREAM_TIME* pStartTime, STREAM_TIME* pEndTime, STREAM_TIME* pCurrentTime) PURE; \
577 STDMETHOD_(HRESULT,SetSampleTimes)(THIS_ const STREAM_TIME* pStartTime, const STREAM_TIME* pEndTime) PURE; \
578 STDMETHOD_(HRESULT,Update)(THIS_ DWORD dwFlags, HANDLE hEvent, PAPCFUNC pfnAPC, DWORD dwAPCData) PURE; \
579 STDMETHOD_(HRESULT,CompletionStatus)(THIS_ DWORD dwFlags, DWORD dwMilliseconds) PURE;
581 HRESULT CALLBACK IStreamSample_GetMediaStream_Proxy(
583 IMediaStream** ppMediaStream);
584 void __RPC_STUB IStreamSample_GetMediaStream_Stub(
585 struct IRpcStubBuffer* This,
586 struct IRpcChannelBuffer* pRpcChannelBuffer,
587 PRPC_MESSAGE pRpcMessage,
588 DWORD* pdwStubPhase);
589 HRESULT CALLBACK IStreamSample_GetSampleTimes_Proxy(
591 STREAM_TIME* pStartTime,
592 STREAM_TIME* pEndTime,
593 STREAM_TIME* pCurrentTime);
594 void __RPC_STUB IStreamSample_GetSampleTimes_Stub(
595 struct IRpcStubBuffer* This,
596 struct IRpcChannelBuffer* pRpcChannelBuffer,
597 PRPC_MESSAGE pRpcMessage,
598 DWORD* pdwStubPhase);
599 HRESULT CALLBACK IStreamSample_SetSampleTimes_Proxy(
601 const STREAM_TIME* pStartTime,
602 const STREAM_TIME* pEndTime);
603 void __RPC_STUB IStreamSample_SetSampleTimes_Stub(
604 struct IRpcStubBuffer* This,
605 struct IRpcChannelBuffer* pRpcChannelBuffer,
606 PRPC_MESSAGE pRpcMessage,
607 DWORD* pdwStubPhase);
608 HRESULT CALLBACK IStreamSample_Update_Proxy(
614 void __RPC_STUB IStreamSample_Update_Stub(
615 struct IRpcStubBuffer* This,
616 struct IRpcChannelBuffer* pRpcChannelBuffer,
617 PRPC_MESSAGE pRpcMessage,
618 DWORD* pdwStubPhase);
619 HRESULT CALLBACK IStreamSample_CompletionStatus_Proxy(
622 DWORD dwMilliseconds);
623 void __RPC_STUB IStreamSample_CompletionStatus_Stub(
624 struct IRpcStubBuffer* This,
625 struct IRpcChannelBuffer* pRpcChannelBuffer,
626 PRPC_MESSAGE pRpcMessage,
627 DWORD* pdwStubPhase);
629 #endif /* __IStreamSample_INTERFACE_DEFINED__ */
634 #endif /* __WIDL_MMSTREAM_H */