user32: Change SetForegroundWindow behavior on windows with parent and no WS_CHILD...
[wine.git] / include / wia_lh.idl
blobe13a6588f504e0abf552c554cfa5a83b3b100d59
1 /*
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
19 import "unknwn.idl";
20 import "oaidl.idl";
21 import "propidl.idl";
23 interface IEnumWIA_DEV_INFO;
24 interface IWiaItem;
25 interface IWiaEventCallback;
27 cpp_quote("DEFINE_GUID(CLSID_WiaDevMgr, 0xa1f4e726,0x8cf1,0x11d1,0xbf,0x92,0x00,0x60,0x08,0x1e,0xd8,0x11);")
30 object,
31 uuid(5eb2502a-8cf1-11d1-bf92-0060081ed811)
33 interface IWiaDevMgr : IUnknown
35 HRESULT EnumDeviceInfo(
36 [in] LONG lFlag,
37 [retval, out] IEnumWIA_DEV_INFO **ppIEnum);
39 HRESULT CreateDevice(
40 [in] BSTR bstrDeviceID,
41 [out] IWiaItem **ppWiaItemRoot);
43 HRESULT SelectDeviceDlg(
44 [in] HWND hwndParent,
45 [in] LONG lDeviceType,
46 [in] LONG lFlags,
47 [in, out] BSTR *pbstrDeviceID,
48 [retval, out] IWiaItem **ppItemRoot);
50 HRESULT SelectDeviceDlgID(
51 [in] HWND hwndParent,
52 [in] LONG lDeviceType,
53 [in] LONG lFlags,
54 [retval, out] BSTR *pbstrDeviceID);
56 HRESULT GetImageDlg(
57 [in] HWND hwndParent,
58 [in] LONG lDeviceType,
59 [in] LONG lFlags,
60 [in] LONG lIntent,
61 [in] IWiaItem *pItemRoot,
62 [in] BSTR bstrFilename,
63 [in, out] GUID *pguidFormat);
65 HRESULT RegisterEventCallbackProgram(
66 [in] LONG lFlags,
67 [in] BSTR bstrDeviceID,
68 [in] const GUID *pEventGUID,
69 [in] BSTR bstrCommandline,
70 [in] BSTR bstrName,
71 [in] BSTR bstrDescription,
72 [in] BSTR bstrIcon);
74 HRESULT RegisterEventCallbackInterface(
75 [in] LONG lFlags,
76 [in] BSTR bstrDeviceID,
77 [in] const GUID *pEventGUID,
78 [unique, in] IWiaEventCallback *pIWiaEventCallback,
79 [out] IUnknown **pEventObject);
81 HRESULT RegisterEventCallbackCLSID(
82 [in] LONG lFlags,
83 [in] BSTR bstrDeviceID,
84 [in] const GUID *pEventGUID,
85 [unique, in] const GUID *pClsID,
86 [in] BSTR bstrName,
87 [in] BSTR bstrDescription,
88 [in] BSTR bstrIcon);
90 HRESULT AddDeviceDlg(
91 [in] HWND hwndParent,
92 [in] LONG lFlags);
96 object,
97 uuid(5e38b83c-8cf1-11d1-bf92-0060081ed811)
99 interface IEnumWIA_DEV_INFO : IUnknown
101 /* fill in */
105 object,
106 uuid(4db1ad10-3391-11d2-9a33-00c04fa36145)
108 interface IWiaItem : IUnknown
110 /* FIXME: fill in */
114 object,
115 uuid(ae6287b0-0084-11d2-973b-00a0c9068f2e)
117 interface IWiaEventCallback : IUnknown
119 HRESULT ImageEventCallback(
120 [in] const GUID *pEventGUID,
121 [in] BSTR bstrEventDescription,
122 [in] BSTR bstrDeviceID,
123 [in] BSTR bstrDeviceDescription,
124 [in] DWORD dwDeviceType,
125 [in] BSTR bstrFullItemName,
126 [in,out] ULONG *pulEventType,
127 [in] ULONG ulReserved);