The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

How to retrieve network adapter and locality information (HTML)

This topic demonstrates how to retrieve LanIdentifier objects associated with adapters on a network, and access information that can be used to determine its relative location within the network infrastructure using classes in the Windows.Networking.Connectivity namespace.

A LanIdentifier object defines methods an app uses to retrieve infrastructure/port ID values for determining location, and the ID value associated with a network adapter. This ID is expressed as a ConnectionProfile property to show its association with the network connection.

What you need to know



The following examples use JavaScript and are based on the Network information sample. For general help creating a Windows Runtime app using JavaScript, see Create your first Windows Runtime app using JavaScript.

Retrieve all LanIdentifier objects

Our first example function calls NetworkInformation.getLanIdentifiers method to retrieve an array of LanIdentifier objects.

var networkInfo = Windows.Networking.Connectivity.NetworkInformation;

function DisplayLanIdentifiers() {
     var lanIdentifier = "";
     try {
         var lanIdentifiers = networkInfo.getLanIdentifiers();
         if (lanIdentifiers.length !== 0) {
             lanIdentifier += "Number of LAN Identifiers retrieved: " + lanIdentifiers.length + "\n\r";
             lanIdentifier += "=============================================\n\r";
             for (var i = 0; i < lanIdentifiers.length; i++) {
                 //Display Lan Identifier data for each identifier
                 lanIdentifier += getLanIdentifierData(lanIdentifiers[i]);
                 lanIdentifier += "----------------------------------------------------------------\n\r";
         else {
             mySample.displayStatus("No LAN identifier data found");

     catch (e) {
         mySample.displayError("Exception Caught: " + e + "\n\r");

Display the properties of a LanIdentifier object

We then pass a LanIdentifier object returned in the previous step to the following example function to display the specific infrastructure ID, port ID, and network adapter ID values.

var networkInfo = Windows.Networking.Connectivity.NetworkInformation;
function getLanIdentifierData(lanIdentifier) {
    var lanIdentifierData = "";
    var i = 0;
    try {
        if (lanIdentifier === null) {
            return "";
        if (lanIdentifier.infrastructureId !== null) {
            lanIdentifierData += "Infrastructure Type: " + lanIdentifier.infrastructureId.type + "\n\r";
            lanIdentifierData += "Infrastructure Value: [";
            for (i = 0; i < lanIdentifier.infrastructureId.value.length; i++) {
                //Display the Infrastructure value array
                lanIdentifierData += lanIdentifier.infrastructureId.value[i].toString(16) + " ";
            lanIdentifierData += "]\n\r";
        if (lanIdentifier.portId !== null) {
            lanIdentifierData += "Port Type : " + lanIdentifier.portId.type + "\n\r";
            lanIdentifierData += "Port Value: [";
            for (i = 0; i < lanIdentifier.portId.value.length; i++) {
                //Display the PortId value array
                lanIdentifierData += lanIdentifier.portId.value[i].toString(16) + " ";
            lanIdentifierData += "]\n\r";
        if (lanIdentifier.networkAdapterId !== null) {
            lanIdentifierData += "Network Adapter Id : " + lanIdentifier.networkAdapterId + "\n\r";
    catch (e) {
        mySample.displayError("Exception Caught: " + e + "\n\r");
    return lanIdentifierData;

Related topics

Create your first Windows Runtime app using JavaScript
How to handle exceptions in network apps
How to manage metered network cost constraints
How to manage network connection events and changes in availability
How to retrieve network connection information
How to retrieve network connection usage data
Network information sample
Network status background sample