WSAAddressToStringA 関数 (winsock2.h)
WSAAddressToString 関数は、sockaddr 構造体のすべてのコンポーネントを、人間が判読できるアドレスの文字列表現に変換します。
これは主に表示目的で使用されることを意図しています。 呼び出し元が特定のプロバイダーによって翻訳を実行する必要がある場合は、lpProtocolInfo パラメーターに対応する WSAPROTOCOL_INFO 構造体を指定する必要があります。
構文
INT WSAAPI WSAAddressToStringA(
[in] LPSOCKADDR lpsaAddress,
[in] DWORD dwAddressLength,
[in, optional] LPWSAPROTOCOL_INFOA lpProtocolInfo,
[in, out] LPSTR lpszAddressString,
[in, out] LPDWORD lpdwAddressStringLength
);
パラメーター
[in] lpsaAddress
文字列に変換する sockaddr 構造体へのポインター。
[in] dwAddressLength
lpsaAddress パラメーターが指す sockaddr 構造体内のアドレスの長さ (バイト単位)。 dwAddressLength パラメーターのサイズは、プロトコルによって異なる場合があります。
[in, optional] lpProtocolInfo
特定のプロバイダーの WSAPROTOCOL_INFO 構造体へのポインター。 このパラメーターが NULL
[in, out] lpszAddressString
人間が判読できるアドレス文字列を受け取るバッファーへのポインター。
[in, out] lpdwAddressStringLength
入力時に、このパラメーターは、lpszAddressString パラメーターが指すバッファーの長さを指定します。 長さは ANSI 文字列の場合はバイト単位で、Unicode 文字列の場合は WCHAR で表されます。 出力時に、このパラメーターは、lpszAddressString パラメーターが指すバッファーに実際にコピーされた NULL ターミネータを含む文字列の長さを返します。 指定したバッファーのサイズが十分でない場合、WSAEFAULT
戻り値
エラーが発生しない場合、WSAAddressToString
エラー コード | 意味 |
---|---|
|
指定した lpcsAddress、lpProtocolInfo、および lpszAddressString パラメーターは、プロセスのアドレス空間内にないメモリを指しているか、lpszAddressString パラメーターが指すバッファーが小さすぎます。 より大きなバッファーを渡します。 |
|
無効なパラメーターが渡されました。 このエラーは、 |
|
使用できるバッファー領域はありません。 |
|
Winsock 2 DLL が初期化されていません。 アプリケーションは、Windows ソケット関数を呼び出す前 WSAStartup を最初に呼び出す必要があります。 |
備考
WSAAddressToString 関数は、プロトコルに依存しないアドレスから文字列への変換を提供します。
lpsaAddress パラメーターが IPv4 ソケット アドレス (アドレス ファミリが AF_INET) を指している場合、lpszAddressString パラメーターが指すバッファーで返されるアドレス文字列は、ドット 10 進表記の例である "192.168.16.0" のようにドット 10 進表記になります。
lpsaAddress パラメーターが IPv6 ソケット アドレス (アドレス ファミリが AF_INET6) を指している場合、lpszAddressString パラメーターが指すバッファーで返されるアドレス文字列はインターネット標準形式です。 基本的な文字列形式は、コロンで区切られた 8 つの 16 進数で構成されます。 連続する 0 個の数値の文字列は、二重コロンに置き換えられます。 IPv6 アドレスの文字列表現には、1 つのダブルコロンしか存在できません。
WSAAddressToString 関数を使用した IPv6 アドレスのサポートが、Service Pack 1 (SP1) 以降の Windows XP で追加されました。 IPv6 アドレスをサポートするには、WSAAddressToString 関数のローカル コンピューターにも IPv6 をインストールする必要があります。
Windows Phone 8:WSAAddressToStringW 関数は、Windows Phone 8 以降の Windows Phone ストア アプリでサポートされています。
手記
winsock2.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして WSAAddressToString を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP、Windows 8.1 [デスクトップ アプリ |UWP アプリ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリ |UWP アプリ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winsock2.h |
ライブラリ | Ws2_32.lib |
DLL | Ws2_32.dll |
関連項目
InetNtop を
RtlIpv4AddressToString を
RtlIpv4AddressToStringEx の
RtlIpv4StringToAddress の
RtlIpv4StringToAddressEx の
RtlIpv6AddressToString を
RtlIpv6AddressToStringEx を
RtlIpv6StringToAddress の
RtlIpv6StringToAddressEx の
WSAStartup の
WSAStringToAddress の
sockaddr を