if_nametoindex 関数

if_nametoindex 関数は、ネットワーク インターフェイスの ANSI インターフェイス名をインターフェイスのローカル インデックスに変換します。

構文

NET_IFINDEX NETIOAPI_API_ if_nametoindex(
  _In_ PCSTR InterfaceName
);

パラメーター

  • InterfaceName [in]
    インターフェイス名を含むNULLで終わるANSI文字列へのポインター。

戻り値

関数が成功した場合、 if_nametoindex はローカル インターフェイスインデックスを返します。 関数が失敗した場合、 if_nametoindex は 0 を返します。

解説

if_nametoindex 関数は、インターフェイス名を対応するインデックスにマップします。 この関数は、 RFC 2553の IETF で説明されているように、IPv6 の基本的なソケット拡張機能の一部として設計されています。

if_nametoindex 関数は Unix 環境でのドライバーの移植性のために実装されていますが、 ConvertInterfaceXxx 関数は、ネットワーク インターフェイス識別子を変換するための推奨される方法です。 if_nametoindex 関数を ConvertInterfaceNameToLuidA 関数を呼び出して ANSI インターフェイス名を NET_LUID 共用体に変換し、その後に ConvertInterfaceLuidToIndex 関数を呼び出して、NET_LUIDをローカル インターフェイス インデックスに変換することができます。

if_nametoindex 関数が失敗し、0 が返された場合、エラー コードを特定できません。

要件

対象プラットフォーム

ユニバーサル

バージョン

Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。

ヘッダー

Netioapi.h (Netioapi.h を含む)

ライブラリ

Netio.lib

IRQL

PASSIVE_LEVEL

関連項目

ConvertInterfaceLuidToIndex

ConvertInterfaceNameToLuidA

NET_LUID