Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

117 lines
3.4 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // File: WiaVideo.idl
  4. //
  5. // Description: Describes the interface to the WiaVideo object enabling
  6. // WIA, and other apps to capture still images from a video
  7. // stream.
  8. //
  9. // Copyright (c) 2000 Microsoft Corp.
  10. //
  11. //////////////////////////////////////////////////////////////////////////////
  12. import "oaidl.idl";
  13. import "ocidl.idl";
  14. ///////////////////////////////
  15. // WIAVIDEO_STATE
  16. //
  17. // List of states WiaVideo can
  18. // be in. Retrieved via
  19. // GetCurrentState function.
  20. //
  21. typedef enum
  22. {
  23. WIAVIDEO_NO_VIDEO = 1,
  24. WIAVIDEO_CREATING_VIDEO = 2,
  25. WIAVIDEO_VIDEO_CREATED = 3,
  26. WIAVIDEO_VIDEO_PLAYING = 4,
  27. WIAVIDEO_VIDEO_PAUSED = 5,
  28. WIAVIDEO_DESTROYING_VIDEO = 6
  29. } WIAVIDEO_STATE;
  30. [
  31. object,
  32. uuid(D52920AA-DB88-41F0-946C-E00DC0A19CFA),
  33. helpstring("IWiaVideo Interface"),
  34. pointer_default(unique)
  35. ]
  36. interface IWiaVideo : IUnknown
  37. {
  38. //
  39. // Properties
  40. //
  41. [propget, id(1), helpstring("property PreviewVisible")]
  42. HRESULT PreviewVisible([out, retval] BOOL *pbPreviewVisible);
  43. [propput, id(1), helpstring("property PreviewVisible")]
  44. HRESULT PreviewVisible([in] BOOL bPreviewVisible);
  45. [propget, id(2), helpstring("property ImageDirectory")]
  46. HRESULT ImagesDirectory([out, retval] BSTR *pbstrImageDirectory);
  47. [propput, id(2), helpstring("property ImageDirectory")]
  48. HRESULT ImagesDirectory([in] BSTR bstrImageDirectory);
  49. //
  50. // Methods
  51. //
  52. [id(3), helpstring("method CreateVideoByWiaDevID.")]
  53. HRESULT CreateVideoByWiaDevID([in] BSTR bstrWiaDeviceID,
  54. [in] HWND hwndParent,
  55. [in] BOOL bStretchToFitParent,
  56. [in] BOOL bAutoBeginPlayback);
  57. [id(4), helpstring("method CreateVideoByDevNum")]
  58. HRESULT CreateVideoByDevNum([in] UINT uiDeviceNumber,
  59. [in] HWND hwndParent,
  60. [in] BOOL bStretchToFitParent,
  61. [in] BOOL bAutoBeginPlayback);
  62. [id(5), helpstring("method CreateVideoByName")]
  63. HRESULT CreateVideoByName([in] BSTR bstrFriendlyName,
  64. [in] HWND hwndParent,
  65. [in] BOOL bStretchToFitParent,
  66. [in] BOOL bAutoBeginPlayback);
  67. [id(6), helpstring("method DestroyVideo")]
  68. HRESULT DestroyVideo();
  69. [id(7), helpstring("method Play")]
  70. HRESULT Play();
  71. [id(8), helpstring("method Pause")]
  72. HRESULT Pause();
  73. [id(9), helpstring("method TakePicture")]
  74. HRESULT TakePicture([out] BSTR *pbstrNewImageFilename);
  75. [id(10), helpstring("method ResizeVideo")]
  76. HRESULT ResizeVideo([in] BOOL bStretchToFitParent);
  77. [id(11), helpstring("method GetState")]
  78. HRESULT GetCurrentState([out, retval] WIAVIDEO_STATE *pState);
  79. };
  80. [
  81. uuid(1320AD9E-A50F-4ED0-B1A4-4E45EC25005E),
  82. version(1.0),
  83. helpstring("WiaVideo 1.0 Type Library")
  84. ]
  85. library WIAVIDEOLib
  86. {
  87. importlib("stdole32.tlb");
  88. importlib("stdole2.tlb");
  89. [
  90. uuid(3908C3CD-4478-4536-AF2F-10C25D4EF89A),
  91. helpstring("WiaVideo Class")
  92. ]
  93. coclass WiaVideo
  94. {
  95. [default] interface IWiaVideo;
  96. };
  97. };