DdStream.Idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //------------------------------------------------------------------------------
  2. // File: DDStream.idl
  3. //
  4. // Desc: 
  5. //
  6. // Copyright (c) 1998 - 2000, Microsoft Corporation.  All rights reserved.
  7. //------------------------------------------------------------------------------
  8. import "unknwn.idl";
  9. import "mmstream.idl";
  10. cpp_quote("//")
  11. cpp_quote("// The following declarations within the 'if 0' block are dummy typedefs used to make")
  12. cpp_quote("// the ddstream.idl file build.  The actual definitions are contained in DDRAW.H")
  13. cpp_quote("//")
  14. cpp_quote("#if 0")
  15. typedef void * LPDDSURFACEDESC;
  16. typedef struct tDDSURFACEDESC DDSURFACEDESC;
  17. cpp_quote("#endif")
  18. cpp_quote("#include <ddraw.h>")
  19. enum {
  20. DDSFF_PROGRESSIVERENDER = 0x00000001
  21. };
  22. interface IDirectDraw;
  23. interface IDirectDrawSurface;
  24. interface IDirectDrawPalette;
  25. interface IDirectDrawMediaStream;
  26. interface IDirectDrawStreamSample;
  27. // IDirectDrawMediaStream
  28. [
  29. object,
  30. local,
  31. uuid(F4104FCE-9A70-11d0-8FDE-00C04FD9189D),
  32. pointer_default(unique)
  33. ]
  34. interface IDirectDrawMediaStream : IMediaStream
  35. {
  36. HRESULT GetFormat(
  37. [out]  DDSURFACEDESC *pDDSDCurrent,
  38. [out]  IDirectDrawPalette **ppDirectDrawPalette,
  39. [out]  DDSURFACEDESC *pDDSDDesired,
  40. [out]  DWORD *pdwFlags);
  41. HRESULT SetFormat(
  42. [in] const DDSURFACEDESC *pDDSurfaceDesc,
  43. [in]  IDirectDrawPalette *pDirectDrawPalette);
  44. HRESULT GetDirectDraw(
  45. [out] IDirectDraw **ppDirectDraw);
  46. HRESULT SetDirectDraw(
  47. [in] IDirectDraw *pDirectDraw);
  48. HRESULT CreateSample(
  49. [in]  IDirectDrawSurface *pSurface,
  50. [in]  const RECT *pRect,
  51. [in] DWORD dwFlags,
  52. [out]IDirectDrawStreamSample **ppSample);
  53.         HRESULT GetTimePerFrame(
  54.                 [out] STREAM_TIME *pFrameTime);
  55. };
  56. // IDirectDrawStreamSample
  57. [
  58. object,
  59. local,
  60. uuid(F4104FCF-9A70-11d0-8FDE-00C04FD9189D),
  61. pointer_default(unique)
  62. ]
  63. interface IDirectDrawStreamSample : IStreamSample
  64. {
  65. HRESULT GetSurface(
  66. [out]  IDirectDrawSurface ** ppDirectDrawSurface,
  67. [out]  RECT * pRect);
  68. HRESULT SetRect(
  69. [in] const RECT * pRect);
  70. };