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

関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。

リターン コード 説明
STATUS_INVALID_PARAMETER
無効なパラメーターが関数に渡されました。 このエラーは、AddressString または AddressStringLength パラメーターで NULL ポインターが渡された場合に返されます。 このエラーは、 AddressString パラメーターが指すバッファーの長さが、IPv4 アドレスとポートの文字列表現を受け取るのに十分な大きさでない場合にも返されます。
その他
FormatMessage を使用して、返されたエラーのメッセージ文字列を取得します。

注釈

RtlIpv4AddressToStringEx 関数は、IPv4 アドレスとポート番号を、インターネットドット 10 進数形式の IPv4 アドレスの文字列表現に変換し、その後にコロン文字とポートの文字列表現を変換するために使用されます。

RtlIpv4AddressToStringEx は、文字列変換への IP アドレスを実行するために Windows ソケットで提供される関数にアクセスするために Windows ソケット DLL を読み込む必要がない便利な関数です。

AddressString パラメーターが指すバッファーの長さが、IPv4 アドレスとポートの文字列表現を受け取るのに十分な大きさでない場合、RtlIpv4AddressToStringExERROR_INVALID_PARAMETERを返し、AddressStringLength パラメーターを必要なバッファー長に設定します。

UNICODE または_UNICODEが定義されている場合、 RtlIpv4AddressToStringEx は、この関数の Unicode バージョンである RtlIpv4AddressToStringExW に定義されます。 AddressString パラメーターは PWSTR データ型に対して定義されます。

UNICODE と_UNICODEの両方が定義されていない場合、 RtlIpv4AddressToStringEx は、この関数の ANSI バージョンである RtlIpv4AddressToStringExA に定義されます。 AddressString パラメーターは、PSTR データ型に対して定義されています。

IN_ADDR構造体は Inaddr.h ヘッダー ファイルで定義されています。

RtlIpv4AddressToStringEx 関数を含むインポート ライブラリは、Windows Vista 用にリリースされた Microsoft Windows ソフトウェア開発キット (Windows SDK) (SDK) には含まれていません。 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