1 #ifndef WINE_DSHOW_SEEKPASS_H
2 #define WINE_DSHOW_SEEKPASS_H
5 implements CLSID_SeekingPassThru.
7 - At least, the following interfaces should be implemented:
17 /****************************************************************************/
19 typedef struct CPassThruImpl
21 struct { ICOM_VFIELD(IMediaPosition
); } mpos
;
22 struct { ICOM_VFIELD(IMediaSeeking
); } mseek
;
28 #define CPassThruImpl_THIS(iface,member) CPassThruImpl* This = ((CPassThruImpl*)(((char*)iface)-offsetof(CPassThruImpl,member)))
30 HRESULT
CPassThruImpl_InitIMediaPosition( CPassThruImpl
* pImpl
);
31 void CPassThruImpl_UninitIMediaPosition( CPassThruImpl
* pImpl
);
32 HRESULT
CPassThruImpl_InitIMediaSeeking( CPassThruImpl
* pImpl
);
33 void CPassThruImpl_UninitIMediaSeeking( CPassThruImpl
* pImpl
);
35 HRESULT
CPassThruImpl_QueryPosPass(
36 CPassThruImpl
* pImpl
, IMediaPosition
** ppPosition
);
37 HRESULT
CPassThruImpl_QuerySeekPass(
38 CPassThruImpl
* pImpl
, IMediaSeeking
** ppSeeking
);
40 /****************************************************************************/
42 typedef struct QUARTZ_ISeekingPassThruImpl
44 ICOM_VFIELD(ISeekingPassThru
);
45 } QUARTZ_ISeekingPassThruImpl
;
47 typedef struct CSeekingPassThru
50 QUARTZ_ISeekingPassThruImpl seekpass
;
52 /* ISeekingPassThru fields. */
54 CPassThruImpl passthru
;
57 #define CSeekingPassThru_THIS(iface,member) CSeekingPassThru* This = ((CSeekingPassThru*)(((char*)iface)-offsetof(CSeekingPassThru,member)))
59 HRESULT
QUARTZ_CreateSeekingPassThru(IUnknown
* punkOuter
,void** ppobj
);
60 HRESULT
QUARTZ_CreateSeekingPassThruInternal(IUnknown
* punkOuter
,CSeekingPassThru
** ppobj
,BOOL bRendering
,IPin
* pPin
);
63 #endif /* WINE_DSHOW_SEEKPASS_H */