ネットワーク アダプターと位置情報を取得する方法 (HTML)

[ この記事は、Windows ランタイム アプリを作成する Windows 8.x および Windows Phone 8.x 開発者を対象としています。Windows 10 向けの開発を行っている場合は、「最新のドキュメント」をご覧ください]

このトピックでは、Windows.Networking.Connectivity 名前空間のクラスを使って、ネットワーク上のアダプターに関連付けられている LanIdentifier オブジェクトを取得して、ネットワーク インフラストラクチャにおける相対位置を特定する情報にアクセスする方法を紹介します。

LanIdentifier オブジェクトは、位置を特定するインフラストラクチャ/ポート ID の値、ネットワーク アダプターに関連付けられている ID をアプリが取得するのに使うメソッドを定義します。この ID は、ネットワーク接続との関連付けを示す ConnectionProfile プロパティで表されます。

理解しておく必要があること

テクノロジ

必要条件

次の例は、JavaScript で記述されており、ネットワーク情報のサンプルに基づいています。 JavaScript を使った Windows ランタイム アプリの作成についての一般的なヘルプは、「JavaScript を使った初めての Windows ランタイム アプリの作成」をご覧ください。

すべての LanIdentifier オブジェクトの取得

最初の例の関数は、NetworkInformation.getLanIdentifiers メソッドを呼び出して、LanIdentifier オブジェクトの配列を取得します。

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";
             }
             mySample.displayStatus(lanIdentifier);
         }
         else {
             mySample.displayStatus("No LAN identifier data found");
         }
     }

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

LanIdentifier オブジェクトのプロパティの表示

次に、前の手順で返された LanIdentifier オブジェクトを次の例の関数に渡すと、特定のインフラストラクチャ ID、ポート ID、ネットワーク アダプター ID の値が表示されます。

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;
}

関連トピック

その他

JavaScript を使った初めての Windows ランタイム アプリの作成

ネットワーク アプリで例外を処理する方法

従量制課金接続のコスト制約を管理する方法

ネットワーク接続イベントと可用性の変更を管理する方法

ネットワーク接続情報を取得する方法

ネットワーク接続の使用状況データを取得する方法

リファレンス

LanIdentifier

LanIdentifierData

NetworkAdapter

NetworkInformation

NetworkInformation.getLanIdentifiers

サンプル

Network Information のサンプルに関するページ

ネットワークの状態の背景のサンプル