共用方式為


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
STATUS_INVALID_PARAMETER
無效的參數已傳遞至 函式。 如果在 AddressStringAddressStringLength 參數中傳遞 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 匯入連結庫中。 應用程式也可以使用 GetModuleHandleGetProcAddress 函式,從 Ntdll.dll 擷取函式指標,並呼叫此函式。

規格需求

   
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 ip2string.h (包含 Mstcpip.h)
程式庫 ntdll.lib
Dll ntdll.dll

另請參閱

GetModuleHandle

GetProcAddress

InetNtop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddress

RtlIpv4StringToAddressEx

RtlIpv6AddressToString

RtlIpv6StringToAddress

RtlIpv6StringToAddressEx

inet_addr

inet_ntoa