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