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 |