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_indextoname 會傳回 Null 指標
備註
if_indextoname函式會將介面索引對應至其對應的名稱。 此函式是設計為 IPv6 的基本通訊端延伸模組的一部分,如 RFC 2553中的 IETF 所述。
if_indextoname函式是實作以移植 Unix 環境的驅動程式,但ConvertInterfaceXxx函式是轉換網路介面識別碼的慣用方法。 您可以藉由呼叫ConvertInterfaceIndexToLuid函式來取代if_indextoname函式,以將介面索引轉換成NET_LUID聯集,後面接著呼叫ConvertInterfaceLuidToNameA函式,將NET_LUID轉換為 ANSI 介面名稱。
InterfaceName參數指向的緩衝區長度,以位元組為單位,必須等於或大於IF_NAMESIZE。 IF_NAMESIZE值定義在 Netioapi.h 標頭檔中,等於NDIS_IF_MAX_STRING_SIZE。 在 Ntddndis.h 標頭檔中宣告了沒有終止 Null 字元的介面名稱長度上限NDIS_IF_MAX_STRING_SIZE。 NDIS_IF_MAX_STRING_SIZE定義為 Ifdef.h 標頭檔中定義的IF_MAX_STRING_SIZE常數。
注意
Netioapi.h標頭檔中會自動包含Ntddndis.h和Ifdef.h標頭檔。 您絕對不應該直接使用 Ntddndis.h 和 Ifdef.h 標頭檔。
如果 if_indextoname 函式失敗並傳回 Null 指標,則無法判斷錯誤碼。
規格需求
目標平台 |
普遍 |
版本 |
可在 Windows Vista 和更新版本的 Windows 作業系統中使用。 |
標頭 |
Netioapi.h (包含 Netioapi.h) |
程式庫 |
Netio.lib |
IRQL |
PASSIVE_LEVEL |