次の方法で共有


if_indextoname関数

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

構文

PCHAR NETIOAPI_API_ if_indextoname(
  _In_  NET_IFINDEX InterfaceIndex,
  _Out_ PCHAR       InterfaceName
);

パラメーター

  • InterfaceIndex [in]
    ネットワーク インターフェイスのローカル インデックス。

  • InterfaceName [out]
    NULL で終わる ANSI 文字列を保持するバッファーへのポインター。 if_indextoname 成功した場合、InterfaceName には ANSI インターフェイス名が含まれます。 このパラメーターが指すバッファーの長さ (バイト単位) は、IF_NAMESIZE以上である必要があります。 IF_NAMESIZEの詳細については、次の「解説」セクションを参照してください。

戻り値

この関数が成功した場合、if_indextoname はインターフェイス名を含む NULL で終わる ANSI 文字列へのポインターを返します。 この関数が失敗した場合、if_indextonameNULL ポインターを返します

備考

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

if_indextoname 関数は Unix 環境でのドライバーの移植性を実現するために実装されていますが、ネットワーク インターフェイス識別子を変換するには、ConvertInterfaceXxx関数を することをお勧めします。 if_indextoname 関数は、ConvertInterfaceIndexToLuid 関数を呼び出してインターフェイス インデックスを NET_LUID 共用体に変換した後、ConvertInterfaceLuidToNameA 関数を呼び出して、NET_LUIDを ANSI インターフェイス名に変換することで置き換えることができます。

InterfaceName パラメーターが指すバッファーの長さ (バイト単位) は、IF_NAMESIZE以上である必要があります。 IF_NAMESIZE値は、netioapi.h ヘッダー ファイルでNDIS_IF_MAX_STRING_SIZEと同じように定義されます。 インターフェイス名の最大長 (終了 NULL 文字を除くNDIS_IF_MAX_STRING_SIZE) は、Ntddndis.h ヘッダー ファイルで宣言されます。 NDIS_IF_MAX_STRING_SIZEは、Ifdef.h ヘッダー ファイルで定義されているIF_MAX_STRING_SIZE定数として定義されます。

手記

Ntddndis.h および Ifdef.h ヘッダー ファイルは、Netioapi.h ヘッダー ファイルに自動的に含まれます。 Ntddndis.h と ifdef.h ヘッダー ファイルを直接 しないでください。

if_indextoname 関数が失敗し、NULL ポインターが返された場合、エラー コードを特定できません。

必要条件

ターゲット プラットフォーム

ユニバーサル

バージョン

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

ヘッダ

Netioapi.h (Netioapi.h を含む)

図書館

Netio.lib

IRQL

PASSIVE_LEVEL

関連項目

ConvertInterfaceIndexToLuid

ConvertInterfaceLuidToNameA

NET_LUID