共用方式為


RtlIpv4StringToAddressExA 函式 (ip2string.h)

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

語法

NTSYSAPI NTSTATUS RtlIpv4StringToAddressExA(
  [in]  PCSTR   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 標頭檔中。

備註

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

RtlIpv4StringToAddressEx 是便利函式,不需要載入 Windows 通訊端 DLL 即可存取 Windows 通訊端中提供的函式,以執行字串到 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 標頭檔中。

需求

Requirement 價值觀
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
支援的最低伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平臺 窗戶
Header ip2string.h (包括 Mstcpip.h)
Library ntdll.lib
DLL Ntdll.dll

另請參閱

GetModuleHandle
GetProc位址
IN_ADDR
InetNtop
伊內普頓
載入程式庫
RtlIpv4AddressToString
RtlIpv4AddressToStringEx
RtlIpv4StringTo位址
RtlIpv6AddressToString
RtlIpv6AddressToStringEx
RtlIpv6StringTo位址
RtlIpv6StringToAddressEx
inet_addr
inet_ntoa