if_indextoname関数 (netioapi.h)
if_indextoname関数は、ネットワーク インターフェイスのローカル インデックスを ANSI インターフェイス名に変換します。
構文
IPHLPAPI_DLL_LINKAGE PCHAR NETIOAPI_API_ if_indextoname(
[in] NET_IFINDEX InterfaceIndex,
[out] PCHAR InterfaceName
);
パラメーター
[in] InterfaceIndex
ネットワーク インターフェイスのローカル インデックス。
[out] InterfaceName
関数が正常に返されたときにインターフェイス名を含む NULL で終わる ANSI 文字列を保持するバッファーへのポインター。 このパラメーターが指すバッファーの長さ (バイト単位) は、 IF_NAMESIZE以上である必要があります。
戻り値
成功 した場合、if_indextoname はインターフェイス名を含む NULL で終わる ANSI 文字列へのポインターを返します。 失敗した場合は、 NULL ポインターが返されます。
注釈
if_indextoname関数は、Windows Vista 以降で使用できます。
if_indextoname関数は、インターフェイス インデックスを対応する名前にマップします。 この関数は、RFC 2553 の IETF で説明されているように、IPv6 の基本的なソケット拡張機能の一部として設計されています。 詳細については、「http://www.ietf.org/rfc/rfc2553.txt」を参照してください。
if_indextoname関数は、Unix 環境でのアプリケーションの移植性を実現するために実装されていますが、ConvertInterface 関数を使用することをお勧めします。 if_indextoname関数を ConvertInterfaceIndexToLuid 関数の呼び出しに置き換えて、インターフェイス インデックスをNET_LUIDに変換し、その後に ConvertInterfaceLuidToNameA を呼び出して、NET_LUIDを ANSI インターフェイス名に変換できます。
if_indextonameが失敗し、NULL ポインターを返した場合、エラー コードを特定することはできません。
InterfaceName パラメーターが指すバッファーの長さ (バイト単位) は、netioapi.h ヘッダー ファイルで宣言された値IF_NAMESIZEと等しいか、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 ヘッダー ファイルは、Iphlpapi.h ヘッダー ファイルによって自動的に含まれる Netioapi.h ヘッダー ファイルに自動的に含まれます。 Ntddndis.h、Ifdef.h、および Netioapi.h ヘッダー ファイルを直接使用しないでください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | netioapi.h (Iphlpapi.h を含む) |
Library | Iphlpapi.lib |
[DLL] | Iphlpapi.dll |