wia_lh.idl revision 3194da424708abdd288b28d96892b3a5f3f7df0b
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync/*
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync * Copyright 2009 Damjan Jovanovic
c97989161fbe75bc14cea477a5443bbf474dd3advboxsync *
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync * This library is free software; you can redistribute it and/or
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync * modify it under the terms of the GNU Lesser General Public
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync * License as published by the Free Software Foundation; either
c97989161fbe75bc14cea477a5443bbf474dd3advboxsync * version 2.1 of the License, or (at your option) any later version.
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync *
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync * This library is distributed in the hope that it will be useful,
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * Lesser General Public License for more details.
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync *
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * You should have received a copy of the GNU Lesser General Public
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * License along with this library; if not, write to the Free Software
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync */
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncimport "unknwn.idl";
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncimport "oaidl.idl";
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncimport "propidl.idl";
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncinterface IEnumWIA_DEV_INFO;
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncinterface IWiaItem;
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsyncinterface IWiaEventCallback;
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsynccpp_quote("DEFINE_GUID(CLSID_WiaDevMgr, 0xa1f4e726,0x8cf1,0x11d1,0xbf,0x92,0x00,0x60,0x08,0x1e,0xd8,0x11);")
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync[
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync object,
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync uuid(5eb2502a-8cf1-11d1-bf92-0060081ed811)
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync]
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsyncinterface IWiaDevMgr : IUnknown
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync{
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync HRESULT EnumDeviceInfo(
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync [in] LONG lFlag,
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync [retval, out] IEnumWIA_DEV_INFO **ppIEnum);
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync HRESULT CreateDevice(
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync [in] BSTR bstrDeviceID,
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync [out] IWiaItem **ppWiaItemRoot);
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync HRESULT SelectDeviceDlg(
dba6b8a60465a62d3e1ee74942535288802e2b79vboxsync [in] HWND hwndParent,
[in] LONG lDeviceType,
[in] LONG lFlags,
[in, out] BSTR *pbstrDeviceID,
[retval, out] IWiaItem **ppItemRoot);
HRESULT SelectDeviceDlgID(
[in] HWND hwndParent,
[in] LONG lDeviceType,
[in] LONG lFlags,
[retval, out] BSTR *pbstrDeviceID);
HRESULT GetImageDlg(
[in] HWND hwndParent,
[in] LONG lDeviceType,
[in] LONG lFlags,
[in] LONG lIntent,
[in] IWiaItem *pItemRoot,
[in] BSTR bstrFilename,
[in, out] GUID *pguidFormat);
HRESULT RegisterEventCallbackProgram(
[in] LONG lFlags,
[in] BSTR bstrDeviceID,
[in] const GUID *pEventGUID,
[in] BSTR bstrCommandline,
[in] BSTR bstrName,
[in] BSTR bstrDescription,
[in] BSTR bstrIcon);
HRESULT RegisterEventCallbackInterface(
[in] LONG lFlags,
[in] BSTR bstrDeviceID,
[in] const GUID *pEventGUID,
[unique, in] IWiaEventCallback *pIWiaEventCallback,
[out] IUnknown **pEventObject);
HRESULT RegisterEventCallbackCLSID(
[in] LONG lFlags,
[in] BSTR bstrDeviceID,
[in] const GUID *pEventGUID,
[unique, in] const GUID *pClsID,
[in] BSTR bstrName,
[in] BSTR bstrDescription,
[in] BSTR bstrIcon);
HRESULT AddDeviceDlg(
[in] HWND hwndParent,
[in] LONG lFlags);
}
[
object,
uuid(5e38b83c-8cf1-11d1-bf92-0060081ed811)
]
interface IEnumWIA_DEV_INFO : IUnknown
{
/* fill in */
}
[
object,
uuid(4db1ad10-3391-11d2-9a33-00c04fa36145)
]
interface IWiaItem : IUnknown
{
/* FIXME: fill in */
}
[
object,
uuid(ae6287b0-0084-11d2-973b-00a0c9068f2e)
]
interface IWiaEventCallback : IUnknown
{
HRESULT ImageEventCallback(
[in] const GUID *pEventGUID,
[in] BSTR bstrEventDescription,
[in] BSTR bstrDeviceID,
[in] BSTR bstrDeviceDescription,
[in] DWORD dwDeviceType,
[in] BSTR bstrFullItemName,
[in,out] ULONG *pulEventType,
[in] ULONG ulReserved);
}