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 interface IEnumWIA_DEV_INFO
;
24 interface IWiaPropertyStorage
;
26 interface IWiaEventCallback
;
28 cpp_quote
("DEFINE_GUID(CLSID_WiaDevMgr, 0xa1f4e726,0x8cf1,0x11d1,0xbf,0x92,0x00,0x60,0x08,0x1e,0xd8,0x11);")
32 uuid(5eb2502a
-8cf1
-11d1
-bf92
-0060081ed811
)
34 interface IWiaDevMgr
: IUnknown
36 HRESULT EnumDeviceInfo
(
38 [retval, out] IEnumWIA_DEV_INFO
**ppIEnum
);
41 [in] BSTR bstrDeviceID
,
42 [out] IWiaItem
**ppWiaItemRoot
);
44 HRESULT SelectDeviceDlg
(
46 [in] LONG lDeviceType
,
48 [in, out] BSTR *pbstrDeviceID
,
49 [retval, out] IWiaItem
**ppItemRoot
);
51 HRESULT SelectDeviceDlgID
(
53 [in] LONG lDeviceType
,
55 [retval, out] BSTR *pbstrDeviceID
);
59 [in] LONG lDeviceType
,
62 [in] IWiaItem
*pItemRoot
,
63 [in] BSTR bstrFilename
,
64 [in, out] GUID
*pguidFormat
);
66 HRESULT RegisterEventCallbackProgram
(
68 [in] BSTR bstrDeviceID
,
69 [in] const GUID
*pEventGUID
,
70 [in] BSTR bstrCommandline
,
72 [in] BSTR bstrDescription
,
75 HRESULT RegisterEventCallbackInterface
(
77 [in] BSTR bstrDeviceID
,
78 [in] const GUID
*pEventGUID
,
79 [unique, in] IWiaEventCallback
*pIWiaEventCallback
,
80 [out] IUnknown
**pEventObject
);
82 HRESULT RegisterEventCallbackCLSID
(
84 [in] BSTR bstrDeviceID
,
85 [in] const GUID
*pEventGUID
,
86 [unique, in] const GUID
*pClsID
,
88 [in] BSTR bstrDescription
,
98 uuid(5e38b83c
-8cf1
-11d1
-bf92
-0060081ed811
)
100 interface IEnumWIA_DEV_INFO
: IUnknown
104 [out, size_is(celt
), length_is(*pceltFetched
)] IWiaPropertyStorage
**rgelt
,
105 [out] ULONG
*pceltFetched
115 [out] IEnumWIA_DEV_INFO
**ppIEnum
125 uuid(98B5E8A0
-29CC
-491a
-AAC0
-E6DB4FDCCEB6
)
127 interface IWiaPropertyStorage
: IUnknown
134 uuid(4db1ad10
-3391-11d2
-9a33
-00c04fa36145
)
136 interface IWiaItem
: IUnknown
143 uuid(ae6287b0
-0084-11d2
-973b
-00a0c9068f2e
)
145 interface IWiaEventCallback
: IUnknown
147 HRESULT ImageEventCallback
(
148 [in] const GUID
*pEventGUID
,
149 [in] BSTR bstrEventDescription
,
150 [in] BSTR bstrDeviceID
,
151 [in] BSTR bstrDeviceDescription
,
152 [in] DWORD dwDeviceType
,
153 [in] BSTR bstrFullItemName
,
154 [in,out] ULONG
*pulEventType
,
155 [in] ULONG ulReserved
);