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 |
---|---|
|
無效的參數已傳遞至 函式。 如果 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 匯入連結庫中。 應用程式也可以使用 GetModuleHandle 和 GetProcAddress 函式,從 Ntdll.dll 擷取函式指標,並呼叫此函式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | ip2string.h (包含 Mstcpip.h) |
程式庫 | ntdll.lib |
Dll | ntdll.dll |