118 lines
3.4 KiB
Plaintext
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;
|
||
|
};
|
||
|
};
|