共用方式為


RtlIpv4StringToAddressW 函式 (ip2string.h)

RtlIpv4StringToAddress 函式會將 IPv4 位址的字串表示法轉換成二進位 IPv4 位址。

語法

NTSYSAPI NTSTATUS RtlIpv4StringToAddressW(
  [in]  PCWSTR  S,
  [in]  BOOLEAN Strict,
  [out] LPCWSTR *Terminator,
  [out] in_addr *Addr
);

參數

[in] S

緩衝區的指標,其中包含 IPv4 位址的 NULL 結尾字串表示法。

[in] Strict

此值指出字串是否必須是以嚴格的四部分點十進位表示法表示的 IPv4 位址。 如果此參數為 TRUE,則字串必須是點十進位,包含四個部分。 如果此參數為 FALSE,則允許四種可能的形式中的任何一種,具有十進位、八進制或十六進位表示法。 如需詳細資訊,請參閱備註部分。

[out] Terminator

接收終止轉換字串之字元指標的參數。 呼叫端可以使用這來從字串中提取更多資訊。

[out] Addr

要儲存 IPv4 位址的二進位表示法的指標。

返回值

如果函式成功,則傳回值為 STATUS_SUCCESS

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

回傳碼 Description
STATUS_INVALID_PARAMETER
無效的參數已傳遞至函式。 如果 Strict 參數設為 TRUE,但 S 參數所指向的字串不包含 IPv4 位址的四部分點十進位字串表示法,則會傳回此錯誤。 如果 S 參數所指向的字串不包含 IPv4 位址的正確字串表示法,也會傳回此錯誤。

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

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

備註

RtlIpv4StringToAddress 函式可用來將 IPv4 位址的字串表示法轉換成依網路順序傳回的 IPv4 位址 (位元組從左到右排序) 。

RtlIpv4StringToAddress 是方便函式,不需要載入 Windows 通訊端 DLL 即可存取 Windows 通訊端中提供的函式,以執行字串到 IP 位址轉換。

如果 Strict 參數設為 TRUE,則 S 參數所指向的字串必須採用嚴格的點十進位表示法。 這種嚴格的格式需要指定四個部分。 每個部分都被解釋為資料的十進位位元組,並從左到右分配給 IPv4 位址的四個位元組。

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

成功時, Terminator 參數會指向終止已轉換字串的字元。 這可讓應用程式將包含 IP 位址和其他資訊的字串傳遞至 RtlIpv4StringToAddress 函式,然後剖析其餘資訊。

定義 UNICODE 或 _UNICODE 時, RtlIpv4StringToAddress 會定義為 RtlIpv4StringToAddressW,這是此函式的 Unicode 版本。 S 參數定義為 PCWSTR 資料類型,而 Terminator 參數定義為 LPCWSTR 資料類型。

當未定義 UNICODE 和 _UNICODE 時, RtlIpv4StringToAddress 會定義為 RtlIpv4StringToAddressA,這是函式的 ANSI 版本。 STerminator 參數定義為 PCSTR 資料類型。

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

備註

ip2string.h 標頭會將 RtlIpv4StringToAddress 定義為別名,根據 UNICODE 前置處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型 慣例。

需求

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

另請參閱

GetModuleHandle

GetProc位址

InetNtop

伊內普頓

載入程式庫

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddressEx

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

RtlIpv6StringTo位址

RtlIpv6StringToAddressEx

inet_addr

inet_ntoa