2 * Copyright 2014 Hans Leidekker for CodeWeavers
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
22 interface IEnumNetworks
;
23 interface IEnumNetworkConnections
;
25 interface INetworkConnection
;
26 interface INetworkListManager
;
28 typedef [v1_enum] enum NLM_CONNECTIVITY
30 NLM_CONNECTIVITY_DISCONNECTED
= 0x0000,
31 NLM_CONNECTIVITY_IPV4_NOTRAFFIC
= 0x0001,
32 NLM_CONNECTIVITY_IPV6_NOTRAFFIC
= 0x0002,
33 NLM_CONNECTIVITY_IPV4_SUBNET
= 0x0010,
34 NLM_CONNECTIVITY_IPV4_LOCALNETWORK
= 0x0020,
35 NLM_CONNECTIVITY_IPV4_INTERNET
= 0x0040,
36 NLM_CONNECTIVITY_IPV6_SUBNET
= 0x0100,
37 NLM_CONNECTIVITY_IPV6_LOCALNETWORK
= 0x0200,
38 NLM_CONNECTIVITY_IPV6_INTERNET
= 0x0400
41 typedef [v1_enum] enum NLM_ENUM_NETWORK
43 NLM_ENUM_NETWORK_CONNECTED
= 0x01,
44 NLM_ENUM_NETWORK_DISCONNECTED
= 0x02,
45 NLM_ENUM_NETWORK_ALL
= 0x03
52 pointer_default(unique),
53 uuid(dcb00000
-570f
-4a9b
-8d69
-199fdba5723b
)
55 interface INetworkListManager
: IDispatch
58 [in] NLM_ENUM_NETWORK Flags
,
59 [out, retval] IEnumNetworks
**ppEnumNetwork
);
62 [in] GUID gdNetworkId
,
63 [out, retval] INetwork
**ppNetwork
);
65 HRESULT GetNetworkConnections
(
66 [out, retval] IEnumNetworkConnections
**ppEnum
);
68 HRESULT GetNetworkConnection
(
69 [in] GUID gdNetworkConnectionId
,
70 [out, retval] INetworkConnection
**ppNetworkConnection
);
72 HRESULT IsConnectedToInternet
(
73 [out, retval] VARIANT_BOOL *pbIsConnected
);
76 [out, retval] VARIANT_BOOL *pbIsConnected
);
78 HRESULT GetConnectivity
(
79 [out, retval] NLM_CONNECTIVITY
*pConnectivity
);
83 uuid(dcb00c01
-570f
-4a9b
-8d69
-199fdba5723b
)
85 coclass NetworkListManager
{ interface INetworkListManager
; }