1 /*** Autogenerated by WIDL 0.1 from amstream.idl - Do not edit ***/
5 #ifndef __WIDL_AMSTREAM_H
6 #define __WIDL_AMSTREAM_H
19 #ifndef __IDirectDraw_FWD_DEFINED__
20 #define __IDirectDraw_FWD_DEFINED__
21 typedef struct IDirectDraw IDirectDraw
;
24 #ifndef __IDirectDrawSurface_FWD_DEFINED__
25 #define __IDirectDrawSurface_FWD_DEFINED__
26 typedef struct IDirectDrawSurface IDirectDrawSurface
;
30 #ifndef __IAMMultiMediaStream_FWD_DEFINED__
31 #define __IAMMultiMediaStream_FWD_DEFINED__
32 typedef struct IAMMultiMediaStream IAMMultiMediaStream
;
35 #ifndef __IAMMediaStream_FWD_DEFINED__
36 #define __IAMMediaStream_FWD_DEFINED__
37 typedef struct IAMMediaStream IAMMediaStream
;
40 #ifndef __IMediaStreamFilter_FWD_DEFINED__
41 #define __IMediaStreamFilter_FWD_DEFINED__
42 typedef struct IMediaStreamFilter IMediaStreamFilter
;
45 #ifndef __IAMMediaTypeStream_FWD_DEFINED__
46 #define __IAMMediaTypeStream_FWD_DEFINED__
47 typedef struct IAMMediaTypeStream IAMMediaTypeStream
;
50 #ifndef __IAMMediaTypeSample_FWD_DEFINED__
51 #define __IAMMediaTypeSample_FWD_DEFINED__
52 typedef struct IAMMediaTypeSample IAMMediaTypeSample
;
56 AMMSF_NOGRAPHTHREAD
= 0x1
60 AMMSF_ADDDEFAULTRENDERER
= 0x1,
61 AMMSF_CREATEPEER
= 0x2
65 AMMSF_RENDERTYPEMASK
= 0x3,
66 AMMSF_RENDERTOEXISTING
= 0x0,
67 AMMSF_RENDERALLSTREAMS
= 0x1,
79 /*****************************************************************************
80 * IAMMultiMediaStream interface
82 #ifndef __IAMMultiMediaStream_INTERFACE_DEFINED__
83 #define __IAMMultiMediaStream_INTERFACE_DEFINED__
85 DEFINE_GUID(IID_IAMMultiMediaStream
, 0xbebe595c, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
86 #if defined(__cplusplus) && !defined(CINTERFACE)
87 struct IAMMultiMediaStream
: public IMultiMediaStream
89 virtual HRESULT STDMETHODCALLTYPE
Initialize(
90 STREAM_TYPE StreamType
,
92 IGraphBuilder
* pFilterGraph
) = 0;
94 virtual HRESULT STDMETHODCALLTYPE
GetFilterGraph(
95 IGraphBuilder
** ppGraphBuilder
) = 0;
97 virtual HRESULT STDMETHODCALLTYPE
GetFilter(
98 IMediaStreamFilter
** ppFilter
) = 0;
100 virtual HRESULT STDMETHODCALLTYPE
AddMediaStream(
101 IUnknown
* pStreamObject
,
102 const MSPID
* PurposeId
,
104 IMediaStream
** ppNewStream
) = 0;
106 virtual HRESULT STDMETHODCALLTYPE
OpenFile(
110 virtual HRESULT STDMETHODCALLTYPE
OpenMoniker(
115 virtual HRESULT STDMETHODCALLTYPE
Render(
120 typedef struct IAMMultiMediaStreamVtbl IAMMultiMediaStreamVtbl
;
121 struct IAMMultiMediaStream
{
122 const IAMMultiMediaStreamVtbl
* lpVtbl
;
124 struct IAMMultiMediaStreamVtbl
{
127 /*** IUnknown methods ***/
128 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
129 IAMMultiMediaStream
* This
,
133 ULONG (STDMETHODCALLTYPE
*AddRef
)(
134 IAMMultiMediaStream
* This
);
136 ULONG (STDMETHODCALLTYPE
*Release
)(
137 IAMMultiMediaStream
* This
);
139 /*** IMultiMediaStream methods ***/
140 HRESULT (STDMETHODCALLTYPE
*GetInformation
)(
141 IAMMultiMediaStream
* This
,
143 STREAM_TYPE
* pStreamType
);
145 HRESULT (STDMETHODCALLTYPE
*GetMediaStream
)(
146 IAMMultiMediaStream
* This
,
148 IMediaStream
** ppMediaStream
);
150 HRESULT (STDMETHODCALLTYPE
*EnumMediaStreams
)(
151 IAMMultiMediaStream
* This
,
153 IMediaStream
** ppMediaStream
);
155 HRESULT (STDMETHODCALLTYPE
*GetState
)(
156 IAMMultiMediaStream
* This
,
157 STREAM_STATE
* pCurrentState
);
159 HRESULT (STDMETHODCALLTYPE
*SetState
)(
160 IAMMultiMediaStream
* This
,
161 STREAM_STATE NewState
);
163 HRESULT (STDMETHODCALLTYPE
*GetTime
)(
164 IAMMultiMediaStream
* This
,
165 STREAM_TIME
* pCurrentTime
);
167 HRESULT (STDMETHODCALLTYPE
*GetDuration
)(
168 IAMMultiMediaStream
* This
,
169 STREAM_TIME
* pDuration
);
171 HRESULT (STDMETHODCALLTYPE
*Seek
)(
172 IAMMultiMediaStream
* This
,
173 STREAM_TIME SeekTime
);
175 HRESULT (STDMETHODCALLTYPE
*GetEndOfStreamEventHandle
)(
176 IAMMultiMediaStream
* This
,
179 /*** IAMMultiMediaStream methods ***/
180 HRESULT (STDMETHODCALLTYPE
*Initialize
)(
181 IAMMultiMediaStream
* This
,
182 STREAM_TYPE StreamType
,
184 IGraphBuilder
* pFilterGraph
);
186 HRESULT (STDMETHODCALLTYPE
*GetFilterGraph
)(
187 IAMMultiMediaStream
* This
,
188 IGraphBuilder
** ppGraphBuilder
);
190 HRESULT (STDMETHODCALLTYPE
*GetFilter
)(
191 IAMMultiMediaStream
* This
,
192 IMediaStreamFilter
** ppFilter
);
194 HRESULT (STDMETHODCALLTYPE
*AddMediaStream
)(
195 IAMMultiMediaStream
* This
,
196 IUnknown
* pStreamObject
,
197 const MSPID
* PurposeId
,
199 IMediaStream
** ppNewStream
);
201 HRESULT (STDMETHODCALLTYPE
*OpenFile
)(
202 IAMMultiMediaStream
* This
,
206 HRESULT (STDMETHODCALLTYPE
*OpenMoniker
)(
207 IAMMultiMediaStream
* This
,
212 HRESULT (STDMETHODCALLTYPE
*Render
)(
213 IAMMultiMediaStream
* This
,
220 /*** IUnknown methods ***/
221 #define IAMMultiMediaStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
222 #define IAMMultiMediaStream_AddRef(p) (p)->lpVtbl->AddRef(p)
223 #define IAMMultiMediaStream_Release(p) (p)->lpVtbl->Release(p)
224 /*** IMultiMediaStream methods ***/
225 #define IAMMultiMediaStream_GetInformation(p,a,b) (p)->lpVtbl->GetInformation(p,a,b)
226 #define IAMMultiMediaStream_GetMediaStream(p,a,b) (p)->lpVtbl->GetMediaStream(p,a,b)
227 #define IAMMultiMediaStream_EnumMediaStreams(p,a,b) (p)->lpVtbl->EnumMediaStreams(p,a,b)
228 #define IAMMultiMediaStream_GetState(p,a) (p)->lpVtbl->GetState(p,a)
229 #define IAMMultiMediaStream_SetState(p,a) (p)->lpVtbl->SetState(p,a)
230 #define IAMMultiMediaStream_GetTime(p,a) (p)->lpVtbl->GetTime(p,a)
231 #define IAMMultiMediaStream_GetDuration(p,a) (p)->lpVtbl->GetDuration(p,a)
232 #define IAMMultiMediaStream_Seek(p,a) (p)->lpVtbl->Seek(p,a)
233 #define IAMMultiMediaStream_GetEndOfStreamEventHandle(p,a) (p)->lpVtbl->GetEndOfStreamEventHandle(p,a)
234 /*** IAMMultiMediaStream methods ***/
235 #define IAMMultiMediaStream_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
236 #define IAMMultiMediaStream_GetFilterGraph(p,a) (p)->lpVtbl->GetFilterGraph(p,a)
237 #define IAMMultiMediaStream_GetFilter(p,a) (p)->lpVtbl->GetFilter(p,a)
238 #define IAMMultiMediaStream_AddMediaStream(p,a,b,c,d) (p)->lpVtbl->AddMediaStream(p,a,b,c,d)
239 #define IAMMultiMediaStream_OpenFile(p,a,b) (p)->lpVtbl->OpenFile(p,a,b)
240 #define IAMMultiMediaStream_OpenMoniker(p,a,b,c) (p)->lpVtbl->OpenMoniker(p,a,b,c)
241 #define IAMMultiMediaStream_Render(p,a) (p)->lpVtbl->Render(p,a)
246 #define IAMMultiMediaStream_METHODS \
247 /*** IUnknown methods ***/ \
248 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
249 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
250 STDMETHOD_(ULONG,Release)(THIS) PURE; \
251 /*** IMultiMediaStream methods ***/ \
252 STDMETHOD_(HRESULT,GetInformation)(THIS_ char* pdwFlags, STREAM_TYPE* pStreamType) PURE; \
253 STDMETHOD_(HRESULT,GetMediaStream)(THIS_ REFMSPID idPurpose, IMediaStream** ppMediaStream) PURE; \
254 STDMETHOD_(HRESULT,EnumMediaStreams)(THIS_ long Index, IMediaStream** ppMediaStream) PURE; \
255 STDMETHOD_(HRESULT,GetState)(THIS_ STREAM_STATE* pCurrentState) PURE; \
256 STDMETHOD_(HRESULT,SetState)(THIS_ STREAM_STATE NewState) PURE; \
257 STDMETHOD_(HRESULT,GetTime)(THIS_ STREAM_TIME* pCurrentTime) PURE; \
258 STDMETHOD_(HRESULT,GetDuration)(THIS_ STREAM_TIME* pDuration) PURE; \
259 STDMETHOD_(HRESULT,Seek)(THIS_ STREAM_TIME SeekTime) PURE; \
260 STDMETHOD_(HRESULT,GetEndOfStreamEventHandle)(THIS_ HANDLE* phEOS) PURE; \
261 /*** IAMMultiMediaStream methods ***/ \
262 STDMETHOD_(HRESULT,Initialize)(THIS_ STREAM_TYPE StreamType, DWORD dwFlags, IGraphBuilder* pFilterGraph) PURE; \
263 STDMETHOD_(HRESULT,GetFilterGraph)(THIS_ IGraphBuilder** ppGraphBuilder) PURE; \
264 STDMETHOD_(HRESULT,GetFilter)(THIS_ IMediaStreamFilter** ppFilter) PURE; \
265 STDMETHOD_(HRESULT,AddMediaStream)(THIS_ IUnknown* pStreamObject, const MSPID* PurposeId, DWORD dwFlags, IMediaStream** ppNewStream) PURE; \
266 STDMETHOD_(HRESULT,OpenFile)(THIS_ LPCWSTR pszFileName, DWORD dwFlags) PURE; \
267 STDMETHOD_(HRESULT,OpenMoniker)(THIS_ IBindCtx* pCtx, IMoniker* pMoniker, DWORD dwFlags) PURE; \
268 STDMETHOD_(HRESULT,Render)(THIS_ DWORD dwFlags) PURE;
270 HRESULT CALLBACK
IAMMultiMediaStream_Initialize_Proxy(
271 IAMMultiMediaStream
* This
,
272 STREAM_TYPE StreamType
,
274 IGraphBuilder
* pFilterGraph
);
275 void __RPC_STUB
IAMMultiMediaStream_Initialize_Stub(
276 struct IRpcStubBuffer
* This
,
277 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
278 PRPC_MESSAGE pRpcMessage
,
279 DWORD
* pdwStubPhase
);
280 HRESULT CALLBACK
IAMMultiMediaStream_GetFilterGraph_Proxy(
281 IAMMultiMediaStream
* This
,
282 IGraphBuilder
** ppGraphBuilder
);
283 void __RPC_STUB
IAMMultiMediaStream_GetFilterGraph_Stub(
284 struct IRpcStubBuffer
* This
,
285 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
286 PRPC_MESSAGE pRpcMessage
,
287 DWORD
* pdwStubPhase
);
288 HRESULT CALLBACK
IAMMultiMediaStream_GetFilter_Proxy(
289 IAMMultiMediaStream
* This
,
290 IMediaStreamFilter
** ppFilter
);
291 void __RPC_STUB
IAMMultiMediaStream_GetFilter_Stub(
292 struct IRpcStubBuffer
* This
,
293 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
294 PRPC_MESSAGE pRpcMessage
,
295 DWORD
* pdwStubPhase
);
296 HRESULT CALLBACK
IAMMultiMediaStream_AddMediaStream_Proxy(
297 IAMMultiMediaStream
* This
,
298 IUnknown
* pStreamObject
,
299 const MSPID
* PurposeId
,
301 IMediaStream
** ppNewStream
);
302 void __RPC_STUB
IAMMultiMediaStream_AddMediaStream_Stub(
303 struct IRpcStubBuffer
* This
,
304 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
305 PRPC_MESSAGE pRpcMessage
,
306 DWORD
* pdwStubPhase
);
307 HRESULT CALLBACK
IAMMultiMediaStream_OpenFile_Proxy(
308 IAMMultiMediaStream
* This
,
311 void __RPC_STUB
IAMMultiMediaStream_OpenFile_Stub(
312 struct IRpcStubBuffer
* This
,
313 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
314 PRPC_MESSAGE pRpcMessage
,
315 DWORD
* pdwStubPhase
);
316 HRESULT CALLBACK
IAMMultiMediaStream_OpenMoniker_Proxy(
317 IAMMultiMediaStream
* This
,
321 void __RPC_STUB
IAMMultiMediaStream_OpenMoniker_Stub(
322 struct IRpcStubBuffer
* This
,
323 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
324 PRPC_MESSAGE pRpcMessage
,
325 DWORD
* pdwStubPhase
);
326 HRESULT CALLBACK
IAMMultiMediaStream_Render_Proxy(
327 IAMMultiMediaStream
* This
,
329 void __RPC_STUB
IAMMultiMediaStream_Render_Stub(
330 struct IRpcStubBuffer
* This
,
331 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
332 PRPC_MESSAGE pRpcMessage
,
333 DWORD
* pdwStubPhase
);
335 #endif /* __IAMMultiMediaStream_INTERFACE_DEFINED__ */
337 /*****************************************************************************
338 * IAMMediaStream interface
340 #ifndef __IAMMediaStream_INTERFACE_DEFINED__
341 #define __IAMMediaStream_INTERFACE_DEFINED__
343 DEFINE_GUID(IID_IAMMediaStream
, 0xbebe595d, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
344 #if defined(__cplusplus) && !defined(CINTERFACE)
345 struct IAMMediaStream
: public IMediaStream
347 virtual HRESULT STDMETHODCALLTYPE
Initialize(
348 IUnknown
* pSourceObject
,
351 const STREAM_TYPE StreamType
) = 0;
353 virtual HRESULT STDMETHODCALLTYPE
SetState(
354 FILTER_STATE State
) = 0;
356 virtual HRESULT STDMETHODCALLTYPE
JoinAMMultiMediaStream(
357 IAMMultiMediaStream
* pAMMultiMediaStream
) = 0;
359 virtual HRESULT STDMETHODCALLTYPE
JoinFilter(
360 IMediaStreamFilter
* pMediaStreamFilter
) = 0;
362 virtual HRESULT STDMETHODCALLTYPE
JoinFilterGraph(
363 IFilterGraph
* pFilterGraph
) = 0;
367 typedef struct IAMMediaStreamVtbl IAMMediaStreamVtbl
;
368 struct IAMMediaStream
{
369 const IAMMediaStreamVtbl
* lpVtbl
;
371 struct IAMMediaStreamVtbl
{
374 /*** IUnknown methods ***/
375 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
376 IAMMediaStream
* This
,
380 ULONG (STDMETHODCALLTYPE
*AddRef
)(
381 IAMMediaStream
* This
);
383 ULONG (STDMETHODCALLTYPE
*Release
)(
384 IAMMediaStream
* This
);
386 /*** IMediaStream methods ***/
387 HRESULT (STDMETHODCALLTYPE
*GetMultiMediaStream
)(
388 IAMMediaStream
* This
,
389 IMultiMediaStream
** ppMultiMediaStream
);
391 HRESULT (STDMETHODCALLTYPE
*GetInformation
)(
392 IAMMediaStream
* This
,
396 HRESULT (STDMETHODCALLTYPE
*SetSameFormat
)(
397 IAMMediaStream
* This
,
398 IMediaStream
* pStreamThatHasDesiredFormat
,
401 HRESULT (STDMETHODCALLTYPE
*AllocateSample
)(
402 IAMMediaStream
* This
,
404 IStreamSample
** ppSample
);
406 HRESULT (STDMETHODCALLTYPE
*CreateSharedSample
)(
407 IAMMediaStream
* This
,
408 IStreamSample
* pExistingSample
,
410 IStreamSample
** ppNewSample
);
412 HRESULT (STDMETHODCALLTYPE
*SendEndOfStream
)(
413 IAMMediaStream
* This
,
416 /*** IAMMediaStream methods ***/
417 HRESULT (STDMETHODCALLTYPE
*Initialize
)(
418 IAMMediaStream
* This
,
419 IUnknown
* pSourceObject
,
422 const STREAM_TYPE StreamType
);
424 HRESULT (STDMETHODCALLTYPE
*SetState
)(
425 IAMMediaStream
* This
,
428 HRESULT (STDMETHODCALLTYPE
*JoinAMMultiMediaStream
)(
429 IAMMediaStream
* This
,
430 IAMMultiMediaStream
* pAMMultiMediaStream
);
432 HRESULT (STDMETHODCALLTYPE
*JoinFilter
)(
433 IAMMediaStream
* This
,
434 IMediaStreamFilter
* pMediaStreamFilter
);
436 HRESULT (STDMETHODCALLTYPE
*JoinFilterGraph
)(
437 IAMMediaStream
* This
,
438 IFilterGraph
* pFilterGraph
);
444 /*** IUnknown methods ***/
445 #define IAMMediaStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
446 #define IAMMediaStream_AddRef(p) (p)->lpVtbl->AddRef(p)
447 #define IAMMediaStream_Release(p) (p)->lpVtbl->Release(p)
448 /*** IMediaStream methods ***/
449 #define IAMMediaStream_GetMultiMediaStream(p,a) (p)->lpVtbl->GetMultiMediaStream(p,a)
450 #define IAMMediaStream_GetInformation(p,a,b) (p)->lpVtbl->GetInformation(p,a,b)
451 #define IAMMediaStream_SetSameFormat(p,a,b) (p)->lpVtbl->SetSameFormat(p,a,b)
452 #define IAMMediaStream_AllocateSample(p,a,b) (p)->lpVtbl->AllocateSample(p,a,b)
453 #define IAMMediaStream_CreateSharedSample(p,a,b,c) (p)->lpVtbl->CreateSharedSample(p,a,b,c)
454 #define IAMMediaStream_SendEndOfStream(p,a) (p)->lpVtbl->SendEndOfStream(p,a)
455 /*** IAMMediaStream methods ***/
456 #define IAMMediaStream_Initialize(p,a,b,c,d) (p)->lpVtbl->Initialize(p,a,b,c,d)
457 #define IAMMediaStream_SetState(p,a) (p)->lpVtbl->SetState(p,a)
458 #define IAMMediaStream_JoinAMMultiMediaStream(p,a) (p)->lpVtbl->JoinAMMultiMediaStream(p,a)
459 #define IAMMediaStream_JoinFilter(p,a) (p)->lpVtbl->JoinFilter(p,a)
460 #define IAMMediaStream_JoinFilterGraph(p,a) (p)->lpVtbl->JoinFilterGraph(p,a)
465 #define IAMMediaStream_METHODS \
466 /*** IUnknown methods ***/ \
467 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
468 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
469 STDMETHOD_(ULONG,Release)(THIS) PURE; \
470 /*** IMediaStream methods ***/ \
471 STDMETHOD_(HRESULT,GetMultiMediaStream)(THIS_ IMultiMediaStream** ppMultiMediaStream) PURE; \
472 STDMETHOD_(HRESULT,GetInformation)(THIS_ MSPID* pPurposeId, STREAM_TYPE* pType) PURE; \
473 STDMETHOD_(HRESULT,SetSameFormat)(THIS_ IMediaStream* pStreamThatHasDesiredFormat, DWORD dwFlags) PURE; \
474 STDMETHOD_(HRESULT,AllocateSample)(THIS_ DWORD dwFlags, IStreamSample** ppSample) PURE; \
475 STDMETHOD_(HRESULT,CreateSharedSample)(THIS_ IStreamSample* pExistingSample, DWORD dwFlags, IStreamSample** ppNewSample) PURE; \
476 STDMETHOD_(HRESULT,SendEndOfStream)(THIS_ DWORD dwFlags) PURE; \
477 /*** IAMMediaStream methods ***/ \
478 STDMETHOD_(HRESULT,Initialize)(THIS_ IUnknown* pSourceObject, DWORD dwFlags, REFMSPID PurposeId, const STREAM_TYPE StreamType) PURE; \
479 STDMETHOD_(HRESULT,SetState)(THIS_ FILTER_STATE State) PURE; \
480 STDMETHOD_(HRESULT,JoinAMMultiMediaStream)(THIS_ IAMMultiMediaStream* pAMMultiMediaStream) PURE; \
481 STDMETHOD_(HRESULT,JoinFilter)(THIS_ IMediaStreamFilter* pMediaStreamFilter) PURE; \
482 STDMETHOD_(HRESULT,JoinFilterGraph)(THIS_ IFilterGraph* pFilterGraph) PURE;
484 HRESULT CALLBACK
IAMMediaStream_Initialize_Proxy(
485 IAMMediaStream
* This
,
486 IUnknown
* pSourceObject
,
489 const STREAM_TYPE StreamType
);
490 void __RPC_STUB
IAMMediaStream_Initialize_Stub(
491 struct IRpcStubBuffer
* This
,
492 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
493 PRPC_MESSAGE pRpcMessage
,
494 DWORD
* pdwStubPhase
);
495 HRESULT CALLBACK
IAMMediaStream_SetState_Proxy(
496 IAMMediaStream
* This
,
498 void __RPC_STUB
IAMMediaStream_SetState_Stub(
499 struct IRpcStubBuffer
* This
,
500 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
501 PRPC_MESSAGE pRpcMessage
,
502 DWORD
* pdwStubPhase
);
503 HRESULT CALLBACK
IAMMediaStream_JoinAMMultiMediaStream_Proxy(
504 IAMMediaStream
* This
,
505 IAMMultiMediaStream
* pAMMultiMediaStream
);
506 void __RPC_STUB
IAMMediaStream_JoinAMMultiMediaStream_Stub(
507 struct IRpcStubBuffer
* This
,
508 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
509 PRPC_MESSAGE pRpcMessage
,
510 DWORD
* pdwStubPhase
);
511 HRESULT CALLBACK
IAMMediaStream_JoinFilter_Proxy(
512 IAMMediaStream
* This
,
513 IMediaStreamFilter
* pMediaStreamFilter
);
514 void __RPC_STUB
IAMMediaStream_JoinFilter_Stub(
515 struct IRpcStubBuffer
* This
,
516 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
517 PRPC_MESSAGE pRpcMessage
,
518 DWORD
* pdwStubPhase
);
519 HRESULT CALLBACK
IAMMediaStream_JoinFilterGraph_Proxy(
520 IAMMediaStream
* This
,
521 IFilterGraph
* pFilterGraph
);
522 void __RPC_STUB
IAMMediaStream_JoinFilterGraph_Stub(
523 struct IRpcStubBuffer
* This
,
524 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
525 PRPC_MESSAGE pRpcMessage
,
526 DWORD
* pdwStubPhase
);
528 #endif /* __IAMMediaStream_INTERFACE_DEFINED__ */
530 /*****************************************************************************
531 * IMediaStreamFilter interface
533 #ifndef __IMediaStreamFilter_INTERFACE_DEFINED__
534 #define __IMediaStreamFilter_INTERFACE_DEFINED__
536 DEFINE_GUID(IID_IMediaStreamFilter
, 0xbebe595e, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
537 #if defined(__cplusplus) && !defined(CINTERFACE)
538 struct IMediaStreamFilter
: public IBaseFilter
540 virtual HRESULT STDMETHODCALLTYPE
AddMediaStream(
541 IAMMediaStream
* pAMMediaStream
) = 0;
543 virtual HRESULT STDMETHODCALLTYPE
GetMediaStream(
545 IMediaStream
** ppMediaStream
) = 0;
547 virtual HRESULT STDMETHODCALLTYPE
EnumMediaStreams(
549 IMediaStream
** ppMediaStream
) = 0;
551 virtual HRESULT STDMETHODCALLTYPE
SupportSeeking(
554 virtual HRESULT STDMETHODCALLTYPE
ReferenceTimeToStreamTime(
555 REFERENCE_TIME
* pTime
) = 0;
557 virtual HRESULT STDMETHODCALLTYPE
GetCurrentStreamTime(
558 REFERENCE_TIME
* pCurrentStreamTime
) = 0;
560 virtual HRESULT STDMETHODCALLTYPE
WaitUntil(
561 REFERENCE_TIME WaitStreamTime
) = 0;
563 virtual HRESULT STDMETHODCALLTYPE
Flush(
564 BOOL bCancelEOS
) = 0;
566 virtual HRESULT STDMETHODCALLTYPE
EndOfStream(
571 typedef struct IMediaStreamFilterVtbl IMediaStreamFilterVtbl
;
572 struct IMediaStreamFilter
{
573 const IMediaStreamFilterVtbl
* lpVtbl
;
575 struct IMediaStreamFilterVtbl
{
578 /*** IUnknown methods ***/
579 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
580 IMediaStreamFilter
* This
,
584 ULONG (STDMETHODCALLTYPE
*AddRef
)(
585 IMediaStreamFilter
* This
);
587 ULONG (STDMETHODCALLTYPE
*Release
)(
588 IMediaStreamFilter
* This
);
590 /*** IPersist methods ***/
591 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
592 IMediaStreamFilter
* This
,
595 /*** IMediaFilter methods ***/
596 HRESULT (STDMETHODCALLTYPE
*Stop
)(
597 IMediaStreamFilter
* This
);
599 HRESULT (STDMETHODCALLTYPE
*Pause
)(
600 IMediaStreamFilter
* This
);
602 HRESULT (STDMETHODCALLTYPE
*Run
)(
603 IMediaStreamFilter
* This
,
604 REFERENCE_TIME tStart
);
606 HRESULT (STDMETHODCALLTYPE
*GetState
)(
607 IMediaStreamFilter
* This
,
608 DWORD dwMilliSecsTimeout
,
609 FILTER_STATE
* State
);
611 HRESULT (STDMETHODCALLTYPE
*SetSyncSource
)(
612 IMediaStreamFilter
* This
,
613 IReferenceClock
* pClock
);
615 HRESULT (STDMETHODCALLTYPE
*GetSyncSource
)(
616 IMediaStreamFilter
* This
,
617 IReferenceClock
** pClock
);
619 /*** IBaseFilter methods ***/
620 HRESULT (STDMETHODCALLTYPE
*EnumPins
)(
621 IMediaStreamFilter
* This
,
624 HRESULT (STDMETHODCALLTYPE
*FindPin
)(
625 IMediaStreamFilter
* This
,
629 HRESULT (STDMETHODCALLTYPE
*QueryFilterInfo
)(
630 IMediaStreamFilter
* This
,
633 HRESULT (STDMETHODCALLTYPE
*JoinFilterGraph
)(
634 IMediaStreamFilter
* This
,
635 IFilterGraph
* pGraph
,
638 HRESULT (STDMETHODCALLTYPE
*QueryVendorInfo
)(
639 IMediaStreamFilter
* This
,
640 LPWSTR
* pVendorInfo
);
642 /*** IMediaStreamFilter methods ***/
643 HRESULT (STDMETHODCALLTYPE
*AddMediaStream
)(
644 IMediaStreamFilter
* This
,
645 IAMMediaStream
* pAMMediaStream
);
647 HRESULT (STDMETHODCALLTYPE
*GetMediaStream
)(
648 IMediaStreamFilter
* This
,
650 IMediaStream
** ppMediaStream
);
652 HRESULT (STDMETHODCALLTYPE
*EnumMediaStreams
)(
653 IMediaStreamFilter
* This
,
655 IMediaStream
** ppMediaStream
);
657 HRESULT (STDMETHODCALLTYPE
*SupportSeeking
)(
658 IMediaStreamFilter
* This
,
661 HRESULT (STDMETHODCALLTYPE
*ReferenceTimeToStreamTime
)(
662 IMediaStreamFilter
* This
,
663 REFERENCE_TIME
* pTime
);
665 HRESULT (STDMETHODCALLTYPE
*GetCurrentStreamTime
)(
666 IMediaStreamFilter
* This
,
667 REFERENCE_TIME
* pCurrentStreamTime
);
669 HRESULT (STDMETHODCALLTYPE
*WaitUntil
)(
670 IMediaStreamFilter
* This
,
671 REFERENCE_TIME WaitStreamTime
);
673 HRESULT (STDMETHODCALLTYPE
*Flush
)(
674 IMediaStreamFilter
* This
,
677 HRESULT (STDMETHODCALLTYPE
*EndOfStream
)(
678 IMediaStreamFilter
* This
);
684 /*** IUnknown methods ***/
685 #define IMediaStreamFilter_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
686 #define IMediaStreamFilter_AddRef(p) (p)->lpVtbl->AddRef(p)
687 #define IMediaStreamFilter_Release(p) (p)->lpVtbl->Release(p)
688 /*** IPersist methods ***/
689 #define IMediaStreamFilter_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
690 /*** IMediaFilter methods ***/
691 #define IMediaStreamFilter_Stop(p) (p)->lpVtbl->Stop(p)
692 #define IMediaStreamFilter_Pause(p) (p)->lpVtbl->Pause(p)
693 #define IMediaStreamFilter_Run(p,a) (p)->lpVtbl->Run(p,a)
694 #define IMediaStreamFilter_GetState(p,a,b) (p)->lpVtbl->GetState(p,a,b)
695 #define IMediaStreamFilter_SetSyncSource(p,a) (p)->lpVtbl->SetSyncSource(p,a)
696 #define IMediaStreamFilter_GetSyncSource(p,a) (p)->lpVtbl->GetSyncSource(p,a)
697 /*** IBaseFilter methods ***/
698 #define IMediaStreamFilter_EnumPins(p,a) (p)->lpVtbl->EnumPins(p,a)
699 #define IMediaStreamFilter_FindPin(p,a,b) (p)->lpVtbl->FindPin(p,a,b)
700 #define IMediaStreamFilter_QueryFilterInfo(p,a) (p)->lpVtbl->QueryFilterInfo(p,a)
701 #define IMediaStreamFilter_JoinFilterGraph(p,a,b) (p)->lpVtbl->JoinFilterGraph(p,a,b)
702 #define IMediaStreamFilter_QueryVendorInfo(p,a) (p)->lpVtbl->QueryVendorInfo(p,a)
703 /*** IMediaStreamFilter methods ***/
704 #define IMediaStreamFilter_AddMediaStream(p,a) (p)->lpVtbl->AddMediaStream(p,a)
705 #define IMediaStreamFilter_GetMediaStream(p,a,b) (p)->lpVtbl->GetMediaStream(p,a,b)
706 #define IMediaStreamFilter_EnumMediaStreams(p,a,b) (p)->lpVtbl->EnumMediaStreams(p,a,b)
707 #define IMediaStreamFilter_SupportSeeking(p,a) (p)->lpVtbl->SupportSeeking(p,a)
708 #define IMediaStreamFilter_ReferenceTimeToStreamTime(p,a) (p)->lpVtbl->ReferenceTimeToStreamTime(p,a)
709 #define IMediaStreamFilter_GetCurrentStreamTime(p,a) (p)->lpVtbl->GetCurrentStreamTime(p,a)
710 #define IMediaStreamFilter_WaitUntil(p,a) (p)->lpVtbl->WaitUntil(p,a)
711 #define IMediaStreamFilter_Flush(p,a) (p)->lpVtbl->Flush(p,a)
712 #define IMediaStreamFilter_EndOfStream(p) (p)->lpVtbl->EndOfStream(p)
717 #define IMediaStreamFilter_METHODS \
718 /*** IUnknown methods ***/ \
719 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
720 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
721 STDMETHOD_(ULONG,Release)(THIS) PURE; \
722 /*** IPersist methods ***/ \
723 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
724 /*** IMediaFilter methods ***/ \
725 STDMETHOD_(HRESULT,Stop)(THIS) PURE; \
726 STDMETHOD_(HRESULT,Pause)(THIS) PURE; \
727 STDMETHOD_(HRESULT,Run)(THIS_ REFERENCE_TIME tStart) PURE; \
728 STDMETHOD_(HRESULT,GetState)(THIS_ DWORD dwMilliSecsTimeout, FILTER_STATE* State) PURE; \
729 STDMETHOD_(HRESULT,SetSyncSource)(THIS_ IReferenceClock* pClock) PURE; \
730 STDMETHOD_(HRESULT,GetSyncSource)(THIS_ IReferenceClock** pClock) PURE; \
731 /*** IBaseFilter methods ***/ \
732 STDMETHOD_(HRESULT,EnumPins)(THIS_ IEnumPins** ppEnum) PURE; \
733 STDMETHOD_(HRESULT,FindPin)(THIS_ LPCWSTR Id, IPin** ppPin) PURE; \
734 STDMETHOD_(HRESULT,QueryFilterInfo)(THIS_ FILTER_INFO* pInfo) PURE; \
735 STDMETHOD_(HRESULT,JoinFilterGraph)(THIS_ IFilterGraph* pGraph, LPCWSTR pName) PURE; \
736 STDMETHOD_(HRESULT,QueryVendorInfo)(THIS_ LPWSTR* pVendorInfo) PURE; \
737 /*** IMediaStreamFilter methods ***/ \
738 STDMETHOD_(HRESULT,AddMediaStream)(THIS_ IAMMediaStream* pAMMediaStream) PURE; \
739 STDMETHOD_(HRESULT,GetMediaStream)(THIS_ REFMSPID idPurpose, IMediaStream** ppMediaStream) PURE; \
740 STDMETHOD_(HRESULT,EnumMediaStreams)(THIS_ long Index, IMediaStream** ppMediaStream) PURE; \
741 STDMETHOD_(HRESULT,SupportSeeking)(THIS_ BOOL bRenderer) PURE; \
742 STDMETHOD_(HRESULT,ReferenceTimeToStreamTime)(THIS_ REFERENCE_TIME* pTime) PURE; \
743 STDMETHOD_(HRESULT,GetCurrentStreamTime)(THIS_ REFERENCE_TIME* pCurrentStreamTime) PURE; \
744 STDMETHOD_(HRESULT,WaitUntil)(THIS_ REFERENCE_TIME WaitStreamTime) PURE; \
745 STDMETHOD_(HRESULT,Flush)(THIS_ BOOL bCancelEOS) PURE; \
746 STDMETHOD_(HRESULT,EndOfStream)(THIS) PURE;
748 HRESULT CALLBACK
IMediaStreamFilter_AddMediaStream_Proxy(
749 IMediaStreamFilter
* This
,
750 IAMMediaStream
* pAMMediaStream
);
751 void __RPC_STUB
IMediaStreamFilter_AddMediaStream_Stub(
752 struct IRpcStubBuffer
* This
,
753 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
754 PRPC_MESSAGE pRpcMessage
,
755 DWORD
* pdwStubPhase
);
756 HRESULT CALLBACK
IMediaStreamFilter_GetMediaStream_Proxy(
757 IMediaStreamFilter
* This
,
759 IMediaStream
** ppMediaStream
);
760 void __RPC_STUB
IMediaStreamFilter_GetMediaStream_Stub(
761 struct IRpcStubBuffer
* This
,
762 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
763 PRPC_MESSAGE pRpcMessage
,
764 DWORD
* pdwStubPhase
);
765 HRESULT CALLBACK
IMediaStreamFilter_EnumMediaStreams_Proxy(
766 IMediaStreamFilter
* This
,
768 IMediaStream
** ppMediaStream
);
769 void __RPC_STUB
IMediaStreamFilter_EnumMediaStreams_Stub(
770 struct IRpcStubBuffer
* This
,
771 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
772 PRPC_MESSAGE pRpcMessage
,
773 DWORD
* pdwStubPhase
);
774 HRESULT CALLBACK
IMediaStreamFilter_SupportSeeking_Proxy(
775 IMediaStreamFilter
* This
,
777 void __RPC_STUB
IMediaStreamFilter_SupportSeeking_Stub(
778 struct IRpcStubBuffer
* This
,
779 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
780 PRPC_MESSAGE pRpcMessage
,
781 DWORD
* pdwStubPhase
);
782 HRESULT CALLBACK
IMediaStreamFilter_ReferenceTimeToStreamTime_Proxy(
783 IMediaStreamFilter
* This
,
784 REFERENCE_TIME
* pTime
);
785 void __RPC_STUB
IMediaStreamFilter_ReferenceTimeToStreamTime_Stub(
786 struct IRpcStubBuffer
* This
,
787 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
788 PRPC_MESSAGE pRpcMessage
,
789 DWORD
* pdwStubPhase
);
790 HRESULT CALLBACK
IMediaStreamFilter_GetCurrentStreamTime_Proxy(
791 IMediaStreamFilter
* This
,
792 REFERENCE_TIME
* pCurrentStreamTime
);
793 void __RPC_STUB
IMediaStreamFilter_GetCurrentStreamTime_Stub(
794 struct IRpcStubBuffer
* This
,
795 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
796 PRPC_MESSAGE pRpcMessage
,
797 DWORD
* pdwStubPhase
);
798 HRESULT CALLBACK
IMediaStreamFilter_WaitUntil_Proxy(
799 IMediaStreamFilter
* This
,
800 REFERENCE_TIME WaitStreamTime
);
801 void __RPC_STUB
IMediaStreamFilter_WaitUntil_Stub(
802 struct IRpcStubBuffer
* This
,
803 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
804 PRPC_MESSAGE pRpcMessage
,
805 DWORD
* pdwStubPhase
);
806 HRESULT CALLBACK
IMediaStreamFilter_Flush_Proxy(
807 IMediaStreamFilter
* This
,
809 void __RPC_STUB
IMediaStreamFilter_Flush_Stub(
810 struct IRpcStubBuffer
* This
,
811 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
812 PRPC_MESSAGE pRpcMessage
,
813 DWORD
* pdwStubPhase
);
814 HRESULT CALLBACK
IMediaStreamFilter_EndOfStream_Proxy(
815 IMediaStreamFilter
* This
);
816 void __RPC_STUB
IMediaStreamFilter_EndOfStream_Stub(
817 struct IRpcStubBuffer
* This
,
818 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
819 PRPC_MESSAGE pRpcMessage
,
820 DWORD
* pdwStubPhase
);
822 #endif /* __IMediaStreamFilter_INTERFACE_DEFINED__ */
824 #ifndef __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
825 #define __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
826 typedef struct IDirectDrawMediaSampleAllocator IDirectDrawMediaSampleAllocator
;
829 /*****************************************************************************
830 * IDirectDrawMediaSampleAllocator interface
832 #ifndef __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__
833 #define __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__
835 DEFINE_GUID(IID_IDirectDrawMediaSampleAllocator
, 0xab6b4afc, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
836 #if defined(__cplusplus) && !defined(CINTERFACE)
837 struct IDirectDrawMediaSampleAllocator
: public IUnknown
839 virtual HRESULT STDMETHODCALLTYPE
GetDirectDraw(
840 IDirectDraw
** ppDirectDraw
) = 0;
844 typedef struct IDirectDrawMediaSampleAllocatorVtbl IDirectDrawMediaSampleAllocatorVtbl
;
845 struct IDirectDrawMediaSampleAllocator
{
846 const IDirectDrawMediaSampleAllocatorVtbl
* lpVtbl
;
848 struct IDirectDrawMediaSampleAllocatorVtbl
{
851 /*** IUnknown methods ***/
852 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
853 IDirectDrawMediaSampleAllocator
* This
,
857 ULONG (STDMETHODCALLTYPE
*AddRef
)(
858 IDirectDrawMediaSampleAllocator
* This
);
860 ULONG (STDMETHODCALLTYPE
*Release
)(
861 IDirectDrawMediaSampleAllocator
* This
);
863 /*** IDirectDrawMediaSampleAllocator methods ***/
864 HRESULT (STDMETHODCALLTYPE
*GetDirectDraw
)(
865 IDirectDrawMediaSampleAllocator
* This
,
866 IDirectDraw
** ppDirectDraw
);
872 /*** IUnknown methods ***/
873 #define IDirectDrawMediaSampleAllocator_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
874 #define IDirectDrawMediaSampleAllocator_AddRef(p) (p)->lpVtbl->AddRef(p)
875 #define IDirectDrawMediaSampleAllocator_Release(p) (p)->lpVtbl->Release(p)
876 /*** IDirectDrawMediaSampleAllocator methods ***/
877 #define IDirectDrawMediaSampleAllocator_GetDirectDraw(p,a) (p)->lpVtbl->GetDirectDraw(p,a)
882 #define IDirectDrawMediaSampleAllocator_METHODS \
883 /*** IUnknown methods ***/ \
884 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
885 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
886 STDMETHOD_(ULONG,Release)(THIS) PURE; \
887 /*** IDirectDrawMediaSampleAllocator methods ***/ \
888 STDMETHOD_(HRESULT,GetDirectDraw)(THIS_ IDirectDraw** ppDirectDraw) PURE;
890 HRESULT CALLBACK
IDirectDrawMediaSampleAllocator_GetDirectDraw_Proxy(
891 IDirectDrawMediaSampleAllocator
* This
,
892 IDirectDraw
** ppDirectDraw
);
893 void __RPC_STUB
IDirectDrawMediaSampleAllocator_GetDirectDraw_Stub(
894 struct IRpcStubBuffer
* This
,
895 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
896 PRPC_MESSAGE pRpcMessage
,
897 DWORD
* pdwStubPhase
);
899 #endif /* __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ */
901 #ifndef __IDirectDrawMediaSample_FWD_DEFINED__
902 #define __IDirectDrawMediaSample_FWD_DEFINED__
903 typedef struct IDirectDrawMediaSample IDirectDrawMediaSample
;
906 /*****************************************************************************
907 * IDirectDrawMediaSample interface
909 #ifndef __IDirectDrawMediaSample_INTERFACE_DEFINED__
910 #define __IDirectDrawMediaSample_INTERFACE_DEFINED__
912 DEFINE_GUID(IID_IDirectDrawMediaSample
, 0xab6b4afe, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
913 #if defined(__cplusplus) && !defined(CINTERFACE)
914 struct IDirectDrawMediaSample
: public IUnknown
916 virtual HRESULT STDMETHODCALLTYPE
GetSurfaceAndReleaseLock(
917 IDirectDrawSurface
** ppDirectDrawSurface
,
920 virtual HRESULT STDMETHODCALLTYPE
LockMediaSamplePointer(
925 typedef struct IDirectDrawMediaSampleVtbl IDirectDrawMediaSampleVtbl
;
926 struct IDirectDrawMediaSample
{
927 const IDirectDrawMediaSampleVtbl
* lpVtbl
;
929 struct IDirectDrawMediaSampleVtbl
{
932 /*** IUnknown methods ***/
933 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
934 IDirectDrawMediaSample
* This
,
938 ULONG (STDMETHODCALLTYPE
*AddRef
)(
939 IDirectDrawMediaSample
* This
);
941 ULONG (STDMETHODCALLTYPE
*Release
)(
942 IDirectDrawMediaSample
* This
);
944 /*** IDirectDrawMediaSample methods ***/
945 HRESULT (STDMETHODCALLTYPE
*GetSurfaceAndReleaseLock
)(
946 IDirectDrawMediaSample
* This
,
947 IDirectDrawSurface
** ppDirectDrawSurface
,
950 HRESULT (STDMETHODCALLTYPE
*LockMediaSamplePointer
)(
951 IDirectDrawMediaSample
* This
);
957 /*** IUnknown methods ***/
958 #define IDirectDrawMediaSample_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
959 #define IDirectDrawMediaSample_AddRef(p) (p)->lpVtbl->AddRef(p)
960 #define IDirectDrawMediaSample_Release(p) (p)->lpVtbl->Release(p)
961 /*** IDirectDrawMediaSample methods ***/
962 #define IDirectDrawMediaSample_GetSurfaceAndReleaseLock(p,a,b) (p)->lpVtbl->GetSurfaceAndReleaseLock(p,a,b)
963 #define IDirectDrawMediaSample_LockMediaSamplePointer(p) (p)->lpVtbl->LockMediaSamplePointer(p)
968 #define IDirectDrawMediaSample_METHODS \
969 /*** IUnknown methods ***/ \
970 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
971 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
972 STDMETHOD_(ULONG,Release)(THIS) PURE; \
973 /*** IDirectDrawMediaSample methods ***/ \
974 STDMETHOD_(HRESULT,GetSurfaceAndReleaseLock)(THIS_ IDirectDrawSurface** ppDirectDrawSurface, RECT* pRect) PURE; \
975 STDMETHOD_(HRESULT,LockMediaSamplePointer)(THIS) PURE;
977 HRESULT CALLBACK
IDirectDrawMediaSample_GetSurfaceAndReleaseLock_Proxy(
978 IDirectDrawMediaSample
* This
,
979 IDirectDrawSurface
** ppDirectDrawSurface
,
981 void __RPC_STUB
IDirectDrawMediaSample_GetSurfaceAndReleaseLock_Stub(
982 struct IRpcStubBuffer
* This
,
983 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
984 PRPC_MESSAGE pRpcMessage
,
985 DWORD
* pdwStubPhase
);
986 HRESULT CALLBACK
IDirectDrawMediaSample_LockMediaSamplePointer_Proxy(
987 IDirectDrawMediaSample
* This
);
988 void __RPC_STUB
IDirectDrawMediaSample_LockMediaSamplePointer_Stub(
989 struct IRpcStubBuffer
* This
,
990 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
991 PRPC_MESSAGE pRpcMessage
,
992 DWORD
* pdwStubPhase
);
994 #endif /* __IDirectDrawMediaSample_INTERFACE_DEFINED__ */
996 /*****************************************************************************
997 * IAMMediaTypeStream interface
999 #ifndef __IAMMediaTypeStream_INTERFACE_DEFINED__
1000 #define __IAMMediaTypeStream_INTERFACE_DEFINED__
1002 DEFINE_GUID(IID_IAMMediaTypeStream
, 0xab6b4afa, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
1003 #if defined(__cplusplus) && !defined(CINTERFACE)
1004 struct IAMMediaTypeStream
: public IMediaStream
1006 virtual HRESULT STDMETHODCALLTYPE
GetFormat(
1007 AM_MEDIA_TYPE
* pMediaType
,
1010 virtual HRESULT STDMETHODCALLTYPE
SetFormat(
1011 AM_MEDIA_TYPE
* pMediaType
,
1014 virtual HRESULT STDMETHODCALLTYPE
CreateSample(
1018 IUnknown
* pUnkOuter
,
1019 IAMMediaTypeSample
** ppAMMediaTypeSample
) = 0;
1021 virtual HRESULT STDMETHODCALLTYPE
GetStreamAllocatorRequirements(
1022 ALLOCATOR_PROPERTIES
* pProps
) = 0;
1024 virtual HRESULT STDMETHODCALLTYPE
SetStreamAllocatorRequirements(
1025 ALLOCATOR_PROPERTIES
* pProps
) = 0;
1029 typedef struct IAMMediaTypeStreamVtbl IAMMediaTypeStreamVtbl
;
1030 struct IAMMediaTypeStream
{
1031 const IAMMediaTypeStreamVtbl
* lpVtbl
;
1033 struct IAMMediaTypeStreamVtbl
{
1036 /*** IUnknown methods ***/
1037 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1038 IAMMediaTypeStream
* This
,
1042 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1043 IAMMediaTypeStream
* This
);
1045 ULONG (STDMETHODCALLTYPE
*Release
)(
1046 IAMMediaTypeStream
* This
);
1048 /*** IMediaStream methods ***/
1049 HRESULT (STDMETHODCALLTYPE
*GetMultiMediaStream
)(
1050 IAMMediaTypeStream
* This
,
1051 IMultiMediaStream
** ppMultiMediaStream
);
1053 HRESULT (STDMETHODCALLTYPE
*GetInformation
)(
1054 IAMMediaTypeStream
* This
,
1056 STREAM_TYPE
* pType
);
1058 HRESULT (STDMETHODCALLTYPE
*SetSameFormat
)(
1059 IAMMediaTypeStream
* This
,
1060 IMediaStream
* pStreamThatHasDesiredFormat
,
1063 HRESULT (STDMETHODCALLTYPE
*AllocateSample
)(
1064 IAMMediaTypeStream
* This
,
1066 IStreamSample
** ppSample
);
1068 HRESULT (STDMETHODCALLTYPE
*CreateSharedSample
)(
1069 IAMMediaTypeStream
* This
,
1070 IStreamSample
* pExistingSample
,
1072 IStreamSample
** ppNewSample
);
1074 HRESULT (STDMETHODCALLTYPE
*SendEndOfStream
)(
1075 IAMMediaTypeStream
* This
,
1078 /*** IAMMediaTypeStream methods ***/
1079 HRESULT (STDMETHODCALLTYPE
*GetFormat
)(
1080 IAMMediaTypeStream
* This
,
1081 AM_MEDIA_TYPE
* pMediaType
,
1084 HRESULT (STDMETHODCALLTYPE
*SetFormat
)(
1085 IAMMediaTypeStream
* This
,
1086 AM_MEDIA_TYPE
* pMediaType
,
1089 HRESULT (STDMETHODCALLTYPE
*CreateSample
)(
1090 IAMMediaTypeStream
* This
,
1094 IUnknown
* pUnkOuter
,
1095 IAMMediaTypeSample
** ppAMMediaTypeSample
);
1097 HRESULT (STDMETHODCALLTYPE
*GetStreamAllocatorRequirements
)(
1098 IAMMediaTypeStream
* This
,
1099 ALLOCATOR_PROPERTIES
* pProps
);
1101 HRESULT (STDMETHODCALLTYPE
*SetStreamAllocatorRequirements
)(
1102 IAMMediaTypeStream
* This
,
1103 ALLOCATOR_PROPERTIES
* pProps
);
1109 /*** IUnknown methods ***/
1110 #define IAMMediaTypeStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1111 #define IAMMediaTypeStream_AddRef(p) (p)->lpVtbl->AddRef(p)
1112 #define IAMMediaTypeStream_Release(p) (p)->lpVtbl->Release(p)
1113 /*** IMediaStream methods ***/
1114 #define IAMMediaTypeStream_GetMultiMediaStream(p,a) (p)->lpVtbl->GetMultiMediaStream(p,a)
1115 #define IAMMediaTypeStream_GetInformation(p,a,b) (p)->lpVtbl->GetInformation(p,a,b)
1116 #define IAMMediaTypeStream_SetSameFormat(p,a,b) (p)->lpVtbl->SetSameFormat(p,a,b)
1117 #define IAMMediaTypeStream_AllocateSample(p,a,b) (p)->lpVtbl->AllocateSample(p,a,b)
1118 #define IAMMediaTypeStream_CreateSharedSample(p,a,b,c) (p)->lpVtbl->CreateSharedSample(p,a,b,c)
1119 #define IAMMediaTypeStream_SendEndOfStream(p,a) (p)->lpVtbl->SendEndOfStream(p,a)
1120 /*** IAMMediaTypeStream methods ***/
1121 #define IAMMediaTypeStream_GetFormat(p,a,b) (p)->lpVtbl->GetFormat(p,a,b)
1122 #define IAMMediaTypeStream_SetFormat(p,a,b) (p)->lpVtbl->SetFormat(p,a,b)
1123 #define IAMMediaTypeStream_CreateSample(p,a,b,c,d,e) (p)->lpVtbl->CreateSample(p,a,b,c,d,e)
1124 #define IAMMediaTypeStream_GetStreamAllocatorRequirements(p,a) (p)->lpVtbl->GetStreamAllocatorRequirements(p,a)
1125 #define IAMMediaTypeStream_SetStreamAllocatorRequirements(p,a) (p)->lpVtbl->SetStreamAllocatorRequirements(p,a)
1130 #define IAMMediaTypeStream_METHODS \
1131 /*** IUnknown methods ***/ \
1132 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1133 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1134 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1135 /*** IMediaStream methods ***/ \
1136 STDMETHOD_(HRESULT,GetMultiMediaStream)(THIS_ IMultiMediaStream** ppMultiMediaStream) PURE; \
1137 STDMETHOD_(HRESULT,GetInformation)(THIS_ MSPID* pPurposeId, STREAM_TYPE* pType) PURE; \
1138 STDMETHOD_(HRESULT,SetSameFormat)(THIS_ IMediaStream* pStreamThatHasDesiredFormat, DWORD dwFlags) PURE; \
1139 STDMETHOD_(HRESULT,AllocateSample)(THIS_ DWORD dwFlags, IStreamSample** ppSample) PURE; \
1140 STDMETHOD_(HRESULT,CreateSharedSample)(THIS_ IStreamSample* pExistingSample, DWORD dwFlags, IStreamSample** ppNewSample) PURE; \
1141 STDMETHOD_(HRESULT,SendEndOfStream)(THIS_ DWORD dwFlags) PURE; \
1142 /*** IAMMediaTypeStream methods ***/ \
1143 STDMETHOD_(HRESULT,GetFormat)(THIS_ AM_MEDIA_TYPE* pMediaType, DWORD dwFlags) PURE; \
1144 STDMETHOD_(HRESULT,SetFormat)(THIS_ AM_MEDIA_TYPE* pMediaType, DWORD dwFlags) PURE; \
1145 STDMETHOD_(HRESULT,CreateSample)(THIS_ long lSampleSize, BYTE* pbBuffer, DWORD dwFlags, IUnknown* pUnkOuter, IAMMediaTypeSample** ppAMMediaTypeSample) PURE; \
1146 STDMETHOD_(HRESULT,GetStreamAllocatorRequirements)(THIS_ ALLOCATOR_PROPERTIES* pProps) PURE; \
1147 STDMETHOD_(HRESULT,SetStreamAllocatorRequirements)(THIS_ ALLOCATOR_PROPERTIES* pProps) PURE;
1149 HRESULT CALLBACK
IAMMediaTypeStream_GetFormat_Proxy(
1150 IAMMediaTypeStream
* This
,
1151 AM_MEDIA_TYPE
* pMediaType
,
1153 void __RPC_STUB
IAMMediaTypeStream_GetFormat_Stub(
1154 struct IRpcStubBuffer
* This
,
1155 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1156 PRPC_MESSAGE pRpcMessage
,
1157 DWORD
* pdwStubPhase
);
1158 HRESULT CALLBACK
IAMMediaTypeStream_SetFormat_Proxy(
1159 IAMMediaTypeStream
* This
,
1160 AM_MEDIA_TYPE
* pMediaType
,
1162 void __RPC_STUB
IAMMediaTypeStream_SetFormat_Stub(
1163 struct IRpcStubBuffer
* This
,
1164 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1165 PRPC_MESSAGE pRpcMessage
,
1166 DWORD
* pdwStubPhase
);
1167 HRESULT CALLBACK
IAMMediaTypeStream_CreateSample_Proxy(
1168 IAMMediaTypeStream
* This
,
1172 IUnknown
* pUnkOuter
,
1173 IAMMediaTypeSample
** ppAMMediaTypeSample
);
1174 void __RPC_STUB
IAMMediaTypeStream_CreateSample_Stub(
1175 struct IRpcStubBuffer
* This
,
1176 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1177 PRPC_MESSAGE pRpcMessage
,
1178 DWORD
* pdwStubPhase
);
1179 HRESULT CALLBACK
IAMMediaTypeStream_GetStreamAllocatorRequirements_Proxy(
1180 IAMMediaTypeStream
* This
,
1181 ALLOCATOR_PROPERTIES
* pProps
);
1182 void __RPC_STUB
IAMMediaTypeStream_GetStreamAllocatorRequirements_Stub(
1183 struct IRpcStubBuffer
* This
,
1184 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1185 PRPC_MESSAGE pRpcMessage
,
1186 DWORD
* pdwStubPhase
);
1187 HRESULT CALLBACK
IAMMediaTypeStream_SetStreamAllocatorRequirements_Proxy(
1188 IAMMediaTypeStream
* This
,
1189 ALLOCATOR_PROPERTIES
* pProps
);
1190 void __RPC_STUB
IAMMediaTypeStream_SetStreamAllocatorRequirements_Stub(
1191 struct IRpcStubBuffer
* This
,
1192 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1193 PRPC_MESSAGE pRpcMessage
,
1194 DWORD
* pdwStubPhase
);
1196 #endif /* __IAMMediaTypeStream_INTERFACE_DEFINED__ */
1198 /*****************************************************************************
1199 * IAMMediaTypeSample interface
1201 #ifndef __IAMMediaTypeSample_INTERFACE_DEFINED__
1202 #define __IAMMediaTypeSample_INTERFACE_DEFINED__
1204 DEFINE_GUID(IID_IAMMediaTypeSample
, 0xab6b4afb, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
1205 #if defined(__cplusplus) && !defined(CINTERFACE)
1206 struct IAMMediaTypeSample
: public IStreamSample
1208 virtual HRESULT STDMETHODCALLTYPE
SetPointer(
1212 virtual HRESULT STDMETHODCALLTYPE
GetPointer(
1213 BYTE
** ppBuffer
) = 0;
1215 virtual long STDMETHODCALLTYPE
GetSize(
1218 virtual HRESULT STDMETHODCALLTYPE
GetTime(
1219 REFERENCE_TIME
* pTimeStart
,
1220 REFERENCE_TIME
* pTimeEnd
) = 0;
1222 virtual HRESULT STDMETHODCALLTYPE
SetTime(
1223 REFERENCE_TIME
* pTimeStart
,
1224 REFERENCE_TIME
* pTimeEnd
) = 0;
1226 virtual HRESULT STDMETHODCALLTYPE
IsSyncPoint(
1229 virtual HRESULT STDMETHODCALLTYPE
SetSyncPoint(
1230 BOOL bIsSyncPoint
) = 0;
1232 virtual HRESULT STDMETHODCALLTYPE
IsPreroll(
1235 virtual HRESULT STDMETHODCALLTYPE
SetPreroll(
1236 BOOL bIsPreroll
) = 0;
1238 virtual long STDMETHODCALLTYPE
GetActualDataLength(
1241 virtual HRESULT STDMETHODCALLTYPE
SetActualDataLength(
1244 virtual HRESULT STDMETHODCALLTYPE
GetMediaType(
1245 AM_MEDIA_TYPE
** ppMediaType
) = 0;
1247 virtual HRESULT STDMETHODCALLTYPE
SetMediaType(
1248 AM_MEDIA_TYPE
* pMediaType
) = 0;
1250 virtual HRESULT STDMETHODCALLTYPE
IsDiscontinuity(
1253 virtual HRESULT STDMETHODCALLTYPE
SetDiscontinuity(
1254 BOOL bDiscontinuity
) = 0;
1256 virtual HRESULT STDMETHODCALLTYPE
GetMediaTime(
1257 LONGLONG
* pTimeStart
,
1258 LONGLONG
* pTimeEnd
) = 0;
1260 virtual HRESULT STDMETHODCALLTYPE
SetMediaTime(
1261 LONGLONG
* pTimeStart
,
1262 LONGLONG
* pTimeEnd
) = 0;
1266 typedef struct IAMMediaTypeSampleVtbl IAMMediaTypeSampleVtbl
;
1267 struct IAMMediaTypeSample
{
1268 const IAMMediaTypeSampleVtbl
* lpVtbl
;
1270 struct IAMMediaTypeSampleVtbl
{
1273 /*** IUnknown methods ***/
1274 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1275 IAMMediaTypeSample
* This
,
1279 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1280 IAMMediaTypeSample
* This
);
1282 ULONG (STDMETHODCALLTYPE
*Release
)(
1283 IAMMediaTypeSample
* This
);
1285 /*** IStreamSample methods ***/
1286 HRESULT (STDMETHODCALLTYPE
*GetMediaStream
)(
1287 IAMMediaTypeSample
* This
,
1288 IMediaStream
** ppMediaStream
);
1290 HRESULT (STDMETHODCALLTYPE
*GetSampleTimes
)(
1291 IAMMediaTypeSample
* This
,
1292 STREAM_TIME
* pStartTime
,
1293 STREAM_TIME
* pEndTime
,
1294 STREAM_TIME
* pCurrentTime
);
1296 HRESULT (STDMETHODCALLTYPE
*SetSampleTimes
)(
1297 IAMMediaTypeSample
* This
,
1298 const STREAM_TIME
* pStartTime
,
1299 const STREAM_TIME
* pEndTime
);
1301 HRESULT (STDMETHODCALLTYPE
*Update
)(
1302 IAMMediaTypeSample
* This
,
1308 HRESULT (STDMETHODCALLTYPE
*CompletionStatus
)(
1309 IAMMediaTypeSample
* This
,
1311 DWORD dwMilliseconds
);
1313 /*** IAMMediaTypeSample methods ***/
1314 HRESULT (STDMETHODCALLTYPE
*SetPointer
)(
1315 IAMMediaTypeSample
* This
,
1319 HRESULT (STDMETHODCALLTYPE
*GetPointer
)(
1320 IAMMediaTypeSample
* This
,
1323 long (STDMETHODCALLTYPE
*GetSize
)(
1324 IAMMediaTypeSample
* This
);
1326 HRESULT (STDMETHODCALLTYPE
*GetTime
)(
1327 IAMMediaTypeSample
* This
,
1328 REFERENCE_TIME
* pTimeStart
,
1329 REFERENCE_TIME
* pTimeEnd
);
1331 HRESULT (STDMETHODCALLTYPE
*SetTime
)(
1332 IAMMediaTypeSample
* This
,
1333 REFERENCE_TIME
* pTimeStart
,
1334 REFERENCE_TIME
* pTimeEnd
);
1336 HRESULT (STDMETHODCALLTYPE
*IsSyncPoint
)(
1337 IAMMediaTypeSample
* This
);
1339 HRESULT (STDMETHODCALLTYPE
*SetSyncPoint
)(
1340 IAMMediaTypeSample
* This
,
1343 HRESULT (STDMETHODCALLTYPE
*IsPreroll
)(
1344 IAMMediaTypeSample
* This
);
1346 HRESULT (STDMETHODCALLTYPE
*SetPreroll
)(
1347 IAMMediaTypeSample
* This
,
1350 long (STDMETHODCALLTYPE
*GetActualDataLength
)(
1351 IAMMediaTypeSample
* This
);
1353 HRESULT (STDMETHODCALLTYPE
*SetActualDataLength
)(
1354 IAMMediaTypeSample
* This
,
1357 HRESULT (STDMETHODCALLTYPE
*GetMediaType
)(
1358 IAMMediaTypeSample
* This
,
1359 AM_MEDIA_TYPE
** ppMediaType
);
1361 HRESULT (STDMETHODCALLTYPE
*SetMediaType
)(
1362 IAMMediaTypeSample
* This
,
1363 AM_MEDIA_TYPE
* pMediaType
);
1365 HRESULT (STDMETHODCALLTYPE
*IsDiscontinuity
)(
1366 IAMMediaTypeSample
* This
);
1368 HRESULT (STDMETHODCALLTYPE
*SetDiscontinuity
)(
1369 IAMMediaTypeSample
* This
,
1370 BOOL bDiscontinuity
);
1372 HRESULT (STDMETHODCALLTYPE
*GetMediaTime
)(
1373 IAMMediaTypeSample
* This
,
1374 LONGLONG
* pTimeStart
,
1375 LONGLONG
* pTimeEnd
);
1377 HRESULT (STDMETHODCALLTYPE
*SetMediaTime
)(
1378 IAMMediaTypeSample
* This
,
1379 LONGLONG
* pTimeStart
,
1380 LONGLONG
* pTimeEnd
);
1386 /*** IUnknown methods ***/
1387 #define IAMMediaTypeSample_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1388 #define IAMMediaTypeSample_AddRef(p) (p)->lpVtbl->AddRef(p)
1389 #define IAMMediaTypeSample_Release(p) (p)->lpVtbl->Release(p)
1390 /*** IStreamSample methods ***/
1391 #define IAMMediaTypeSample_GetMediaStream(p,a) (p)->lpVtbl->GetMediaStream(p,a)
1392 #define IAMMediaTypeSample_GetSampleTimes(p,a,b,c) (p)->lpVtbl->GetSampleTimes(p,a,b,c)
1393 #define IAMMediaTypeSample_SetSampleTimes(p,a,b) (p)->lpVtbl->SetSampleTimes(p,a,b)
1394 #define IAMMediaTypeSample_Update(p,a,b,c,d) (p)->lpVtbl->Update(p,a,b,c,d)
1395 #define IAMMediaTypeSample_CompletionStatus(p,a,b) (p)->lpVtbl->CompletionStatus(p,a,b)
1396 /*** IAMMediaTypeSample methods ***/
1397 #define IAMMediaTypeSample_SetPointer(p,a,b) (p)->lpVtbl->SetPointer(p,a,b)
1398 #define IAMMediaTypeSample_GetPointer(p,a) (p)->lpVtbl->GetPointer(p,a)
1399 #define IAMMediaTypeSample_GetSize(p) (p)->lpVtbl->GetSize(p)
1400 #define IAMMediaTypeSample_GetTime(p,a,b) (p)->lpVtbl->GetTime(p,a,b)
1401 #define IAMMediaTypeSample_SetTime(p,a,b) (p)->lpVtbl->SetTime(p,a,b)
1402 #define IAMMediaTypeSample_IsSyncPoint(p) (p)->lpVtbl->IsSyncPoint(p)
1403 #define IAMMediaTypeSample_SetSyncPoint(p,a) (p)->lpVtbl->SetSyncPoint(p,a)
1404 #define IAMMediaTypeSample_IsPreroll(p) (p)->lpVtbl->IsPreroll(p)
1405 #define IAMMediaTypeSample_SetPreroll(p,a) (p)->lpVtbl->SetPreroll(p,a)
1406 #define IAMMediaTypeSample_GetActualDataLength(p) (p)->lpVtbl->GetActualDataLength(p)
1407 #define IAMMediaTypeSample_SetActualDataLength(p,a) (p)->lpVtbl->SetActualDataLength(p,a)
1408 #define IAMMediaTypeSample_GetMediaType(p,a) (p)->lpVtbl->GetMediaType(p,a)
1409 #define IAMMediaTypeSample_SetMediaType(p,a) (p)->lpVtbl->SetMediaType(p,a)
1410 #define IAMMediaTypeSample_IsDiscontinuity(p) (p)->lpVtbl->IsDiscontinuity(p)
1411 #define IAMMediaTypeSample_SetDiscontinuity(p,a) (p)->lpVtbl->SetDiscontinuity(p,a)
1412 #define IAMMediaTypeSample_GetMediaTime(p,a,b) (p)->lpVtbl->GetMediaTime(p,a,b)
1413 #define IAMMediaTypeSample_SetMediaTime(p,a,b) (p)->lpVtbl->SetMediaTime(p,a,b)
1418 #define IAMMediaTypeSample_METHODS \
1419 /*** IUnknown methods ***/ \
1420 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1421 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1422 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1423 /*** IStreamSample methods ***/ \
1424 STDMETHOD_(HRESULT,GetMediaStream)(THIS_ IMediaStream** ppMediaStream) PURE; \
1425 STDMETHOD_(HRESULT,GetSampleTimes)(THIS_ STREAM_TIME* pStartTime, STREAM_TIME* pEndTime, STREAM_TIME* pCurrentTime) PURE; \
1426 STDMETHOD_(HRESULT,SetSampleTimes)(THIS_ const STREAM_TIME* pStartTime, const STREAM_TIME* pEndTime) PURE; \
1427 STDMETHOD_(HRESULT,Update)(THIS_ DWORD dwFlags, HANDLE hEvent, PAPCFUNC pfnAPC, DWORD dwAPCData) PURE; \
1428 STDMETHOD_(HRESULT,CompletionStatus)(THIS_ DWORD dwFlags, DWORD dwMilliseconds) PURE; \
1429 /*** IAMMediaTypeSample methods ***/ \
1430 STDMETHOD_(HRESULT,SetPointer)(THIS_ BYTE* pBuffer, long lSize) PURE; \
1431 STDMETHOD_(HRESULT,GetPointer)(THIS_ BYTE** ppBuffer) PURE; \
1432 STDMETHOD_(long,GetSize)(THIS) PURE; \
1433 STDMETHOD_(HRESULT,GetTime)(THIS_ REFERENCE_TIME* pTimeStart, REFERENCE_TIME* pTimeEnd) PURE; \
1434 STDMETHOD_(HRESULT,SetTime)(THIS_ REFERENCE_TIME* pTimeStart, REFERENCE_TIME* pTimeEnd) PURE; \
1435 STDMETHOD_(HRESULT,IsSyncPoint)(THIS) PURE; \
1436 STDMETHOD_(HRESULT,SetSyncPoint)(THIS_ BOOL bIsSyncPoint) PURE; \
1437 STDMETHOD_(HRESULT,IsPreroll)(THIS) PURE; \
1438 STDMETHOD_(HRESULT,SetPreroll)(THIS_ BOOL bIsPreroll) PURE; \
1439 STDMETHOD_(long,GetActualDataLength)(THIS) PURE; \
1440 STDMETHOD_(HRESULT,SetActualDataLength)(THIS_ long Len) PURE; \
1441 STDMETHOD_(HRESULT,GetMediaType)(THIS_ AM_MEDIA_TYPE** ppMediaType) PURE; \
1442 STDMETHOD_(HRESULT,SetMediaType)(THIS_ AM_MEDIA_TYPE* pMediaType) PURE; \
1443 STDMETHOD_(HRESULT,IsDiscontinuity)(THIS) PURE; \
1444 STDMETHOD_(HRESULT,SetDiscontinuity)(THIS_ BOOL bDiscontinuity) PURE; \
1445 STDMETHOD_(HRESULT,GetMediaTime)(THIS_ LONGLONG* pTimeStart, LONGLONG* pTimeEnd) PURE; \
1446 STDMETHOD_(HRESULT,SetMediaTime)(THIS_ LONGLONG* pTimeStart, LONGLONG* pTimeEnd) PURE;
1448 HRESULT CALLBACK
IAMMediaTypeSample_SetPointer_Proxy(
1449 IAMMediaTypeSample
* This
,
1452 void __RPC_STUB
IAMMediaTypeSample_SetPointer_Stub(
1453 struct IRpcStubBuffer
* This
,
1454 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1455 PRPC_MESSAGE pRpcMessage
,
1456 DWORD
* pdwStubPhase
);
1457 HRESULT CALLBACK
IAMMediaTypeSample_GetPointer_Proxy(
1458 IAMMediaTypeSample
* This
,
1460 void __RPC_STUB
IAMMediaTypeSample_GetPointer_Stub(
1461 struct IRpcStubBuffer
* This
,
1462 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1463 PRPC_MESSAGE pRpcMessage
,
1464 DWORD
* pdwStubPhase
);
1465 long CALLBACK
IAMMediaTypeSample_GetSize_Proxy(
1466 IAMMediaTypeSample
* This
);
1467 void __RPC_STUB
IAMMediaTypeSample_GetSize_Stub(
1468 struct IRpcStubBuffer
* This
,
1469 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1470 PRPC_MESSAGE pRpcMessage
,
1471 DWORD
* pdwStubPhase
);
1472 HRESULT CALLBACK
IAMMediaTypeSample_GetTime_Proxy(
1473 IAMMediaTypeSample
* This
,
1474 REFERENCE_TIME
* pTimeStart
,
1475 REFERENCE_TIME
* pTimeEnd
);
1476 void __RPC_STUB
IAMMediaTypeSample_GetTime_Stub(
1477 struct IRpcStubBuffer
* This
,
1478 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1479 PRPC_MESSAGE pRpcMessage
,
1480 DWORD
* pdwStubPhase
);
1481 HRESULT CALLBACK
IAMMediaTypeSample_SetTime_Proxy(
1482 IAMMediaTypeSample
* This
,
1483 REFERENCE_TIME
* pTimeStart
,
1484 REFERENCE_TIME
* pTimeEnd
);
1485 void __RPC_STUB
IAMMediaTypeSample_SetTime_Stub(
1486 struct IRpcStubBuffer
* This
,
1487 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1488 PRPC_MESSAGE pRpcMessage
,
1489 DWORD
* pdwStubPhase
);
1490 HRESULT CALLBACK
IAMMediaTypeSample_IsSyncPoint_Proxy(
1491 IAMMediaTypeSample
* This
);
1492 void __RPC_STUB
IAMMediaTypeSample_IsSyncPoint_Stub(
1493 struct IRpcStubBuffer
* This
,
1494 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1495 PRPC_MESSAGE pRpcMessage
,
1496 DWORD
* pdwStubPhase
);
1497 HRESULT CALLBACK
IAMMediaTypeSample_SetSyncPoint_Proxy(
1498 IAMMediaTypeSample
* This
,
1500 void __RPC_STUB
IAMMediaTypeSample_SetSyncPoint_Stub(
1501 struct IRpcStubBuffer
* This
,
1502 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1503 PRPC_MESSAGE pRpcMessage
,
1504 DWORD
* pdwStubPhase
);
1505 HRESULT CALLBACK
IAMMediaTypeSample_IsPreroll_Proxy(
1506 IAMMediaTypeSample
* This
);
1507 void __RPC_STUB
IAMMediaTypeSample_IsPreroll_Stub(
1508 struct IRpcStubBuffer
* This
,
1509 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1510 PRPC_MESSAGE pRpcMessage
,
1511 DWORD
* pdwStubPhase
);
1512 HRESULT CALLBACK
IAMMediaTypeSample_SetPreroll_Proxy(
1513 IAMMediaTypeSample
* This
,
1515 void __RPC_STUB
IAMMediaTypeSample_SetPreroll_Stub(
1516 struct IRpcStubBuffer
* This
,
1517 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1518 PRPC_MESSAGE pRpcMessage
,
1519 DWORD
* pdwStubPhase
);
1520 long CALLBACK
IAMMediaTypeSample_GetActualDataLength_Proxy(
1521 IAMMediaTypeSample
* This
);
1522 void __RPC_STUB
IAMMediaTypeSample_GetActualDataLength_Stub(
1523 struct IRpcStubBuffer
* This
,
1524 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1525 PRPC_MESSAGE pRpcMessage
,
1526 DWORD
* pdwStubPhase
);
1527 HRESULT CALLBACK
IAMMediaTypeSample_SetActualDataLength_Proxy(
1528 IAMMediaTypeSample
* This
,
1530 void __RPC_STUB
IAMMediaTypeSample_SetActualDataLength_Stub(
1531 struct IRpcStubBuffer
* This
,
1532 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1533 PRPC_MESSAGE pRpcMessage
,
1534 DWORD
* pdwStubPhase
);
1535 HRESULT CALLBACK
IAMMediaTypeSample_GetMediaType_Proxy(
1536 IAMMediaTypeSample
* This
,
1537 AM_MEDIA_TYPE
** ppMediaType
);
1538 void __RPC_STUB
IAMMediaTypeSample_GetMediaType_Stub(
1539 struct IRpcStubBuffer
* This
,
1540 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1541 PRPC_MESSAGE pRpcMessage
,
1542 DWORD
* pdwStubPhase
);
1543 HRESULT CALLBACK
IAMMediaTypeSample_SetMediaType_Proxy(
1544 IAMMediaTypeSample
* This
,
1545 AM_MEDIA_TYPE
* pMediaType
);
1546 void __RPC_STUB
IAMMediaTypeSample_SetMediaType_Stub(
1547 struct IRpcStubBuffer
* This
,
1548 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1549 PRPC_MESSAGE pRpcMessage
,
1550 DWORD
* pdwStubPhase
);
1551 HRESULT CALLBACK
IAMMediaTypeSample_IsDiscontinuity_Proxy(
1552 IAMMediaTypeSample
* This
);
1553 void __RPC_STUB
IAMMediaTypeSample_IsDiscontinuity_Stub(
1554 struct IRpcStubBuffer
* This
,
1555 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1556 PRPC_MESSAGE pRpcMessage
,
1557 DWORD
* pdwStubPhase
);
1558 HRESULT CALLBACK
IAMMediaTypeSample_SetDiscontinuity_Proxy(
1559 IAMMediaTypeSample
* This
,
1560 BOOL bDiscontinuity
);
1561 void __RPC_STUB
IAMMediaTypeSample_SetDiscontinuity_Stub(
1562 struct IRpcStubBuffer
* This
,
1563 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1564 PRPC_MESSAGE pRpcMessage
,
1565 DWORD
* pdwStubPhase
);
1566 HRESULT CALLBACK
IAMMediaTypeSample_GetMediaTime_Proxy(
1567 IAMMediaTypeSample
* This
,
1568 LONGLONG
* pTimeStart
,
1569 LONGLONG
* pTimeEnd
);
1570 void __RPC_STUB
IAMMediaTypeSample_GetMediaTime_Stub(
1571 struct IRpcStubBuffer
* This
,
1572 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1573 PRPC_MESSAGE pRpcMessage
,
1574 DWORD
* pdwStubPhase
);
1575 HRESULT CALLBACK
IAMMediaTypeSample_SetMediaTime_Proxy(
1576 IAMMediaTypeSample
* This
,
1577 LONGLONG
* pTimeStart
,
1578 LONGLONG
* pTimeEnd
);
1579 void __RPC_STUB
IAMMediaTypeSample_SetMediaTime_Stub(
1580 struct IRpcStubBuffer
* This
,
1581 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1582 PRPC_MESSAGE pRpcMessage
,
1583 DWORD
* pdwStubPhase
);
1585 #endif /* __IAMMediaTypeSample_INTERFACE_DEFINED__ */
1587 DEFINE_GUID(CLSID_AMMultiMediaStream
, 0x49c47ce5, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
1588 DEFINE_GUID(CLSID_AMDirectDrawStream
, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
1589 DEFINE_GUID(CLSID_AMAudioStream
, 0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
1590 DEFINE_GUID(CLSID_AMAudioData
, 0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
1591 DEFINE_GUID(CLSID_AMMediaTypeStream
, 0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0x0d, 0x00, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);
1595 #endif /* __WIDL_AMSTREAM_H */