2 * Copyright 2009 Damjan Jovanovic
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
23 cpp_quote
("#include <wiadef.h>")
25 interface IEnumWIA_DEV_INFO
;
26 interface IWiaPropertyStorage
;
28 interface IWiaEventCallback
;
30 cpp_quote
("DEFINE_GUID(CLSID_WiaDevMgr, 0xa1f4e726,0x8cf1,0x11d1,0xbf,0x92,0x00,0x60,0x08,0x1e,0xd8,0x11);")
34 uuid(5eb2502a
-8cf1
-11d1
-bf92
-0060081ed811
)
36 interface IWiaDevMgr
: IUnknown
38 HRESULT EnumDeviceInfo
(
40 [retval, out] IEnumWIA_DEV_INFO
**ppIEnum
);
43 [in] BSTR bstrDeviceID
,
44 [out] IWiaItem
**ppWiaItemRoot
);
46 HRESULT SelectDeviceDlg
(
48 [in] LONG lDeviceType
,
50 [in, out, unique] BSTR *pbstrDeviceID
,
51 [retval, out] IWiaItem
**ppItemRoot
);
53 HRESULT SelectDeviceDlgID
(
55 [in] LONG lDeviceType
,
57 [retval, out] BSTR *pbstrDeviceID
);
61 [in] LONG lDeviceType
,
64 [in] IWiaItem
*pItemRoot
,
65 [in] BSTR bstrFilename
,
66 [in, out] GUID
*pguidFormat
);
68 HRESULT RegisterEventCallbackProgram
(
70 [in] BSTR bstrDeviceID
,
71 [in] const GUID
*pEventGUID
,
72 [in] BSTR bstrCommandline
,
74 [in] BSTR bstrDescription
,
77 HRESULT RegisterEventCallbackInterface
(
79 [in] BSTR bstrDeviceID
,
80 [in] const GUID
*pEventGUID
,
81 [unique, in] IWiaEventCallback
*pIWiaEventCallback
,
82 [out] IUnknown
**pEventObject
);
84 HRESULT RegisterEventCallbackCLSID
(
86 [in] BSTR bstrDeviceID
,
87 [in] const GUID
*pEventGUID
,
88 [unique, in] const GUID
*pClsID
,
90 [in] BSTR bstrDescription
,
100 uuid(5e38b83c
-8cf1
-11d1
-bf92
-0060081ed811
)
102 interface IEnumWIA_DEV_INFO
: IUnknown
106 [out, size_is(celt
), length_is(*pceltFetched
)] IWiaPropertyStorage
**rgelt
,
107 [out] ULONG
*pceltFetched
117 [out] IEnumWIA_DEV_INFO
**ppIEnum
127 uuid(98B5E8A0
-29CC
-491a
-AAC0
-E6DB4FDCCEB6
)
129 interface IWiaPropertyStorage
: IUnknown
136 uuid(4db1ad10
-3391-11d2
-9a33
-00c04fa36145
)
138 interface IWiaItem
: IUnknown
145 uuid(ae6287b0
-0084-11d2
-973b
-00a0c9068f2e
)
147 interface IWiaEventCallback
: IUnknown
149 HRESULT ImageEventCallback
(
150 [in] const GUID
*pEventGUID
,
151 [in] BSTR bstrEventDescription
,
152 [in] BSTR bstrDeviceID
,
153 [in] BSTR bstrDeviceDescription
,
154 [in] DWORD dwDeviceType
,
155 [in] BSTR bstrFullItemName
,
156 [in,out] ULONG
*pulEventType
,
157 [in] ULONG ulReserved
);