RtlIpv6AddressToStringExW 函式 (ip2string.h)
RtlIpv6AddressToStringEx 函式會將 IPv6 位址、範圍標識碼和埠號碼轉換為字串。
語法
NTSYSAPI NTSTATUS RtlIpv6AddressToStringExW(
[in] const in6_addr *Address,
[in] ULONG ScopeId,
[in] USHORT Port,
[out] PWSTR AddressString,
[in, out] PULONG AddressStringLength
);
參數
[in] Address
以網路位元組順序排列的IPv6位址。
[in] ScopeId
依網路位元組順序的IPv6位址範圍標識碼。 這是選擇性參數。
[in] Port
網路位元組順序格式的埠號碼。 這是選擇性參數。
[out] AddressString
緩衝區的指標,可接收IP位址、範圍標識元和埠的 NULL終止字串表示。 此緩衝區的大小應該足以保存至少INET6_ADDRSTRLEN個字元。 INET6_ADDRSTRLEN值定義於 Ws2ipdef.h 頭檔中。
[in, out] AddressStringLength
在輸入時,符合 AddressString 參數所指向之緩衝區中的字元數,包括 NULL 終止符。 在輸出時,此參數包含實際寫入 AddressString 參數所指向之緩衝區的字元數。
傳回值
如果函式成功,傳回值 會STATUS_SUCCESS。
如果函式失敗,傳回值就是下列其中一個錯誤碼。
傳回碼 | Description |
---|---|
|
無效的參數已傳遞至 函式。 如果在 AddressString 或 AddressStringLength 參數中傳遞 NULL 指標,就會傳回此錯誤。 如果 AddressString 參數所指向的緩衝區長度不足以接收 IPv6 位址、範圍標識碼和埠的字串表示,也會傳回此錯誤。 |
|
使用 FormatMessage 取得傳回錯誤的訊息字串。 |
備註
RtlIpv6AddressToStringEx 函式可用來將 IPv6 位址、範圍標識符和埠號碼轉換成因特網格式之 IPv6 位址的字串表示,後面接著範圍標識符的字元串表示,後面接著埠的字串表示。 範圍標識碼和埠號碼是選擇性參數。
傳回之 IPv6 位址的基本字串表示是由以冒號分隔的 8 個十六進位數位所組成。 連續零十六進位數位的字串會以雙冒號取代。 IPv6 位址的字串表示中只能有一個雙冒號。 如果位址是 IPv4 相容位址、IPv4 對應 IPv6 位址或 ISATAP 位址,則最後 32 位會以 IPv4 樣式的 dotted-octet 表示法表示。 如需詳細資訊,請參閱 IETF 所發行 RFC 5942 的第 5 節。
如果提供範圍標識碼,範圍標識符的字串表示會以百分比字元分隔為 IPv6 位址的字串表示, (『%』) 。 如果提供埠號碼,則 IPv6 位址的字串表示法和範圍標識符會以方括弧括住, (前置 '[' 字元後面接著 IPv6 位址,後面接著 '% 字元後面接著尾端 ']' 字元的範圍標識符) 。 埠號碼會以冒號表示,後面接著右方大括號字元後面接著小數點的埠號碼字串表示。
RtlIpv6AddressToStringEx 是一個便利函式,不需要載入 Windows Sockets DLL 以存取 Windows Sockets 中提供的函式,以執行 IP 位址到字符串轉換。
如果 AddressString 參數所指向的緩衝區長度不夠大,無法接收 IP 位址、範圍標識符和埠的字串表示, RtlIpv6AddressToStringEx 會傳回 ERROR_INVALID_PARAMETER ,並將 AddressStringLength 參數設定為所需的緩衝區長度。
定義 UNICODE 或_UNICODE時, RtlIpv6AddressToStringEx 會定義為 RtlIpv6AddressToStringExW,此函式的 Unicode 版本。 AddressString 參數會定義至 PWSTR 數據類型。
未定義 UNICODE 和_UNICODE時, RtlIpv6AddressToStringEx 會定義為 RtlIpv6AddressToStringExA,此函式的 ANSI 版本。 AddressString 參數會定義為 PSTR 數據類型。
IN6_ADDR 結構定義於 In6addr.h 頭檔中。
Microsoft Windows 軟體開發工具包中不包含包含 RtlIpv6AddressToStringEx 函式的匯入連結庫, (SDK) 針對 Windows Vista 發行。 RtlIpv6AddressToStringEx 函式包含在 Windows Driver Kit (WDK) 中包含的 Ntdll.lib 匯入連結庫中。 應用程式也可以使用 GetModuleHandle 和 GetProcAddress 函式,從 Ntdll.dll 擷取函式指標,並呼叫此函式。
規格需求
最低支援的用戶端 | Windows Vista [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | ip2string.h (包含 Mstcpip.h) |
程式庫 | ntdll.lib |
Dll | ntdll.dll |