RtlIpv4AddressToStringExA 函式 (ip2string.h)
RtlIpv4AddressToStringEx 函式會將 IPv4 位址和埠號碼轉換成因特網標準格式的字串。
語法
NTSYSAPI NTSTATUS RtlIpv4AddressToStringExA(
[in] const in_addr *Address,
[in] USHORT Port,
[out] PSTR AddressString,
[in, out] PULONG AddressStringLength
);
參數
[in] Address
以網路位元組順序排列的IPv4位址。
[in] Port
網路位元組順序格式的埠號碼。 這是選擇性參數。
[out] AddressString
緩衝區的指標,用來接收 IPv4 位址和埠的 NULL 終止字串表示。 此緩衝區的大小應該足以容納至少INET_ADDRSTRLEN個字元。 INET_ADDRSTRLEN值定義於 Ws2ipdef.h 頭檔中。
[in, out] AddressStringLength
在輸入時,符合 AddressString 參數所指向緩衝區的字元數,包括 NULL 終止符。
在輸出時,此參數包含實際寫入 AddressString 參數所指向緩衝區的字元數。
傳回值
如果函式成功,傳回值會 STATUS_SUCCESS。
如果函式失敗,傳回值就是下列其中一個錯誤碼。
傳回碼 | Description |
---|---|
|
無效的參數已傳遞至 函式。 如果在 AddressString 或 AddressStringLength 參數中傳遞 NULL 指標,就會傳回此錯誤。 如果 AddressString 參數指向的緩衝區長度不足以接收 IPv4 位址和埠的字串表示,也會傳回此錯誤。 |
|
使用 FormatMessage 取得傳回錯誤的訊息字串。 |
備註
RtlIpv4AddressToStringEx 函式可用來將 IPv4 位址和埠號碼轉換成以因特網虛線十進位格式表示 IPv4 位址的字串表示,後面接著冒號字元和埠的字元串表示。
RtlIpv4AddressToStringEx 是一個便利函式,不需要載入 Windows Sockets DLL 才能存取 Windows Sockets 中提供的函式,以執行 IP 位址到字符串轉換。
如果 AddressString 參數所指向的緩衝區長度不足以接收 IPv4 位址和埠的字串表示, RtlIpv4AddressToStringEx 會 傳回ERROR_INVALID_PARAMETER ,並將 AddressStringLength 參數設定為所需的緩衝區長度。
定義 UNICODE 或_UNICODE時, 會將 RtlIpv4AddressToStringEx 定義為 RtlIpv4AddressToStringExW,這是此函式的 Unicode 版本。 AddressString 參數會定義至 PWSTR 數據類型。
未定義 UNICODE 和_UNICODE時, 會將 RtlIpv4AddressToStringEx 定義為 RtlIpv4AddressToStringExA,這是此函式的 ANSI 版本。 AddressString 參數會定義為 PSTR 數據類型。
IN_ADDR結構定義於 Inaddr.h 頭檔中。
Microsoft Windows 軟體開發套件 (SDK 中不包含包含 RtlIpv4AddressToStringEx 函式的匯入連結庫,) 針對 Windows Vista 發行。 RtlIpv4AddressToStringEx 函式包含在 Windows 驅動程式套件 (WDK) 的 Ntdll.lib 匯入連結庫中。 應用程式也可以使用 GetModuleHandle 和 GetProcAddress 函式,從 Ntdll.dll 擷取函式指標,並呼叫此函式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | ip2string.h (包含 Mstcpip.h) |
Dll | Ntdll.dll |
另請參閱
GetModuleHandle
GetProcAddress
InetNtop
InetPton
LoadLibrary
RtlIpv4AddressToString
RtlIpv4StringToAddress
RtlIpv4StringToAddressEx
RtlIpv6AddressToString
RtlIpv6AddressToStringEx
RtlIpv6StringToAddress
RtlIpv6StringToAddressEx
inet_addr
inet_ntoa