windows-nt/Source/XPSP1/NT/printscan/wia/inc/wiavideo.idl
2020-09-26 16:20:57 +08:00

118 lines
3.4 KiB
Plaintext

//////////////////////////////////////////////////////////////////////////////
//
// File: WiaVideo.idl
//
// Description: Describes the interface to the WiaVideo object enabling
// WIA, and other apps to capture still images from a video
// stream.
//
// Copyright (c) 2000 Microsoft Corp.
//
//////////////////////////////////////////////////////////////////////////////
import "oaidl.idl";
import "ocidl.idl";
///////////////////////////////
// WIAVIDEO_STATE
//
// List of states WiaVideo can
// be in. Retrieved via
// GetCurrentState function.
//
typedef enum
{
WIAVIDEO_NO_VIDEO = 1,
WIAVIDEO_CREATING_VIDEO = 2,
WIAVIDEO_VIDEO_CREATED = 3,
WIAVIDEO_VIDEO_PLAYING = 4,
WIAVIDEO_VIDEO_PAUSED = 5,
WIAVIDEO_DESTROYING_VIDEO = 6
} WIAVIDEO_STATE;
[
object,
uuid(D52920AA-DB88-41F0-946C-E00DC0A19CFA),
helpstring("IWiaVideo Interface"),
pointer_default(unique)
]
interface IWiaVideo : IUnknown
{
//
// Properties
//
[propget, id(1), helpstring("property PreviewVisible")]
HRESULT PreviewVisible([out, retval] BOOL *pbPreviewVisible);
[propput, id(1), helpstring("property PreviewVisible")]
HRESULT PreviewVisible([in] BOOL bPreviewVisible);
[propget, id(2), helpstring("property ImageDirectory")]
HRESULT ImagesDirectory([out, retval] BSTR *pbstrImageDirectory);
[propput, id(2), helpstring("property ImageDirectory")]
HRESULT ImagesDirectory([in] BSTR bstrImageDirectory);
//
// Methods
//
[id(3), helpstring("method CreateVideoByWiaDevID.")]
HRESULT CreateVideoByWiaDevID([in] BSTR bstrWiaDeviceID,
[in] HWND hwndParent,
[in] BOOL bStretchToFitParent,
[in] BOOL bAutoBeginPlayback);
[id(4), helpstring("method CreateVideoByDevNum")]
HRESULT CreateVideoByDevNum([in] UINT uiDeviceNumber,
[in] HWND hwndParent,
[in] BOOL bStretchToFitParent,
[in] BOOL bAutoBeginPlayback);
[id(5), helpstring("method CreateVideoByName")]
HRESULT CreateVideoByName([in] BSTR bstrFriendlyName,
[in] HWND hwndParent,
[in] BOOL bStretchToFitParent,
[in] BOOL bAutoBeginPlayback);
[id(6), helpstring("method DestroyVideo")]
HRESULT DestroyVideo();
[id(7), helpstring("method Play")]
HRESULT Play();
[id(8), helpstring("method Pause")]
HRESULT Pause();
[id(9), helpstring("method TakePicture")]
HRESULT TakePicture([out] BSTR *pbstrNewImageFilename);
[id(10), helpstring("method ResizeVideo")]
HRESULT ResizeVideo([in] BOOL bStretchToFitParent);
[id(11), helpstring("method GetState")]
HRESULT GetCurrentState([out, retval] WIAVIDEO_STATE *pState);
};
[
uuid(1320AD9E-A50F-4ED0-B1A4-4E45EC25005E),
version(1.0),
helpstring("WiaVideo 1.0 Type Library")
]
library WIAVIDEOLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
[
uuid(3908C3CD-4478-4536-AF2F-10C25D4EF89A),
helpstring("WiaVideo Class")
]
coclass WiaVideo
{
[default] interface IWiaVideo;
};
};