ddstream.h 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  1. /*** Autogenerated by WIDL 7.7 from include/ddstream.idl - Do not edit ***/
  2. #ifdef _WIN32
  3. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  4. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  5. #endif
  6. #include <rpc.h>
  7. #include <rpcndr.h>
  8. #endif
  9. #ifndef COM_NO_WINDOWS_H
  10. #include <windows.h>
  11. #include <ole2.h>
  12. #endif
  13. #ifndef __ddstream_h__
  14. #define __ddstream_h__
  15. /* Forward declarations */
  16. #ifndef __IDirectDrawMediaStream_FWD_DEFINED__
  17. #define __IDirectDrawMediaStream_FWD_DEFINED__
  18. typedef interface IDirectDrawMediaStream IDirectDrawMediaStream;
  19. #ifdef __cplusplus
  20. interface IDirectDrawMediaStream;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __IDirectDrawStreamSample_FWD_DEFINED__
  24. #define __IDirectDrawStreamSample_FWD_DEFINED__
  25. typedef interface IDirectDrawStreamSample IDirectDrawStreamSample;
  26. #ifdef __cplusplus
  27. interface IDirectDrawStreamSample;
  28. #endif /* __cplusplus */
  29. #endif
  30. /* Headers for imported files */
  31. #include <unknwn.h>
  32. #include <mmstream.h>
  33. #ifdef __cplusplus
  34. extern "C" {
  35. #endif
  36. #ifndef __DDRAW_INCLUDED__
  37. typedef void *LPDDSURFACEDESC;
  38. typedef struct tDDSURFACEDESC DDSURFACEDESC;
  39. #ifndef __IDirectDraw_FWD_DEFINED__
  40. #define __IDirectDraw_FWD_DEFINED__
  41. typedef interface IDirectDraw IDirectDraw;
  42. #ifdef __cplusplus
  43. interface IDirectDraw;
  44. #endif /* __cplusplus */
  45. #endif
  46. #ifndef __IDirectDrawSurface_FWD_DEFINED__
  47. #define __IDirectDrawSurface_FWD_DEFINED__
  48. typedef interface IDirectDrawSurface IDirectDrawSurface;
  49. #ifdef __cplusplus
  50. interface IDirectDrawSurface;
  51. #endif /* __cplusplus */
  52. #endif
  53. #ifndef __IDirectDrawPalette_FWD_DEFINED__
  54. #define __IDirectDrawPalette_FWD_DEFINED__
  55. typedef interface IDirectDrawPalette IDirectDrawPalette;
  56. #ifdef __cplusplus
  57. interface IDirectDrawPalette;
  58. #endif /* __cplusplus */
  59. #endif
  60. #endif
  61. #include <ddraw.h>
  62. enum {
  63. DDSFF_PROGRESSIVERENDER = 0x1
  64. };
  65. #ifndef __IDirectDrawMediaStream_FWD_DEFINED__
  66. #define __IDirectDrawMediaStream_FWD_DEFINED__
  67. typedef interface IDirectDrawMediaStream IDirectDrawMediaStream;
  68. #ifdef __cplusplus
  69. interface IDirectDrawMediaStream;
  70. #endif /* __cplusplus */
  71. #endif
  72. #ifndef __IDirectDrawStreamSample_FWD_DEFINED__
  73. #define __IDirectDrawStreamSample_FWD_DEFINED__
  74. typedef interface IDirectDrawStreamSample IDirectDrawStreamSample;
  75. #ifdef __cplusplus
  76. interface IDirectDrawStreamSample;
  77. #endif /* __cplusplus */
  78. #endif
  79. /*****************************************************************************
  80. * IDirectDrawMediaStream interface
  81. */
  82. #ifndef __IDirectDrawMediaStream_INTERFACE_DEFINED__
  83. #define __IDirectDrawMediaStream_INTERFACE_DEFINED__
  84. DEFINE_GUID(IID_IDirectDrawMediaStream, 0xf4104fce, 0x9a70, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
  85. #if defined(__cplusplus) && !defined(CINTERFACE)
  86. MIDL_INTERFACE("f4104fce-9a70-11d0-8fde-00c04fd9189d")
  87. IDirectDrawMediaStream : public IMediaStream
  88. {
  89. virtual HRESULT STDMETHODCALLTYPE GetFormat(
  90. DDSURFACEDESC *pDDSDCurrent,
  91. IDirectDrawPalette **ppDirectDrawPalette,
  92. DDSURFACEDESC *pDDSDDesired,
  93. DWORD *pdwFlags) = 0;
  94. virtual HRESULT STDMETHODCALLTYPE SetFormat(
  95. const DDSURFACEDESC *pDDSurfaceDesc,
  96. IDirectDrawPalette *pDirectDrawPalette) = 0;
  97. virtual HRESULT STDMETHODCALLTYPE GetDirectDraw(
  98. IDirectDraw **ppDirectDraw) = 0;
  99. virtual HRESULT STDMETHODCALLTYPE SetDirectDraw(
  100. IDirectDraw *pDirectDraw) = 0;
  101. virtual HRESULT STDMETHODCALLTYPE CreateSample(
  102. IDirectDrawSurface *pSurface,
  103. const RECT *pRect,
  104. DWORD dwFlags,
  105. IDirectDrawStreamSample **ppSample) = 0;
  106. virtual HRESULT STDMETHODCALLTYPE GetTimePerFrame(
  107. STREAM_TIME *pFrameTime) = 0;
  108. };
  109. #ifdef __CRT_UUID_DECL
  110. __CRT_UUID_DECL(IDirectDrawMediaStream, 0xf4104fce, 0x9a70, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
  111. #endif
  112. #else
  113. typedef struct IDirectDrawMediaStreamVtbl {
  114. BEGIN_INTERFACE
  115. /*** IUnknown methods ***/
  116. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  117. IDirectDrawMediaStream *This,
  118. REFIID riid,
  119. void **ppvObject);
  120. ULONG (STDMETHODCALLTYPE *AddRef)(
  121. IDirectDrawMediaStream *This);
  122. ULONG (STDMETHODCALLTYPE *Release)(
  123. IDirectDrawMediaStream *This);
  124. /*** IMediaStream methods ***/
  125. HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)(
  126. IDirectDrawMediaStream *This,
  127. IMultiMediaStream **ppMultiMediaStream);
  128. HRESULT (STDMETHODCALLTYPE *GetInformation)(
  129. IDirectDrawMediaStream *This,
  130. MSPID *pPurposeId,
  131. STREAM_TYPE *pType);
  132. HRESULT (STDMETHODCALLTYPE *SetSameFormat)(
  133. IDirectDrawMediaStream *This,
  134. IMediaStream *pStreamThatHasDesiredFormat,
  135. DWORD dwFlags);
  136. HRESULT (STDMETHODCALLTYPE *AllocateSample)(
  137. IDirectDrawMediaStream *This,
  138. DWORD dwFlags,
  139. IStreamSample **ppSample);
  140. HRESULT (STDMETHODCALLTYPE *CreateSharedSample)(
  141. IDirectDrawMediaStream *This,
  142. IStreamSample *pExistingSample,
  143. DWORD dwFlags,
  144. IStreamSample **ppNewSample);
  145. HRESULT (STDMETHODCALLTYPE *SendEndOfStream)(
  146. IDirectDrawMediaStream *This,
  147. DWORD dwFlags);
  148. /*** IDirectDrawMediaStream methods ***/
  149. HRESULT (STDMETHODCALLTYPE *GetFormat)(
  150. IDirectDrawMediaStream *This,
  151. DDSURFACEDESC *pDDSDCurrent,
  152. IDirectDrawPalette **ppDirectDrawPalette,
  153. DDSURFACEDESC *pDDSDDesired,
  154. DWORD *pdwFlags);
  155. HRESULT (STDMETHODCALLTYPE *SetFormat)(
  156. IDirectDrawMediaStream *This,
  157. const DDSURFACEDESC *pDDSurfaceDesc,
  158. IDirectDrawPalette *pDirectDrawPalette);
  159. HRESULT (STDMETHODCALLTYPE *GetDirectDraw)(
  160. IDirectDrawMediaStream *This,
  161. IDirectDraw **ppDirectDraw);
  162. HRESULT (STDMETHODCALLTYPE *SetDirectDraw)(
  163. IDirectDrawMediaStream *This,
  164. IDirectDraw *pDirectDraw);
  165. HRESULT (STDMETHODCALLTYPE *CreateSample)(
  166. IDirectDrawMediaStream *This,
  167. IDirectDrawSurface *pSurface,
  168. const RECT *pRect,
  169. DWORD dwFlags,
  170. IDirectDrawStreamSample **ppSample);
  171. HRESULT (STDMETHODCALLTYPE *GetTimePerFrame)(
  172. IDirectDrawMediaStream *This,
  173. STREAM_TIME *pFrameTime);
  174. END_INTERFACE
  175. } IDirectDrawMediaStreamVtbl;
  176. interface IDirectDrawMediaStream {
  177. CONST_VTBL IDirectDrawMediaStreamVtbl* lpVtbl;
  178. };
  179. #ifdef COBJMACROS
  180. #ifndef WIDL_C_INLINE_WRAPPERS
  181. /*** IUnknown methods ***/
  182. #define IDirectDrawMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  183. #define IDirectDrawMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This)
  184. #define IDirectDrawMediaStream_Release(This) (This)->lpVtbl->Release(This)
  185. /*** IMediaStream methods ***/
  186. #define IDirectDrawMediaStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream)
  187. #define IDirectDrawMediaStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType)
  188. #define IDirectDrawMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
  189. #define IDirectDrawMediaStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample)
  190. #define IDirectDrawMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
  191. #define IDirectDrawMediaStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags)
  192. /*** IDirectDrawMediaStream methods ***/
  193. #define IDirectDrawMediaStream_GetFormat(This,pDDSDCurrent,ppDirectDrawPalette,pDDSDDesired,pdwFlags) (This)->lpVtbl->GetFormat(This,pDDSDCurrent,ppDirectDrawPalette,pDDSDDesired,pdwFlags)
  194. #define IDirectDrawMediaStream_SetFormat(This,pDDSurfaceDesc,pDirectDrawPalette) (This)->lpVtbl->SetFormat(This,pDDSurfaceDesc,pDirectDrawPalette)
  195. #define IDirectDrawMediaStream_GetDirectDraw(This,ppDirectDraw) (This)->lpVtbl->GetDirectDraw(This,ppDirectDraw)
  196. #define IDirectDrawMediaStream_SetDirectDraw(This,pDirectDraw) (This)->lpVtbl->SetDirectDraw(This,pDirectDraw)
  197. #define IDirectDrawMediaStream_CreateSample(This,pSurface,pRect,dwFlags,ppSample) (This)->lpVtbl->CreateSample(This,pSurface,pRect,dwFlags,ppSample)
  198. #define IDirectDrawMediaStream_GetTimePerFrame(This,pFrameTime) (This)->lpVtbl->GetTimePerFrame(This,pFrameTime)
  199. #else
  200. /*** IUnknown methods ***/
  201. static FORCEINLINE HRESULT IDirectDrawMediaStream_QueryInterface(IDirectDrawMediaStream* This,REFIID riid,void **ppvObject) {
  202. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  203. }
  204. static FORCEINLINE ULONG IDirectDrawMediaStream_AddRef(IDirectDrawMediaStream* This) {
  205. return This->lpVtbl->AddRef(This);
  206. }
  207. static FORCEINLINE ULONG IDirectDrawMediaStream_Release(IDirectDrawMediaStream* This) {
  208. return This->lpVtbl->Release(This);
  209. }
  210. /*** IMediaStream methods ***/
  211. static FORCEINLINE HRESULT IDirectDrawMediaStream_GetMultiMediaStream(IDirectDrawMediaStream* This,IMultiMediaStream **ppMultiMediaStream) {
  212. return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream);
  213. }
  214. static FORCEINLINE HRESULT IDirectDrawMediaStream_GetInformation(IDirectDrawMediaStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) {
  215. return This->lpVtbl->GetInformation(This,pPurposeId,pType);
  216. }
  217. static FORCEINLINE HRESULT IDirectDrawMediaStream_SetSameFormat(IDirectDrawMediaStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) {
  218. return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags);
  219. }
  220. static FORCEINLINE HRESULT IDirectDrawMediaStream_AllocateSample(IDirectDrawMediaStream* This,DWORD dwFlags,IStreamSample **ppSample) {
  221. return This->lpVtbl->AllocateSample(This,dwFlags,ppSample);
  222. }
  223. static FORCEINLINE HRESULT IDirectDrawMediaStream_CreateSharedSample(IDirectDrawMediaStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) {
  224. return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample);
  225. }
  226. static FORCEINLINE HRESULT IDirectDrawMediaStream_SendEndOfStream(IDirectDrawMediaStream* This,DWORD dwFlags) {
  227. return This->lpVtbl->SendEndOfStream(This,dwFlags);
  228. }
  229. /*** IDirectDrawMediaStream methods ***/
  230. static FORCEINLINE HRESULT IDirectDrawMediaStream_GetFormat(IDirectDrawMediaStream* This,DDSURFACEDESC *pDDSDCurrent,IDirectDrawPalette **ppDirectDrawPalette,DDSURFACEDESC *pDDSDDesired,DWORD *pdwFlags) {
  231. return This->lpVtbl->GetFormat(This,pDDSDCurrent,ppDirectDrawPalette,pDDSDDesired,pdwFlags);
  232. }
  233. static FORCEINLINE HRESULT IDirectDrawMediaStream_SetFormat(IDirectDrawMediaStream* This,const DDSURFACEDESC *pDDSurfaceDesc,IDirectDrawPalette *pDirectDrawPalette) {
  234. return This->lpVtbl->SetFormat(This,pDDSurfaceDesc,pDirectDrawPalette);
  235. }
  236. static FORCEINLINE HRESULT IDirectDrawMediaStream_GetDirectDraw(IDirectDrawMediaStream* This,IDirectDraw **ppDirectDraw) {
  237. return This->lpVtbl->GetDirectDraw(This,ppDirectDraw);
  238. }
  239. static FORCEINLINE HRESULT IDirectDrawMediaStream_SetDirectDraw(IDirectDrawMediaStream* This,IDirectDraw *pDirectDraw) {
  240. return This->lpVtbl->SetDirectDraw(This,pDirectDraw);
  241. }
  242. static FORCEINLINE HRESULT IDirectDrawMediaStream_CreateSample(IDirectDrawMediaStream* This,IDirectDrawSurface *pSurface,const RECT *pRect,DWORD dwFlags,IDirectDrawStreamSample **ppSample) {
  243. return This->lpVtbl->CreateSample(This,pSurface,pRect,dwFlags,ppSample);
  244. }
  245. static FORCEINLINE HRESULT IDirectDrawMediaStream_GetTimePerFrame(IDirectDrawMediaStream* This,STREAM_TIME *pFrameTime) {
  246. return This->lpVtbl->GetTimePerFrame(This,pFrameTime);
  247. }
  248. #endif
  249. #endif
  250. #endif
  251. #endif /* __IDirectDrawMediaStream_INTERFACE_DEFINED__ */
  252. /*****************************************************************************
  253. * IDirectDrawStreamSample interface
  254. */
  255. #ifndef __IDirectDrawStreamSample_INTERFACE_DEFINED__
  256. #define __IDirectDrawStreamSample_INTERFACE_DEFINED__
  257. DEFINE_GUID(IID_IDirectDrawStreamSample, 0xf4104fcf, 0x9a70, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
  258. #if defined(__cplusplus) && !defined(CINTERFACE)
  259. MIDL_INTERFACE("f4104fcf-9a70-11d0-8fde-00c04fd9189d")
  260. IDirectDrawStreamSample : public IStreamSample
  261. {
  262. virtual HRESULT STDMETHODCALLTYPE GetSurface(
  263. IDirectDrawSurface **ppDirectDrawSurface,
  264. RECT *pRect) = 0;
  265. virtual HRESULT STDMETHODCALLTYPE SetRect(
  266. const RECT *pRect) = 0;
  267. };
  268. #ifdef __CRT_UUID_DECL
  269. __CRT_UUID_DECL(IDirectDrawStreamSample, 0xf4104fcf, 0x9a70, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
  270. #endif
  271. #else
  272. typedef struct IDirectDrawStreamSampleVtbl {
  273. BEGIN_INTERFACE
  274. /*** IUnknown methods ***/
  275. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  276. IDirectDrawStreamSample *This,
  277. REFIID riid,
  278. void **ppvObject);
  279. ULONG (STDMETHODCALLTYPE *AddRef)(
  280. IDirectDrawStreamSample *This);
  281. ULONG (STDMETHODCALLTYPE *Release)(
  282. IDirectDrawStreamSample *This);
  283. /*** IStreamSample methods ***/
  284. HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
  285. IDirectDrawStreamSample *This,
  286. IMediaStream **ppMediaStream);
  287. HRESULT (STDMETHODCALLTYPE *GetSampleTimes)(
  288. IDirectDrawStreamSample *This,
  289. STREAM_TIME *pStartTime,
  290. STREAM_TIME *pEndTime,
  291. STREAM_TIME *pCurrentTime);
  292. HRESULT (STDMETHODCALLTYPE *SetSampleTimes)(
  293. IDirectDrawStreamSample *This,
  294. const STREAM_TIME *pStartTime,
  295. const STREAM_TIME *pEndTime);
  296. HRESULT (STDMETHODCALLTYPE *Update)(
  297. IDirectDrawStreamSample *This,
  298. DWORD dwFlags,
  299. HANDLE hEvent,
  300. PAPCFUNC pfnAPC,
  301. DWORD dwAPCData);
  302. HRESULT (STDMETHODCALLTYPE *CompletionStatus)(
  303. IDirectDrawStreamSample *This,
  304. DWORD dwFlags,
  305. DWORD dwMilliseconds);
  306. /*** IDirectDrawStreamSample methods ***/
  307. HRESULT (STDMETHODCALLTYPE *GetSurface)(
  308. IDirectDrawStreamSample *This,
  309. IDirectDrawSurface **ppDirectDrawSurface,
  310. RECT *pRect);
  311. HRESULT (STDMETHODCALLTYPE *SetRect)(
  312. IDirectDrawStreamSample *This,
  313. const RECT *pRect);
  314. END_INTERFACE
  315. } IDirectDrawStreamSampleVtbl;
  316. interface IDirectDrawStreamSample {
  317. CONST_VTBL IDirectDrawStreamSampleVtbl* lpVtbl;
  318. };
  319. #ifdef COBJMACROS
  320. #ifndef WIDL_C_INLINE_WRAPPERS
  321. /*** IUnknown methods ***/
  322. #define IDirectDrawStreamSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  323. #define IDirectDrawStreamSample_AddRef(This) (This)->lpVtbl->AddRef(This)
  324. #define IDirectDrawStreamSample_Release(This) (This)->lpVtbl->Release(This)
  325. /*** IStreamSample methods ***/
  326. #define IDirectDrawStreamSample_GetMediaStream(This,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,ppMediaStream)
  327. #define IDirectDrawStreamSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) (This)->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)
  328. #define IDirectDrawStreamSample_SetSampleTimes(This,pStartTime,pEndTime) (This)->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime)
  329. #define IDirectDrawStreamSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) (This)->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)
  330. #define IDirectDrawStreamSample_CompletionStatus(This,dwFlags,dwMilliseconds) (This)->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds)
  331. /*** IDirectDrawStreamSample methods ***/
  332. #define IDirectDrawStreamSample_GetSurface(This,ppDirectDrawSurface,pRect) (This)->lpVtbl->GetSurface(This,ppDirectDrawSurface,pRect)
  333. #define IDirectDrawStreamSample_SetRect(This,pRect) (This)->lpVtbl->SetRect(This,pRect)
  334. #else
  335. /*** IUnknown methods ***/
  336. static FORCEINLINE HRESULT IDirectDrawStreamSample_QueryInterface(IDirectDrawStreamSample* This,REFIID riid,void **ppvObject) {
  337. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  338. }
  339. static FORCEINLINE ULONG IDirectDrawStreamSample_AddRef(IDirectDrawStreamSample* This) {
  340. return This->lpVtbl->AddRef(This);
  341. }
  342. static FORCEINLINE ULONG IDirectDrawStreamSample_Release(IDirectDrawStreamSample* This) {
  343. return This->lpVtbl->Release(This);
  344. }
  345. /*** IStreamSample methods ***/
  346. static FORCEINLINE HRESULT IDirectDrawStreamSample_GetMediaStream(IDirectDrawStreamSample* This,IMediaStream **ppMediaStream) {
  347. return This->lpVtbl->GetMediaStream(This,ppMediaStream);
  348. }
  349. static FORCEINLINE HRESULT IDirectDrawStreamSample_GetSampleTimes(IDirectDrawStreamSample* This,STREAM_TIME *pStartTime,STREAM_TIME *pEndTime,STREAM_TIME *pCurrentTime) {
  350. return This->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime);
  351. }
  352. static FORCEINLINE HRESULT IDirectDrawStreamSample_SetSampleTimes(IDirectDrawStreamSample* This,const STREAM_TIME *pStartTime,const STREAM_TIME *pEndTime) {
  353. return This->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime);
  354. }
  355. static FORCEINLINE HRESULT IDirectDrawStreamSample_Update(IDirectDrawStreamSample* This,DWORD dwFlags,HANDLE hEvent,PAPCFUNC pfnAPC,DWORD dwAPCData) {
  356. return This->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData);
  357. }
  358. static FORCEINLINE HRESULT IDirectDrawStreamSample_CompletionStatus(IDirectDrawStreamSample* This,DWORD dwFlags,DWORD dwMilliseconds) {
  359. return This->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds);
  360. }
  361. /*** IDirectDrawStreamSample methods ***/
  362. static FORCEINLINE HRESULT IDirectDrawStreamSample_GetSurface(IDirectDrawStreamSample* This,IDirectDrawSurface **ppDirectDrawSurface,RECT *pRect) {
  363. return This->lpVtbl->GetSurface(This,ppDirectDrawSurface,pRect);
  364. }
  365. static FORCEINLINE HRESULT IDirectDrawStreamSample_SetRect(IDirectDrawStreamSample* This,const RECT *pRect) {
  366. return This->lpVtbl->SetRect(This,pRect);
  367. }
  368. #endif
  369. #endif
  370. #endif
  371. #endif /* __IDirectDrawStreamSample_INTERFACE_DEFINED__ */
  372. /* Begin additional prototypes for all interfaces */
  373. /* End additional prototypes */
  374. #ifdef __cplusplus
  375. }
  376. #endif
  377. #endif /* __ddstream_h__ */