共用方式為


RtlIpv6AddressToStringExA 函式 (ip2string.h)

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
STATUS_INVALID_PARAMETER
無效的參數已傳遞至函式。 如果在 AddressStringAddressStringLength 參數中傳遞 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