RtlIpv6AddressToStringEx 函式會將 IPv6 位址、範圍標識碼和埠號碼轉換成字串。
語法
NTSYSAPI NTSTATUS RtlIpv6AddressToStringExA(
[in] const in6_addr *Address,
[in] ULONG ScopeId,
[in] USHORT Port,
[out] PSTR 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 位址字串表示法,後面接著範圍標識碼的字串表示法,後面接著埠的字串表示法。 範圍 ID 和連接埠號碼是選用參數。
傳回的 IPv6 位址的基本字串表示法由 8 個十六進位數字組成,並以冒號分隔。 一串連續的零十六進位數會以雙冒號取代。 IPv6 位址的字串表示法中只能有一個雙冒號。 如果位址是 IPv4 相容位址、IPv4 對映 IPv6 位址或 ISATAP 位址,則最後 32 位會以 IPv4 樣式的點狀八位元組表示法表示。 如需詳細資訊,請參閱 IETF 發佈的 RFC 5942 第 5 節。
如果提供範圍 ID,則範圍 ID 的字串表示法會以百分比字元 ('%') 與 IPv6 位址的字串表示法分隔。 如果提供埠號,則 IPv6 位址的字串表示法及範圍 ID 會以方括弧括住 (前導 '[' 字元後面接著 IPv6 位址,後面接著 '% 字元,後面接著具有尾端 ']' 字元的範圍 ID)。 埠號會以冒號表示,後面接著右方括弧字元,後面接著十進位埠號的字串表示法。
RtlIpv6AddressToStringEx 是方便函式,不需要載入 Windows 通訊端 DLL 即可存取 Windows 通訊端中提供的函式,以執行 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 標頭檔中。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows Vista [傳統型應用程式 |UWP 應用程式] |
| 支援的最低伺服器 | Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
| 目標平臺 | 窗戶 |
| Header | ip2string.h (包括 Mstcpip.h) |
| Library | ntdll.lib |
| DLL | Ntdll.dll |
另請參閱
GetModuleHandle
GetProc位址
InetNtop
伊內普頓
載入程式庫
RtlIpv4AddressToString
RtlIpv4AddressToStringEx
RtlIpv4StringTo位址
RtlIpv4StringToAddressEx
RtlIpv6AddressToString
RtlIpv6StringTo位址
RtlIpv6StringToAddressEx
inet_addr
inet_ntoa