WiaScr.Idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:9k
- // wiascr.idl : IDL source for wiascr.dll
- //
- // This file will be processed by the MIDL tool to
- // produce the type library (wiascr.tlb) and marshalling code.
- import "oaidl.idl";
- import "ocidl.idl";
- // generic disp id's
- #define DISPID_GETPROP 1000
- #define DISPID_SETPROP 1001
- // IWia disp id's
- #define DISPID_WIA_DEVICES 1
- #define DISPID_WIA_CREATE 2
- // ICollection disp id's
- #define DISPID_COLLECTION_LENGTH 1
- // IWiaDeviceInfo disp id's
- #define DISPID_DEVINFO_CREATE 1
- #define DISPID_DEVINFO_ID 2
- #define DISPID_DEVINFO_NAME 3
- #define DISPID_DEVINFO_TYPE 4
- #define DISPID_DEVINFO_PORT 5
- #define DISPID_DEVINFO_UI_CLSID 6
- #define DISPID_DEVINFO_VENDOR 7
- // IWiaItem disp id's
- #define DISPID_ITEMD_CONNSTATUS 1
- #define DISPID_ITEMD_TIME 2
- #define DISPID_ITEMD_FIRMWAREVER 3
- #define DISPID_ITEM_NAME 20
- #define DISPID_ITEM_FULL_NAME 21
- #define DISPID_ITEM_TYPE 22
- #define DISPID_ITEM_WIDTH 23
- #define DISPID_ITEM_HEIGHT 24
- #define DISPID_ITEMC_THUMBWIDTH 50
- #define DISPID_ITEMC_THUMBHEIGHT 51
- #define DISPID_ITEMC_THUMBNAIL 52
- #define DISPID_ITEMC_HEIGHT 53
- #define DISPID_ITEMC_WIDTH 54
- #define DISPID_ITEM_CHILDREN 500
-
- [
- uuid(95CEDD63-2E34-4B84-9FB3-F86AF1D4BF7A),
- version(1.0),
- helpstring("nwscript 1.0 Type Library")
- ]
- library NDMEDIALib
- {
- importlib("stdole32.tlb");
- importlib("stdole2.tlb");
- //
- // Sample object class
- //
- [
- object,
- uuid(C7A4EFC9-017E-45AB-BEF0-9A8218BC1D40),
- dual,
- helpstring("ISample Interface"),
- pointer_default(unique)
- ]
- interface ISample : IDispatch
- {
- [propget, id(1), helpstring("Sample property")]
- HRESULT SampleProperty([out, retval] BSTR * pbstrSample);
- [propput, id(1), helpstring("Sample property")]
- HRESULT SampleProperty([in] BSTR bstrSample);
- [id(2), helpstring("Sample method. Does nothing in particular")]
- HRESULT SampleMethod(void);
- };
- // End Sample
- /*-------------------------------------------------------------------------
- * Wia Interfaces and classes
- *------------------------------------------------------------------------*/
- [
- object,
- uuid(C34C8CE7-B253-4f89-AA25-8A24AD71D0C0),
- dual,
- helpstring( "ICollection interface" ),
- pointer_default(unique)
- ]
- interface ICollection : IDispatch
- {
- [propget, helpstring( "Returns the length of the collection" )]
- HRESULT Count( [out,retval] long* pCount );
- [propget, id(DISPID_COLLECTION_LENGTH), helpstring( "Returns the length of the collection" )]
- HRESULT Length( [out, retval] unsigned long* plLength );
-
- [propget, id(DISPID_VALUE), helpstring("returns the specified item in the collection")]
- HRESULT Item( [in] unsigned long lItem, [out, retval] IDispatch** ppDispItem );
- [propget, id(DISPID_NEWENUM), helpstring("returns a copy of this enumerator")]
- HRESULT _NewEnum( [out, retval] IUnknown** ppEnum );
- };
- [
- object,
- uuid(B10BA1BC-3713-4EC0-8EEA-690EBD2CED8A),
- dual,
- helpstring("IWia Interface"),
- pointer_default(unique)
- ]
- interface IWia : IDispatch
- {
- [id(10010), helpstring( "pops up the debugging dialog" )]
- HRESULT _DebugDialog( BOOL fWait );
- [propget, id(DISPID_WIA_DEVICES), helpstring( "Retrieves the device collection" )]
- HRESULT Devices( [out, retval] ICollection** ppCol );
- [id(DISPID_WIA_CREATE), helpstring( "connects to the specified device" )]
- HRESULT Create( [in, unique] VARIANT* pvaConnect, [out,retval] IDispatch** ppDevice );
- };
- // for some reason midl doesn't put the DIID in the header
- // this ensures that it is in the header which makes ATL a lot
- // happier.
- cpp_quote( "EXTERN_C const GUID DIID__IWiaEvents;" )
- [
- uuid(E5F04D72-6C16-42e2-BCCA-F8D0DB4ADE06),
- helpstring("Events fired by the IWia interface")
- ]
- dispinterface _IWiaEvents
- {
- properties:
- methods:
- [id(1), helpstring("handles a device connection" )]
- void OnDeviceConnected( BSTR bstrDeviceId );
- [id(2), helpstring("handles a device disconnection")]
- void OnDeviceDisconnected( BSTR bstrDeviceId );
- [id(3), helpstring("called when a transfer is complete")]
- void OnTransferComplete( IDispatch* pItem, BSTR bstrPath );
- };
- [
- object,
- uuid(5267FF5E-7CAF-4769-865D-17A25968525E),
- dual,
- helpstring("IWiaDeviceInfo Interface"),
- pointer_default(unique)
- ]
- interface IWiaDeviceInfo : IDispatch
- {
- [propget, id(DISPID_DEVINFO_ID), helpstring("The id of the device")]
- HRESULT Id( [out,retval] BSTR* pbstrDeviceId );
- [propget, id(DISPID_DEVINFO_NAME), helpstring("the name of the device" )]
- HRESULT Name( [out,retval] BSTR* pbstrName );
- [propget, id(DISPID_DEVINFO_TYPE), helpstring("the type of the device" )]
- HRESULT Type( [out,retval] BSTR* pbstrType );
- [propget, id(DISPID_DEVINFO_PORT), helpstring("the port the device lives on" )]
- HRESULT Port( [out,retval] BSTR* pbstrPort );
- [propget, id(DISPID_DEVINFO_UI_CLSID), helpstring("the class id for the ui for this device" )]
- HRESULT UIClsid( [out,retval] BSTR* pbstrGuidUI );
- [propget, id(DISPID_DEVINFO_VENDOR), helpstring("the name of the vendor for this device" )]
- HRESULT Manufacturer( [out,retval] BSTR* pbstrVendor );
- [id(DISPID_DEVINFO_CREATE), helpstring("create a connection to this device")]
- HRESULT Create( [out,retval] IDispatch** ppDevice );
- // Universal backdoor for property inspection
- [id(DISPID_GETPROP), helpstring("returns the value of the property with the given id")]
- HRESULT GetPropById( [in] DWORD propid, [out,retval] VARIANT* pvaOut );
- };
- [
- object,
- uuid(D06D503F-4B71-40f3-94A7-66478F732BC9),
- dual,
- helpstring("IWiaDeviceItem interface"),
- pointer_default(unique)
- ]
- interface IWiaDispatchItem : IDispatch
- {
- // Methods ------------------------------------------------------------
- // UI
- [helpstring("shows the data acquisition U.I.")]
- HRESULT GetItemsFromUI([in] DWORD dwFlags, [in] DWORD dwIntent, [out, retval] ICollection** ppCollection);
- // Universal backdoor for property inspection
- [id(DISPID_GETPROP), helpstring("returns the value of the property with the given id")]
- HRESULT GetPropById( [in] DWORD propid, [out,retval] VARIANT* pvaOut );
- // save this item (if its a file out)
- [helpstring( "transfers the item to a file, or clipboard if filename is clipboard" )]
- HRESULT Transfer( [in] BSTR pbstrFilename, BOOL bAsyncTransfer );
- // Properties. (there are lots of them) ------------------------------
- [propget, id(DISPID_ITEM_CHILDREN), helpstring("a collection of this items children")]
- HRESULT Children( [out,retval] ICollection** ppCollection );
- [propget, id(DISPID_ITEM_TYPE), helpstring("a string representing the type of this item")]
- HRESULT ItemType( [out,retval] BSTR* pbstrType );
- // WIA_DPA_xxx
- [propget, id(DISPID_ITEMD_CONNSTATUS), helpstring("the current connection status")]
- HRESULT ConnectStatus( [out,retval] BSTR* pbstrStatus );
- [propget, id(DISPID_ITEMD_TIME), helpstring("the current time on the device RO/RW")]
- HRESULT Time( [out,retval] BSTR* pbstrTime );
- [propget, id(DISPID_ITEMD_FIRMWAREVER), helpstring("the firmware version of the device")]
- HRESULT FirmwareVersion( [out,retval] BSTR* pbstrVersion );
- // WIA_IPA_xxx
- [propget, id(DISPID_ITEM_NAME), helpstring("the name of the item")]
- HRESULT Name( [out,retval] BSTR* pbstrName );
- [propget, id(DISPID_ITEM_FULL_NAME), helpstring("the full name of the item")]
- HRESULT FullName( [out,retval] BSTR* pbstrFullName );
- [propget, id(DISPID_ITEM_WIDTH), helpstring("the width of the item in pixels")]
- HRESULT Width( [out,retval] DWORD* pdwWidth );
- [propget, id(DISPID_ITEM_HEIGHT), helpstring("the height of the item in pixels")]
- HRESULT Height( [out,retval] DWORD* pdwHeight );
- // WIA_IPC_xxx
- [propget, id(DISPID_ITEMC_THUMBWIDTH), helpstring("width of the the item's thumbnail")]
- HRESULT ThumbWidth([out,retval] DWORD* pdwWidth );
- [propget, id(DISPID_ITEMC_THUMBHEIGHT), helpstring("height of the item's thumbnail")]
- HRESULT ThumbHeight( [out,retval] DWORD* pdwHeight );
- [propget, id(DISPID_ITEMC_THUMBNAIL), helpstring("path to the temporary image thumbnail")]
- HRESULT Thumbnail( [out,retval] BSTR* pbstrPath );
- [propget, id(DISPID_ITEMC_WIDTH), helpstring("width of the picture")]
- HRESULT PictureWidth( [out,retval] DWORD* pdwWidth );
- [propget, id(DISPID_ITEMC_HEIGHT), helpstring("height of the picture")]
- HRESULT PictureHeight( [out, retval] DWORD* pdwHeight );
- };
- /*-------------------------------------------------------------------------
- * Component Classes
- *------------------------------------------------------------------------*/
- [
- uuid(4C43FC25-E748-427F-8021-CB590027396F),
- helpstring("Sample Class")
- ]
- coclass Sample
- {
- [default] interface ISample;
- };
- [
- uuid(0DAD5531-BF31-43AC-A513-1F8926BBF5EC),
- helpstring("Wia Class")
- ]
- coclass Wia
- {
- [default] interface IWia;
- [default, source] dispinterface _IWiaEvents;
- };
- [
- uuid(13F3EA8B-91D7-4F0A-AD76-D2853AC8BECE),
- helpstring("WiaProtocol Class")
- ]
- coclass WiaProtocol
- {
- [default] interface IInternetProtocolRoot;
- };
- };