xref: /reactos/sdk/include/psdk/wia_xp.idl (revision c2c66aff)
1*c2c66affSColin Finck/*
2*c2c66affSColin Finck * Copyright 2009 Damjan Jovanovic
3*c2c66affSColin Finck *
4*c2c66affSColin Finck * This library is free software; you can redistribute it and/or
5*c2c66affSColin Finck * modify it under the terms of the GNU Lesser General Public
6*c2c66affSColin Finck * License as published by the Free Software Foundation; either
7*c2c66affSColin Finck * version 2.1 of the License, or (at your option) any later version.
8*c2c66affSColin Finck *
9*c2c66affSColin Finck * This library is distributed in the hope that it will be useful,
10*c2c66affSColin Finck * but WITHOUT ANY WARRANTY; without even the implied warranty of
11*c2c66affSColin Finck * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12*c2c66affSColin Finck * Lesser General Public License for more details.
13*c2c66affSColin Finck *
14*c2c66affSColin Finck * You should have received a copy of the GNU Lesser General Public
15*c2c66affSColin Finck * License along with this library; if not, write to the Free Software
16*c2c66affSColin Finck * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17*c2c66affSColin Finck */
18*c2c66affSColin Finck
19*c2c66affSColin Finckimport "wtypes.idl";
20*c2c66affSColin Finckimport "objidl.idl";
21*c2c66affSColin Finck
22*c2c66affSColin Finckinterface IEnumWIA_DEV_INFO;
23*c2c66affSColin Finckinterface IWiaItem;
24*c2c66affSColin Finckinterface IWiaEventCallback;
25*c2c66affSColin Finck
26*c2c66affSColin Finckcpp_quote("DEFINE_GUID(CLSID_WiaDevMgr, 0xa1f4e726,0x8cf1,0x11d1,0xbf,0x92,0x00,0x60,0x08,0x1e,0xd8,0x11);")
27*c2c66affSColin Finck
28*c2c66affSColin Finck[
29*c2c66affSColin Finck    object,
30*c2c66affSColin Finck    uuid(5eb2502a-8cf1-11d1-bf92-0060081ed811)
31*c2c66affSColin Finck]
32*c2c66affSColin Finckinterface IWiaDevMgr : IUnknown
33*c2c66affSColin Finck{
34*c2c66affSColin Finck    HRESULT EnumDeviceInfo(
35*c2c66affSColin Finck        [in] LONG lFlag,
36*c2c66affSColin Finck        [retval, out] IEnumWIA_DEV_INFO **ppIEnum);
37*c2c66affSColin Finck
38*c2c66affSColin Finck    HRESULT CreateDevice(
39*c2c66affSColin Finck        [in] BSTR bstrDeviceID,
40*c2c66affSColin Finck        [out] IWiaItem **ppWiaItemRoot);
41*c2c66affSColin Finck
42*c2c66affSColin Finck    HRESULT SelectDeviceDlg(
43*c2c66affSColin Finck        [in] HWND hwndParent,
44*c2c66affSColin Finck        [in] LONG lDeviceType,
45*c2c66affSColin Finck        [in] LONG lFlags,
46*c2c66affSColin Finck        [in, out] BSTR *pbstrDeviceID,
47*c2c66affSColin Finck        [retval, out] IWiaItem **ppItemRoot);
48*c2c66affSColin Finck
49*c2c66affSColin Finck    HRESULT SelectDeviceDlgID(
50*c2c66affSColin Finck        [in] HWND hwndParent,
51*c2c66affSColin Finck        [in] LONG lDeviceType,
52*c2c66affSColin Finck        [in] LONG lFlags,
53*c2c66affSColin Finck        [retval, out] BSTR *pbstrDeviceID);
54*c2c66affSColin Finck
55*c2c66affSColin Finck    HRESULT GetImageDlg(
56*c2c66affSColin Finck        [in] HWND hwndParent,
57*c2c66affSColin Finck        [in] LONG lDeviceType,
58*c2c66affSColin Finck        [in] LONG lFlags,
59*c2c66affSColin Finck        [in] LONG lIntent,
60*c2c66affSColin Finck        [in] IWiaItem *pItemRoot,
61*c2c66affSColin Finck        [in] BSTR bstrFilename,
62*c2c66affSColin Finck        [in, out] GUID *pguidFormat);
63*c2c66affSColin Finck
64*c2c66affSColin Finck    HRESULT RegisterEventCallbackProgram(
65*c2c66affSColin Finck        [in] LONG lFlags,
66*c2c66affSColin Finck        [in] BSTR bstrDeviceID,
67*c2c66affSColin Finck        [in] const GUID *pEventGUID,
68*c2c66affSColin Finck        [in] BSTR bstrCommandline,
69*c2c66affSColin Finck        [in] BSTR bstrName,
70*c2c66affSColin Finck        [in] BSTR bstrDescription,
71*c2c66affSColin Finck        [in] BSTR bstrIcon);
72*c2c66affSColin Finck
73*c2c66affSColin Finck    HRESULT RegisterEventCallbackInterface(
74*c2c66affSColin Finck        [in] LONG lFlags,
75*c2c66affSColin Finck        [in] BSTR bstrDeviceID,
76*c2c66affSColin Finck        [in] const GUID *pEventGUID,
77*c2c66affSColin Finck        [unique, in] IWiaEventCallback *pIWiaEventCallback,
78*c2c66affSColin Finck        [out] IUnknown **pEventObject);
79*c2c66affSColin Finck
80*c2c66affSColin Finck    HRESULT RegisterEventCallbackCLSID(
81*c2c66affSColin Finck        [in] LONG lFlags,
82*c2c66affSColin Finck        [in] BSTR bstrDeviceID,
83*c2c66affSColin Finck        [in] const GUID *pEventGUID,
84*c2c66affSColin Finck        [unique, in] const GUID *pClsID,
85*c2c66affSColin Finck        [in] BSTR bstrName,
86*c2c66affSColin Finck        [in] BSTR bstrDescription,
87*c2c66affSColin Finck        [in] BSTR bstrIcon);
88*c2c66affSColin Finck
89*c2c66affSColin Finck    HRESULT AddDeviceDlg(
90*c2c66affSColin Finck        [in] HWND hwndParent,
91*c2c66affSColin Finck        [in] LONG lFlags);
92*c2c66affSColin Finck}
93*c2c66affSColin Finck
94*c2c66affSColin Finck[
95*c2c66affSColin Finck    object,
96*c2c66affSColin Finck    uuid(5e38b83c-8cf1-11d1-bf92-0060081ed811)
97*c2c66affSColin Finck]
98*c2c66affSColin Finckinterface IEnumWIA_DEV_INFO : IUnknown
99*c2c66affSColin Finck{
100*c2c66affSColin Finck    /* fill in */
101*c2c66affSColin Finck}
102*c2c66affSColin Finck
103*c2c66affSColin Finck[
104*c2c66affSColin Finck    object,
105*c2c66affSColin Finck    uuid(4db1ad10-3391-11d2-9a33-00c04fa36145)
106*c2c66affSColin Finck]
107*c2c66affSColin Finckinterface IWiaItem : IUnknown
108*c2c66affSColin Finck{
109*c2c66affSColin Finck    /* FIXME: fill in */
110*c2c66affSColin Finck}
111*c2c66affSColin Finck
112*c2c66affSColin Finck[
113*c2c66affSColin Finck    object,
114*c2c66affSColin Finck    uuid(ae6287b0-0084-11d2-973b-00a0c9068f2e)
115*c2c66affSColin Finck]
116*c2c66affSColin Finckinterface IWiaEventCallback : IUnknown
117*c2c66affSColin Finck{
118*c2c66affSColin Finck    HRESULT ImageEventCallback(
119*c2c66affSColin Finck        [in] const GUID *pEventGUID,
120*c2c66affSColin Finck        [in] BSTR bstrEventDescription,
121*c2c66affSColin Finck        [in] BSTR bstrDeviceID,
122*c2c66affSColin Finck        [in] BSTR bstrDeviceDescription,
123*c2c66affSColin Finck        [in] DWORD dwDeviceType,
124*c2c66affSColin Finck        [in] BSTR bstrFullItemName,
125*c2c66affSColin Finck        [in,out] ULONG *pulEventType,
126*c2c66affSColin Finck        [in] ULONG ulReserved);
127*c2c66affSColin Finck}
128