VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/netcon.idl@ 33252

Last change on this file since 33252 was 21731, checked in by vboxsync, 15 years ago

crOpenGL: update to wine 1.1.26

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 10.9 KB
Line 
1/*
2 * Copyright 2009 Jacek Caban for CodeWeavers
3 *
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.
8 *
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.
13 *
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
17 */
18
19/*
20 * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
21 * other than GPL or LGPL is available it will apply instead, Sun elects to use only
22 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
23 * a choice of LGPL license versions is made available with the language indicating
24 * that LGPLv2 or any later version may be used, or where a choice of which version
25 * of the LGPL is applied is otherwise unspecified.
26 */
27
28#ifndef DO_NO_IMPORTS
29import "oaidl.idl";
30import "unknwn.idl";
31import "wtypes.idl";
32/* import "prsht.idl"; */
33#endif
34
35cpp_quote("DEFINE_GUID(CLSID_NetSharingManager,0x5c63c1ad,0x3956,0x4ff8,0x84,0x86,0x40,0x03,0x47,0x58,0x31,0x5b);")
36
37[
38 object,
39 uuid(c08956a1-1cd3-11d1-b1c5-00805fc1270e),
40 pointer_default(unique)
41]
42interface INetConnection : IUnknown
43{
44 typedef enum tagNETCON_CHARACTERISTIC_FLAGS
45 {
46 NCCF_NONE = 0x0000,
47 NCCF_ALL_USERS = 0x0001,
48 NCCF_ALLOW_DUPLICATION = 0x0002,
49 NCCF_ALLOW_REMOVAL = 0x0004,
50 NCCF_ALLOW_RENAME = 0x0008,
51 NCCF_INCOMING_ONLY = 0x0020,
52 NCCF_OUTGOING_ONLY = 0x0040,
53 NCCF_BRANDED = 0x0080,
54 NCCF_SHARED = 0x0100,
55 NCCF_BRIDGED = 0x0200,
56 NCCF_FIREWALLED = 0x0400,
57 NCCF_DEFAULT = 0x0800,
58 NCCF_HOMENET_CAPABLE = 0x1000,
59 NCCF_SHARED_PRIVATE = 0x2000,
60 NCCF_QUARANTINED = 0x4000,
61 NCCF_RESERVED = 0x8000,
62 NCCF_BLUETOOTH_MASK = 0x000F0000,
63 NCCF_LAN_MASK = 0x00F00000
64 } NETCON_CHARACTERISTIC_FLAGS;
65
66 typedef enum tagNETCON_STATUS
67 {
68 NCS_DISCONNECTED,
69 NCS_CONNECTING,
70 NCS_CONNECTED,
71 NCS_DISCONNECTING,
72 NCS_HARDWARE_NOT_PRESENT,
73 NCS_HARDWARE_DISABLED,
74 NCS_HARDWARE_MALFUNCTION,
75 NCS_MEDIA_DISCONNECTED,
76 NCS_AUTHENTICATING,
77 NCS_AUTHENTICATION_SUCCEEDED,
78 NCS_AUTHENTICATION_FAILED,
79 NCS_INVALID_ADDRESS,
80 NCS_CREDENTIALS_REQUIRED
81 } NETCON_STATUS;
82
83 typedef enum tagNETCON_TYPE
84 {
85 NCT_DIRECT_CONNECT,
86 NCT_INBOUND,
87 NCT_INTERNET,
88 NCT_LAN,
89 NCT_PHONE,
90 NCT_TUNNEL,
91 NCT_BRIDGE
92 } NETCON_TYPE;
93
94 typedef enum tagNETCON_MEDIATYPE
95 {
96 NCM_NONE,
97 NCM_DIRECT,
98 NCM_ISDN,
99 NCM_LAN,
100 NCM_PHONE,
101 NCM_TUNNEL,
102 NCM_PPPOE,
103 NCM_BRIDGE,
104 NCM_SHAREDACCESSHOST_LAN,
105 NCM_SHAREDACCESSHOST_RAS
106 } NETCON_MEDIATYPE;
107
108 typedef struct tagNETCON_PROPERTIES
109 {
110 GUID guidId;
111 [string] LPWSTR pszwName;
112 [string] LPWSTR pszwDeviceName;
113 NETCON_STATUS Status;
114 NETCON_MEDIATYPE MediaType;
115 DWORD dwCharacter;
116 CLSID clsidThisObject;
117 CLSID clsidUiObject;
118 } NETCON_PROPERTIES;
119
120 HRESULT Connect();
121
122 HRESULT Disconnect();
123
124 HRESULT Delete();
125
126 HRESULT Duplicate(
127 [in, string] LPCWSTR pszwDuplicateName,
128 [out] INetConnection **ppCon);
129
130 HRESULT GetProperties([out] NETCON_PROPERTIES **ppProps);
131
132 HRESULT GetUiObjectClassId([out, ref] CLSID *pclsid);
133
134 HRESULT Rename([in, string] LPCWSTR pszwNewName);
135}
136
137[
138 object,
139 uuid(24b7e9b5-e38f-4685-851b-00892cf5f940),
140 oleautomation,
141 dual,
142 pointer_default(unique)
143]
144interface INetSharingPortMappingProps : IDispatch
145{
146 [propget, id(1)]
147 HRESULT Name([out, retval] BSTR *pbstrName);
148
149 [propget, id(2)]
150 HRESULT IPProtocol([out, retval] UCHAR *pucIPProt);
151
152 [propget, id(3)]
153 HRESULT ExternalPort([out, retval] long *pusPort);
154
155 [propget, id(4)]
156 HRESULT InternalPort([out, retval] long *pusPort);
157
158 [propget, id(5)]
159 HRESULT Options([out, retval] long *pdwOptions);
160
161 [propget, id(6)]
162 HRESULT TargetName([out, retval] BSTR *pbstrTargetName);
163
164 [propget, id(7)]
165 HRESULT TargetIPAddress([out, retval] BSTR *pbstrTargetIPAddress);
166
167 [propget, id(8)]
168 HRESULT Enabled([out, retval] VARIANT_BOOL *pbool);
169}
170
171[
172 object,
173 uuid(c08956b1-1cd3-11d1-b1c5-00805fc1270e),
174 oleautomation,
175 dual,
176 pointer_default(unique)
177]
178interface INetSharingPortMapping : IDispatch
179{
180 [id(1)]
181 HRESULT Disable();
182
183 [id(2)]
184 HRESULT Enable();
185
186 [propget, id(3)]
187 HRESULT Properties([out, retval] INetSharingPortMappingProps **ppNSPMP);
188
189 [id(4)]
190 HRESULT Delete();
191};
192[
193 object,
194 uuid(02e4a2de-da20-4e34-89c8-ac22275a010b),
195 oleautomation,
196 dual,
197 pointer_default(unique)
198]
199interface INetSharingPortMappingCollection : IDispatch
200{
201 [propget, id(DISPID_NEWENUM), restricted]
202 HRESULT _NewEnum([out, retval] IUnknown **pVal);
203
204 [propget, id(1)]
205 HRESULT Count([out, retval] long *pVal);
206}
207
208[
209 object,
210 uuid(c08956b6-1cd3-11d1-b1c5-00805fc1270e),
211 oleautomation,
212 dual,
213 pointer_default(unique)
214]
215interface INetSharingConfiguration : IDispatch
216{
217 typedef enum tagSHARINGCONNECTIONTYPE {
218 ICSSHARINGTYPE_PUBLIC,
219 ICSSHARINGTYPE_PRIVATE
220 } SHARINGCONNECTIONTYPE, *LPSHARINGCONNECTIONTYPE;
221
222 typedef enum tagSHARINGCONNECTION_ENUM_FLAGS {
223 ICSSC_DEFAULT,
224 ICSSC_ENABLED
225 } SHARINGCONNECTION_ENUM_FLAGS;
226
227 typedef enum tagICS_TARGETTYPE {
228 ICSTT_NAME,
229 ICSTT_IPADDRESS
230 }ICS_TARGETTYPE;
231
232 [propget, id(1)]
233 HRESULT SharingEnabled([out, retval] VARIANT_BOOL *pbEnabled);
234
235 [propget, id(2)]
236 HRESULT SharingConnectionType([out, retval] SHARINGCONNECTIONTYPE *pType);
237
238 [id(3)]
239 HRESULT DisableSharing();
240
241 [id(4)]
242 HRESULT EnableSharing([in] SHARINGCONNECTIONTYPE Type);
243
244 [propget, id(5)]
245 HRESULT InternetFirewallEnabled([out, retval] VARIANT_BOOL *pbEnabled);
246
247 [id(6)]
248 HRESULT DisableInternetFirewall();
249
250 [id(7)]
251 HRESULT EnableInternetFirewall();
252
253 [propget, id(8)]
254 HRESULT EnumPortMappings(
255 [in] SHARINGCONNECTION_ENUM_FLAGS Flags,
256 [out, retval] INetSharingPortMappingCollection **ppColl);
257
258 [id(9)]
259 HRESULT AddPortMapping(
260 [in] BSTR bstrName,
261 [in] UCHAR ucIPProtocol,
262 [in] USHORT usExternalPort,
263 [in] USHORT usInternalPort,
264 [in] DWORD dwOptions,
265 [in] BSTR bstrTargetNameOrIPAddress,
266 [in] ICS_TARGETTYPE eTargetType,
267 [out, retval] INetSharingPortMapping **ppMapping );
268
269 [id(10)]
270 HRESULT RemovePortMapping([in] INetSharingPortMapping *pMapping);
271}
272
273[
274 object,
275 uuid(c08956b4-1cd3-11d1-b1c5-00805fc1270e),
276 pointer_default(unique)
277]
278interface IEnumNetSharingPublicConnection : IUnknown
279{
280 HRESULT Next(
281 [in] ULONG celt,
282 [out, size_is(celt), length_is(*pceltFetched)] VARIANT *rgVar,
283 [out] ULONG *pceltFetched);
284
285 HRESULT Skip([in] ULONG celt);
286
287 HRESULT Reset();
288
289 HRESULT Clone([out] IEnumNetSharingPublicConnection **ppenum);
290}
291
292[
293 object,
294 uuid(c08956b5-1cd3-11d1-b1c5-00805fc1270e),
295 pointer_default(unique)
296]
297interface IEnumNetSharingPrivateConnection : IUnknown
298{
299 HRESULT Next(
300 [in] ULONG celt,
301 [out, size_is(celt), length_is(*pCeltFetched)] VARIANT *rgVar,
302 [out] ULONG *pCeltFetched);
303
304 HRESULT Skip([in] ULONG celt);
305
306 HRESULT Reset();
307
308 HRESULT Clone([out] IEnumNetSharingPrivateConnection **ppenum);
309}
310
311[
312 object,
313 uuid(f4277c95-ce5b-463d-8167-5662d9bcaa72),
314 oleautomation,
315 dual,
316 pointer_default(unique)
317]
318interface INetConnectionProps : IDispatch
319{
320 [propget, id(1)]
321 HRESULT Guid([out, retval] BSTR *pbstrGuid);
322
323 [propget, id(2)]
324 HRESULT Name([out, retval] BSTR *pbstrName);
325
326 [propget, id(3)]
327 HRESULT DeviceName([out, retval] BSTR *pbstrDeviceName);
328
329 [propget, id(4)]
330 HRESULT Status([out, retval] NETCON_STATUS *pStatus);
331
332 [propget, id(5)]
333 HRESULT MediaType([out, retval] NETCON_MEDIATYPE *pMediaType);
334
335 [propget, id(6)]
336 HRESULT Characteristics([out, retval] DWORD *pdwFlags);
337}
338
339[
340 object,
341 uuid(7d7a6355-f372-4971-a149-bfc927be762a),
342 oleautomation,
343 dual,
344 pointer_default(unique)
345]
346interface INetSharingPublicConnectionCollection : IDispatch
347{
348 [propget, id(DISPID_NEWENUM), restricted]
349 HRESULT _NewEnum([out, retval] IUnknown **pVal);
350
351 [propget, id(1)]
352 HRESULT Count([out, retval] long *pVal);
353}
354
355[
356 object,
357 uuid(33c4643c-7811-46fa-a89a-768597bd7223),
358 oleautomation,
359 dual,
360 pointer_default(unique)
361 ]
362interface INetSharingEveryConnectionCollection : IDispatch
363{
364 [propget, id(DISPID_NEWENUM), restricted]
365 HRESULT _NewEnum([out, retval] IUnknown **pVal);
366
367 [propget, id(1)]
368 HRESULT Count([out, retval] long *pVal);
369}
370
371[
372 object,
373 uuid(38ae69e0-4409-402a-a2cb-e965c727f840),
374 oleautomation,
375 dual,
376 pointer_default(unique)
377 ]
378interface INetSharingPrivateConnectionCollection : IDispatch
379{
380 [propget, id(DISPID_NEWENUM), restricted]
381 HRESULT _NewEnum([out, retval] IUnknown **pVal);
382
383 [propget, id(1)]
384 HRESULT Count([out, retval] long *pVal);
385}
386
387[
388 object,
389 uuid(c08956b7-1cd3-11d1-b1c5-00805fc1270e),
390 oleautomation,
391 dual,
392 pointer_default(unique)
393]
394interface INetSharingManager : IDispatch
395{
396 [propget, id(1)]
397 HRESULT SharingInstalled([out, retval] VARIANT_BOOL *pbInstalled);
398
399 [propget, id(2)]
400 HRESULT EnumPublicConnections(
401 [in] SHARINGCONNECTION_ENUM_FLAGS Flags,
402 [out, retval] INetSharingPublicConnectionCollection **ppColl);
403
404 [propget, id(3)]
405 HRESULT EnumPrivateConnections(
406 [in] SHARINGCONNECTION_ENUM_FLAGS Flags,
407 [out, retval] INetSharingPrivateConnectionCollection **ppColl);
408
409 [propget, id(6)]
410 HRESULT INetSharingConfigurationForINetConnection(
411 [in] INetConnection *pNetConnection,
412 [out, retval] INetSharingConfiguration **ppNetSharingConfiguration);
413
414 [propget, id(7)]
415 HRESULT EnumEveryConnection([out, retval] INetSharingEveryConnectionCollection **ppColl);
416
417 [propget, id(8)]
418 HRESULT NetConnectionProps(
419 [in] INetConnection *pNetConnection,
420 [out, retval] INetConnectionProps **ppProps);
421}
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette