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中所述。
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常數。
注意
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 |