423 lines
15 KiB
Plaintext
423 lines
15 KiB
Plaintext
/*******************************************************************************
|
|
*
|
|
* (C) COPYRIGHT MICROSOFT CORP., 1998
|
|
*
|
|
* TITLE: StiScr.idl
|
|
*
|
|
* VERSION: 2.0
|
|
*
|
|
* AUTHOR: ReedB
|
|
*
|
|
* DATE: 6 Jan, 1998
|
|
*
|
|
* DESCRIPTION:
|
|
* IDL source for WIA device manager script interface. Visual Basic Scripting
|
|
* uses variants for all variables.
|
|
*
|
|
*******************************************************************************/
|
|
|
|
interface IWiaDevMgrDispatch;
|
|
interface IEnumWiaDevInfoDispatch;
|
|
interface IPropStorageDispatch;
|
|
interface IWiaItemDispatch;
|
|
interface IEnumWiaItemDispatch;
|
|
interface IEnumStatPropStgDispatch;
|
|
interface IEnumWiaDevCapsDispatch;
|
|
|
|
import "unknwn.idl";
|
|
import "oaidl.idl";
|
|
import "propidl.idl";
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* WIA Device Manager Dispatch Interface
|
|
*
|
|
*******************************************************************************/
|
|
|
|
[
|
|
object,
|
|
uuid(f768d350-f9a4-11d1-9a0b-00c04fa36145),
|
|
helpstring("WIA Device Manager Dispatch Interface"),
|
|
pointer_default(unique),
|
|
oleautomation
|
|
]
|
|
|
|
interface IWiaDevMgrDispatch : IDispatch
|
|
{
|
|
[id(1), helpstring("Get an image and place data in clipboard")]
|
|
HRESULT GetImageClipboard(
|
|
[in] LONG hwndParent,
|
|
[in] LONG lDeviceType,
|
|
[in] LONG lFlags,
|
|
[in] LONG lIntent,
|
|
[in] BSTR bstrFormat,
|
|
[in, unique] IDispatch *pItem,
|
|
[out, retval] LONG *lResult);
|
|
|
|
[id(2), helpstring("Get an image and place data in a temporary file")]
|
|
HRESULT GetImageFile(
|
|
[in] LONG hwndParent,
|
|
[in] LONG lDeviceType,
|
|
[in] LONG lFlags,
|
|
[in] LONG lIntent,
|
|
[in] BSTR bstrFormat,
|
|
[in, unique] IDispatch *pItem,
|
|
[out, retval] BSTR *pbstrFileName);
|
|
|
|
[id(3), helpstring("Create an WIA device information enumerator")]
|
|
HRESULT EnumDeviceInfo(
|
|
[in] LONG lFlag,
|
|
[out, retval] IEnumWiaDevInfoDispatch **ppIEnum);
|
|
|
|
[id(4), helpstring("Create a WIA device object")]
|
|
HRESULT CreateDevice(
|
|
[in] BSTR bstrDeviceID,
|
|
[out, retval] IWiaItemDispatch **ppItem);
|
|
|
|
[id(5), helpstring("Present UI to select then create an WIA device")]
|
|
HRESULT SelectDevice(
|
|
[in] LONG hwndParent,
|
|
[in] LONG lDeviceType,
|
|
[in] LONG lFlags,
|
|
[out, retval] IWiaItemDispatch **ppItem);
|
|
|
|
[id(6), helpstring("Resisters pIDisp for the event notification")]
|
|
HRESULT RegisterEventCallbackInterface(
|
|
[in] LONG lFlags,
|
|
[in] BSTR bstrDevID,
|
|
[in] BSTR guidEventID,
|
|
[in] IDispatch *pIDisp);
|
|
|
|
};
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* WIA Device Information Enumeration Dispatch Interface
|
|
*
|
|
*******************************************************************************/
|
|
|
|
[
|
|
object,
|
|
uuid(8e25d848-8949-11d2-b081-00c04fa36145),
|
|
helpstring("WIA Device Information Enumeration Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IEnumWiaDevInfoDispatch : IDispatch
|
|
{
|
|
[id(-4), propget, restricted, helpstring("Required enumerator for VB")]
|
|
HRESULT _NewEnum(
|
|
[out, retval] IUnknown **ppEnumVar);
|
|
|
|
[id(0), propget, helpstring("Returns the WiaDevInfo object of the given index")]
|
|
HRESULT Item(
|
|
[in] LONG lIndex,
|
|
[out, retval] VARIANT **retVal);
|
|
|
|
[id(1), helpstring("Gets the next WiaDevInfo object")]
|
|
HRESULT Next(
|
|
[in] ULONG celt,
|
|
[out] VARIANT *pProp,
|
|
[in,out,unique] ULONG *pceltFetched);
|
|
|
|
[id(2), helpstring("Skips the next WiaDevInfo object")]
|
|
HRESULT Skip(
|
|
[in] ULONG celt);
|
|
|
|
[id(3), helpstring("Resets to first WiaDevInfo object")]
|
|
HRESULT Reset(void);
|
|
|
|
[id(4), helpstring("Clone Device Info enumerator object, but returns the IEnumVARIANT interface")]
|
|
HRESULT Clone(
|
|
[out, retval] IEnumVARIANT **ppIEnum);
|
|
}
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Property Storage Dispatch Interface
|
|
*
|
|
*******************************************************************************/
|
|
|
|
[
|
|
object,
|
|
uuid(a2cef640-8f9e-11d2-b083-00c04fa36145),
|
|
helpstring("Property Storage Dispatch Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IPropStorageDispatch : IDispatch
|
|
{
|
|
HRESULT ReadMultiple(
|
|
[in] VARIANT *rgpspec,
|
|
[out, retval] VARIANT *rgpropvar);
|
|
|
|
HRESULT WriteMultiple(
|
|
[in] VARIANT *rgpspec,
|
|
[in] VARIANT *rgpropvar);
|
|
|
|
HRESULT ReadPropertyNames(
|
|
[in] VARIANT *pvPropSpec,
|
|
[out, retval] VARIANT *pvPropNames);
|
|
|
|
HRESULT Enum(
|
|
[out, retval] IEnumStatPropStgDispatch **ppEnum);
|
|
|
|
HRESULT WritePropertyNames(
|
|
[in] VARIANT *rgpropid,
|
|
[out] VARIANT *rglpwstrName);
|
|
|
|
HRESULT GetPropertyAttributes(
|
|
[in] VARIANT cpspec,
|
|
[in] VARIANT *rgpspec,
|
|
[out] VARIANT *rgflags,
|
|
[out] VARIANT *rgpropvar);
|
|
|
|
HRESULT GetCount(
|
|
[out] VARIANT *pulNumProps);
|
|
|
|
/* Not used currently
|
|
HRESULT GetPropertyStream(
|
|
[out] IStream **ppIStream);
|
|
|
|
HRESULT SetPropertyStream(
|
|
[in] IStream *pIStream);
|
|
*/
|
|
}
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* WIA Property Storage Enumeration Dispatch Interface
|
|
*
|
|
*******************************************************************************/
|
|
|
|
[
|
|
object,
|
|
uuid(340bdb90-9f44-11d2-b08a-00c04fa36145),
|
|
helpstring("WIA Property Storage Enumeration Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IEnumStatPropStgDispatch : IDispatch
|
|
{
|
|
[id(-4), propget, restricted, helpstring("Required enumerator for VB")]
|
|
HRESULT _NewEnum(
|
|
[out, retval] IUnknown **ppEnumVar);
|
|
|
|
[id(0), propget, helpstring("Returns the item of the given index")]
|
|
HRESULT Item(
|
|
[in] LONG lIndex,
|
|
[out, retval] VARIANT **retVal);
|
|
|
|
[id(1), helpstring("Gets the next property")]
|
|
HRESULT Next(
|
|
[in] ULONG celt,
|
|
[out] VARIANT *pProp,
|
|
[in,out,unique] ULONG *pceltFetched);
|
|
|
|
[id(2), helpstring("Skips the next property")]
|
|
HRESULT Skip(
|
|
[in] ULONG celt);
|
|
|
|
[id(3), helpstring("Resets to first property")]
|
|
HRESULT Reset(void);
|
|
|
|
[id(4), helpstring("Clone property enumeration object, but returns the IEnumVARIANT interface")]
|
|
HRESULT Clone(
|
|
[out, retval] IEnumVARIANT **ppIEnum);
|
|
}
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* IWiaItemDispatch Interface
|
|
*
|
|
*******************************************************************************/
|
|
|
|
[
|
|
object,
|
|
uuid(f4097433-9e68-11d2-b08a-00c04fa36145),
|
|
helpstring("WIA Device Item Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IWiaItemDispatch : IDispatch
|
|
{
|
|
[id(1), helpstring("Get item type")]
|
|
HRESULT GetItemType(
|
|
[out, retval] LONG *plItemType);
|
|
|
|
[id(2), helpstring("Analyze an item")]
|
|
HRESULT AnalyzeItem(
|
|
[in] LONG lFlags);
|
|
|
|
[id(3), helpstring("Get item enumerator")]
|
|
HRESULT EnumChildItems(
|
|
[out, retval] IEnumWiaItemDispatch **ppIEnumWiaItem);
|
|
|
|
[id(4), helpstring("Delete an item")]
|
|
HRESULT DeleteItem(
|
|
[in] LONG lFlags);
|
|
|
|
[id(5), helpstring("Create a new child item")]
|
|
HRESULT CreateChildItem(
|
|
[in] LONG lFlags,
|
|
[in] BSTR bstrItemName,
|
|
[in] BSTR bstrFullItemName,
|
|
[out, retval] IWiaItemDispatch **ppNewItem);
|
|
|
|
[id(7), helpstring("Issue a device command")]
|
|
HRESULT DeviceCommand(
|
|
[in] LONG lFlags,
|
|
[in] BSTR bstrCommand,
|
|
[out, retval] IWiaItemDispatch **pIWiaItem);
|
|
|
|
[id(8), helpstring("Display device data acquistion UI")]
|
|
HRESULT DeviceDlg(
|
|
[in] LONG hwndParent,
|
|
[in] LONG lFlags,
|
|
[in] LONG lIntent,
|
|
[out, retval] VARIANT *pIWiaItem);
|
|
|
|
[id(9), helpstring("search for item by name")]
|
|
HRESULT FindItemByName(
|
|
[in] LONG lFlags,
|
|
[in] BSTR bstrFullItemName,
|
|
[out, retval] IWiaItemDispatch **ppIWiaItem);
|
|
|
|
[id(10), helpstring("Get device root item")]
|
|
HRESULT GetRootItem(
|
|
[out, retval] IWiaItemDispatch **ppIWiaItem);
|
|
|
|
[id(11), helpstring("Read item properties")]
|
|
HRESULT ReadMultiple(
|
|
[in] VARIANT *rgpspec,
|
|
[out, retval] VARIANT *rgpropvar);
|
|
|
|
[id(12), helpstring("Write item properties")]
|
|
HRESULT WriteMultiple(
|
|
[in] VARIANT *rgpspec,
|
|
[in] VARIANT *rgpropvar);
|
|
|
|
[id(13), helpstring("Get capability enumerator")]
|
|
HRESULT EnumWiaDevCaps(
|
|
[in] ULONG ulFlags,
|
|
[out, retval] IEnumWiaDevCapsDispatch **ppIEnum);
|
|
};
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* IEnumWiaItem Interface
|
|
*
|
|
*******************************************************************************/
|
|
|
|
[
|
|
object,
|
|
uuid(ff0bb94d-9e68-11d2-b08a-00c04fa36145),
|
|
helpstring("WIA Device Class Item Enumeration Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IEnumWiaItemDispatch : IDispatch
|
|
{
|
|
[id(-4), propget, restricted, helpstring("Required enumerator for VB")]
|
|
HRESULT _NewEnum(
|
|
[out, retval] IUnknown **ppEnumVar);
|
|
|
|
[id(0), propget, helpstring("Returns the item of the given index")]
|
|
HRESULT Item(
|
|
[in] LONG lIndex,
|
|
[out, retval] VARIANT **retVal);
|
|
|
|
[id(1), helpstring("Gets the next IWiaItem object")]
|
|
HRESULT Next(
|
|
[in] ULONG celt,
|
|
[out] VARIANT *pItem,
|
|
[in,out,unique] ULONG *pceltFetched);
|
|
|
|
[id(2), helpstring("Skips the specified number of IWiaItem objects")]
|
|
HRESULT Skip(
|
|
[in] ULONG celt);
|
|
|
|
[id(3), helpstring("Resets to first IWiaItemObject")]
|
|
HRESULT Reset(void);
|
|
|
|
[id(4), helpstring("Clone IWiaItem enumeration object and returns the IEnumVARIANT interface")]
|
|
HRESULT Clone(
|
|
[out, retval] IEnumVARIANT **ppIEnum);
|
|
}
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* IEnumWiaDevCaps Interface
|
|
*
|
|
*******************************************************************************/
|
|
|
|
[
|
|
object,
|
|
uuid(05B40A3C-E6BC-11d2-B5C2-00C04F68C956),
|
|
helpstring("WIA Device Class Capability Enumeration Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IEnumWiaDevCapsDispatch : IDispatch
|
|
{
|
|
[id(-4), propget, restricted, helpstring("Required enumerator for VB")]
|
|
HRESULT _NewEnum(
|
|
[out, retval] IUnknown **ppEnumVar);
|
|
|
|
[id(0), propget, helpstring("Returns the item of the given index")]
|
|
HRESULT Item(
|
|
[in] LONG lIndex,
|
|
[out, retval] VARIANT **retVal);
|
|
|
|
[id(1), helpstring("Gets the next capability")]
|
|
HRESULT Next(
|
|
[in] ULONG celt,
|
|
[out] VARIANT *DevCap,
|
|
[in,out,unique] ULONG *pceltFetched);
|
|
|
|
[id(2), helpstring("Skips the next capability")]
|
|
HRESULT Skip(
|
|
[in] ULONG celt);
|
|
|
|
[id(3), helpstring("Resets to first capability")]
|
|
HRESULT Reset(void);
|
|
|
|
[id(4), helpstring("Clone capability enumeration object, but returns the IEnumVARIANT interface")]
|
|
HRESULT Clone(
|
|
[out, retval] IEnumVARIANT **ppIEnum);
|
|
}
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* C O M P O N E N T D E S C R I P T I O N S
|
|
*
|
|
*******************************************************************************/
|
|
|
|
[
|
|
uuid(0c131077-0088-11d2-87ea-0060081ed811),
|
|
version(1.0),
|
|
helpstring("WIA Type Library Dispatch")
|
|
]
|
|
|
|
library WiaDevMgrDispatch
|
|
{
|
|
importlib("stdole32.tlb") ;
|
|
|
|
// WIA Device Manager Dispatch
|
|
[
|
|
uuid(4b97598e-006e-11d2-87ea-0060081ed811),
|
|
helpstring("WIA Device Manager Dispatch")
|
|
]
|
|
|
|
coclass WiaDevMgrDispatch
|
|
{
|
|
[default] interface IWiaDevMgrDispatch;
|
|
interface IEnumWiaDevInfoDispatch;
|
|
interface IPropStorageDispatch;
|
|
interface IWiaItemDispatch;
|
|
interface IEnumWiaItemDispatch;
|
|
interface IEnumStatPropStgDispatch;
|
|
interface IEnumWiaDevCapsDispatch;
|
|
};
|
|
};
|