////////////////////////////////////////////////////////////////////////////// // // 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; }; };