Network List Manager

Overview of the Network List Manager technology.

To develop Network List Manager, you need these headers:

For programming guidance for this technology, see:

Enumerations

 
NLM_CONNECTION_COST

The NLM_CONNECTION_COST enumeration specifies a set of cost levels and cost flags supported in Windows 8 Cost APIs.
NLM_CONNECTION_PROPERTY_CHANGE

The NLM_CONNECTION PROPERTY_CHANGE enumeration is a set of flags that define changes made to the properties of a network connection.
NLM_CONNECTIVITY

The NLM_Connectivity enumeration is a set of flags that provide notification whenever connectivity related parameters have changed.
NLM_DOMAIN_AUTHENTICATION_KIND

Defines constants that specify a domain authentication method.
NLM_DOMAIN_TYPE

The NLM_DOMAIN_TYPE enumeration is a set of flags that specify the domain type of a network.
NLM_ENUM_NETWORK

The NLM_ENUM_NETWORK enumeration contains a set of flags that specify what types of networks are enumerated.
NLM_INTERNET_CONNECTIVITY

The NLM_INTERNET_CONNECTIVITY enumeration defines a set of flags that provide additional data for IPv4 or IPv6 network connectivity.
NLM_NETWORK_CATEGORY

The NLM_NETWORK_CATEGORY enumeration is a set of flags that specify the category type of a network.
NLM_NETWORK_CLASS

NLM_NETWORK_CLASS enumeration defines a set of flags that specify if a network has been identified.
NLM_NETWORK_PROPERTY_CHANGE

The NLM_NETWORK_PROPERTY_CHANGE enumeration is a set of flags that define changes made to the properties of a network.

Functions

 
ClearSimulatedProfileInfo

Clears the connection profile values previously applied to the internet connection profile by SetSimulatedProfileInfo. The next internet connection query, via GetInternetConnectionProfile, will use system information.
Clone

The Clone method creates an enumerator that contains the same enumeration state as the enumerator currently in use. (IEnumNetworkConnections.Clone)
Clone

The Clone method creates an enumerator that contains the same enumeration state as the enumerator currently in use. (IEnumNetworks.Clone)
ConnectionCostChanged

ConnectionCostChanged method notifies an application of a network cost change for a connection.
ConnectionDataPlanStatusChanged

ConnectionDataPlanStatusChanged method notifies an application of a data plan status change on a connection.
ConnectivityChanged

The NetworkConnectivityChanged method is called when network connectivity related changes occur. (INetworkListManagerEvents.ConnectivityChanged)
CostChanged

CostChanged method is called to indicates a cost change for either machine-wide Internet connectivity, or the first-hop of routing to a specific destination on a connection.
DataPlanStatusChanged

DataPlanStatusChanged method is called to indicate a change to the status of a data plan associated with either a connection used for machine-wide Internet connectivity, or the first-hop of routing to a specific destination on a connection.
FreeInterfaceContextTable

This function frees the interface context table retrieved using the GetInterfaceContextTableForHostName function.
get__NewEnum

The get_NewEnum property returns an automation enumerator object that you can use to iterate through the IEnumNetworkConnections collection.
get__NewEnum

The get_NewEnum property returns an automation enumerator object that you can use to iterate through the IEnumNetworks collection.
get_IsConnected

The get_IsConnected property specifies if the network has any network connectivity.
get_IsConnected

The get_IsConnected property specifies if the associated network connection has network connectivity.
get_IsConnected

The get_IsConnected property specifies if the local machine has network connectivity.
get_IsConnectedToInternet

The get_IsConnectedToInternet property specifies if the network has internet connectivity.
get_IsConnectedToInternet

The get_IsConnectedToInternet property specifies if the associated network connection has internet connectivity.
get_IsConnectedToInternet

The get_IsConnectedToInternet property specifies if the local machine has internet connectivity.
GetAdapterId

The GetAdapterID method returns the ID of the network adapter used by this connection.
GetCategory

The GetCategory method returns the category of a network.
GetConnectionId

The GetConnectionID method returns the Connection ID associated with this network connection.
GetConnectivity

The GetConnectivity method returns the connectivity state of the network.
GetConnectivity

The GetConnectivity method returns the connectivity state of the network connection.
GetConnectivity

The GetConnectivity method returns the overall connectivity state of the machine.
GetCost

GetCost method retrieves the network cost associated with a connection.
GetCost

GetCost method retrieves the current cost of either a machine-wide internet connection, or the first-hop of routing to a specific destination on a connection.
GetDataPlanStatus

GetDataPlanStatus method retrieves the status of the data plan associated with a connection.
GetDataPlanStatus

GetDataPlanStatus retrieves the data plan status for either a machine-wide internet connection , or the first-hop of routing to a specific destination on a connection.
GetDescription

The GetDescription method returns a description string for the network.
GetDomainType

The GetDomainType method returns the domain type of a network.
GetDomainType

The GetDomainType method returns the domain type of the network connection.
GetInterfaceContextTableForHostName

This function retrieves an interface context table for the given hostname and connection profile filter.
GetName

The GetName method returns the name of a network.
GetNetwork

The GetNetwork method returns the network associated with the connection.
GetNetwork

The GetNetwork method retrieves a network based on a supplied network ID.
GetNetworkConnection

The GetNetworkConnection method retrieves a network based on a supplied Network Connection ID.
GetNetworkConnections

The GetNetworkConnections method returns an enumeration of all network connections for a network. A network can have multiple connections to it from different interfaces or different links from the same interface.
GetNetworkConnections

The GetNetworkConnections method enumerates a complete list of the network connections that have been made.
GetNetworkId

The GetNetworkId method returns the unique identifier of a network.
GetNetworks

The GetNetworks method retrieves the list of networks available on the local machine.
GetTimeCreatedAndConnected

The GetTimeCreatedAndConnected method returns the local date and time when the network was created and connected.
IsDomainAuthenticatedBy

Queries whether the specified domain authentication method succeeded for this network.
IsDomainAuthenticatedBy

Queries whether the specified domain authentication method succeeded for this network connection.
NetworkAdded

The NetworkAdded method is called when a new network is added. The GUID of the new network is provided.
NetworkConnectionConnectivityChanged

The NetworkConnectionConnectivityChanged method notifies a client when connectivity change events occur on a network connection level.
NetworkConnectionPropertyChanged

The NetworkConnectionPropertyChanged method notifies a client when property change events related to a specific network connection occur.
NetworkConnectivityChanged

The NetworkConnectivityChanged method is called when network connectivity related changes occur. (INetworkEvents.NetworkConnectivityChanged)
NetworkDeleted

The NetworkDeleted method is called when a network is deleted.
NetworkPropertyChanged

The NetworkPropertyChanged method is called when a network property change is detected.
Next

The Next method gets the next specified number of elements in the enumeration sequence. (IEnumNetworkConnections.Next)
Next

The Next method gets the next specified number of elements in the enumeration sequence. (IEnumNetworks.Next)
OnDemandGetRoutingHint

The OnDemandGetRoutingHint function looks up a destination in the Route Request cache and, if a match is found, return the corresponding Interface ID.
OnDemandRegisterNotification

The OnDemandRegisterNotification function allows an application to register to be notified when the Route Requests cache is modified.
OnDemandUnRegisterNotification

The OnDemandUnregisterNotification function allows an application to unregister for notifications and clean up resources.
Reset

The Reset method resets the enumeration sequence to the beginning. (IEnumNetworkConnections.Reset)
Reset

The Reset method resets the enumeration sequence to the beginning. (IEnumNetworks.Reset)
SetCategory

The SetCategory method sets the category of a network. Changes made take effect immediately. Callers of this API must be members of the Administrators group.
SetDescription

The SetDescription method sets or replaces the description for a network.
SetDestinationAddresses

SetDestinationAddresses method registers specified destination IPv4/IPv6 addresses to receive cost or data plan status change notifications.
SetName

The SetName method sets or renames a network.
SetSimulatedProfileInfo

The SetSimulatedProfileInfo method applies a specific set of connection profile values to the internet connection profile in support of the simulation of specific metered internet connection conditions.
Skip

The Skip method skips over the next specified number of elements in the enumeration sequence. (IEnumNetworkConnections.Skip)
Skip

The Skip method skips over the next specified number of elements in the enumeration sequence. (IEnumNetworks.Skip)

Interfaces

 
IEnumNetworkConnections

The IEnumNetworkConnections interface provides a standard enumerator for network connections. It enumerates active, disconnected, or all network connections within a network. This interface can be obtained from the INetwork interface.
IEnumNetworks

The IEnumNetworks interface is a standard enumerator for networks. It enumerates all networks available on the local machine. This interface can be obtained from the INetworkListManager interface.
INetwork

The INetwork interface represents a network on the local machine. It can also represent a collection of network connections with a similar network signature.
INetwork2

The INetwork2 interface represents a network on the local machine. It can also represent a collection of network connections with a similar network signature.
INetworkConnection

The INetworkConnection interface represents a single network connection.
INetworkConnection2

The INetworkConnection2 interface represents a single network connection.
INetworkConnectionCost

To query current network cost and data plan status associated with a connection.
INetworkConnectionCostEvents

This interface to notify an application of cost and data plan status change events for a connection.
INetworkConnectionEvents

The INetworkConnectionEvents interface is a message sink interface that a client implements to get network connection-related events. Applications that are interested in lower-level events (such as authentication changes) must implement this interface.
INetworkCostManager

Use this interface to query for machine-wide cost and data plan status information associated with either a connection used for machine-wide Internet connectivity, or the first-hop of routing to a specific destination on a connection.
INetworkCostManagerEvents

This interface to notify an application of machine-wide cost and data plan related events.
INetworkEvents

INetworkEvents is a notification sink interface that a client implements to get network related events. These APIs are all callback functions that are called automatically when the respective events are raised.
INetworkListManager

The INetworkListManager interface provides a set of methods to perform network list management functions.
INetworkListManagerEvents

INetworkListManagerEvents is a message sink interface that a client implements to get overall machine state related events. Applications that are interested on higher-level events, for example internet connectivity, implement this interface.

Structures

 
NET_INTERFACE_CONTEXT

The interface context that is part of the NET_INTERFACE_CONTEXT_TABLE structure.
NET_INTERFACE_CONTEXT_TABLE

The table of NET_INTERFACE_CONTEXT structures.
NLM_DATAPLAN_STATUS

NLM_DATAPLAN_STATUS structure stores the current data plan status information supplied by the carrier.
NLM_SIMULATED_PROFILE_INFO

Used to specify values that are used by SetSimulatedProfileInfo to override current internet connection profile values in an RDP Child Session to support the simulation of specific metered internet connection conditions.
NLM_SOCKADDR

NLM_SOCKADDR structure contains the IPv4/IPv6 destination address.
NLM_USAGE_DATA

NLM_USAGE_DATA structure stores information that indicates the data usage of a plan.