共用方式為


RtlIpv4StringToAddressExW 函式 (ip2string.h)

RtlIpv4StringToAddressEx 函式會將 IPv4 位址和埠號碼的字串表示轉換為二進位 IPv4 位址和埠。

語法

NTSYSAPI NTSTATUS RtlIpv4StringToAddressExW(
  [in]  PCWSTR  AddressString,
  [in]  BOOLEAN Strict,
  [out] in_addr *Address,
  [out] PUSHORT Port
);

參數

[in] AddressString

緩衝區的指標,其中包含IPv4位址的 NULL終止字串表示,後面接著埠號碼的選擇性冒號和字串表示。

[in] Strict

值,指出字串是否必須是以嚴格四部分點十進位表示法表示的IPv4位址。 如果此參數為 TRUE,字串必須以虛線-十進位數加上四個部分。 如果此參數為 FALSE,則 Ipv4 位址的字串表示法允許四種形式之一,其中十進位、八進位或十六進位表示法。 如需詳細資訊,請參閱<備註>一節。

[out] Address

要儲存 IPv4 位址的二進位表示法的指標。 IPv4 位址會以網路位元組順序儲存。

[out] Port

要儲存埠號碼的二進位表示法的指標。 埠號碼會依網路位元組順序傳回。 如果 AddressString 參數指向的字串中未指定任何埠,則 Port 參數會設定為零。

傳回值

如果函式成功,傳回值 會STATUS_SUCCESS

如果函式失敗,傳回值就是下列其中一個錯誤碼。

傳回碼 Description
STATUS_INVALID_PARAMETER
無效的參數已傳遞至 函式。 如果 Strict 參數設定為 TRUE,但 AddressString 參數所指向的字串未包含 IPv4 位址的四部分點十進位字串表示,就會傳回此錯誤。 如果 AddressString 參數指向的字串未包含 IPv4 位址的適當字串表示,也會傳回此錯誤。

此錯誤碼定義於 Ntstatus.h 頭檔中。

其他
使用 FormatMessage 取得傳回錯誤的訊息字串。

備註

RtlIpv4StringToAddressEx 函式可用來將 IPv4 位址和埠號碼的字串表示轉換成二進位 IPv4 位址和埠號碼。 IPv4 位址會依網路順序傳回, (位元組從左至右排序) 。 埠號碼會依網路順序傳回。

RtlIpv4StringToAddressEx 是便利函式,不需要載入 Windows Sockets DLL 以存取 Windows Sockets 中提供的函式,以執行字元串到 IP 位址轉換。

如果 Strict 參數設定為 TRUE則 AddressString 參數所指向的字串必須以嚴格的虛點十進位表示法表示法表示。 此嚴格格式需要指定四個部分。 每個部分都會解譯為數據的小數位節,並從左至右指派給IPv4位址的四個字節。

Strict 參數設定為 FALSE 時, AddressString 參數所指向的字串可以是數種可能格式的任何一種。 當 AddressString 參數指向的緩衝區包含三部分的位址字串時,最後一個部分會解譯為 16 位數量,並放在最右邊的網路位址兩個字節中。 這讓三部分位址格式方便將類別 B 網络位址指定為 「128.net.host」。。 當 AddressString 參數指向的緩衝區包含兩部分的位址字串時,最後一個部分會解譯為 24 位數量,並放在網路位址最右邊的三個字節中。 這可讓兩部分位址格式方便將類別 A 網路位址指定為 「net.host」。。 當 AddressString 參數指向的緩衝區只包含一部分的位址字串時,該值會直接儲存在網路位址中,而不需重新排列任何位元組。

AddressString 參數所指向的緩衝區可能包含IPv4 位址字串,後面接著選擇性冒號和埠號碼的字串表示。 如果 AddressString 參數指向的緩衝區中包含埠號碼字串,埠號碼的二進位表示法會在 Port 參數中傳回。 如果 AddressString 參數所指向的緩衝區不包含埠號碼, 則會在 Port 參數中傳回零。

定義 UNICODE 或_UNICODE時, RtlIpv4StringToAddressEx 會定義為 RtlIpv4StringToAddressExW,此函式的 Unicode 版本。 AddressString 參數會定義為PCWSTR數據類型。

未定義 UNICODE 和_UNICODE時, RtlIpv4StringToAddressEx 會定義為 RtlIpv4StringToAddressExA,這是此函式的 ANSI 版本。 AddressString 參數會定義為 PCSTR 數據類型。

IN_ADDR 結構定義於 Inaddr.h 頭檔中。

Microsoft Windows 軟體開發套件 (SDK 中不包含包含 RtlIpv4StringToAddressEx 函式的匯入連結庫,) 針對 Windows Vista 發行。 RtlIpv4StringToAddressEx 函式包含在 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

IN_ADDR

InetNtop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddress

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

RtlIpv6StringToAddress

RtlIpv6StringToAddressEx

inet_addr

inet_ntoa