LPWSPADDRESSTOSTRING コールバック関数 (ws2spi.h)
LPWSPAddressToString 関数は、sockaddr 構造体のすべてのコンポーネントを、人間が判読できるアドレスの数値文字列表現に変換します。 これは主に表示目的で使用されます。
構文
LPWSPADDRESSTOSTRING Lpwspaddresstostring;
INT Lpwspaddresstostring(
[in] LPSOCKADDR lpsaAddress,
[in] DWORD dwAddressLength,
[in] LPWSAPROTOCOL_INFOW lpProtocolInfo,
[out] LPWSTR lpszAddressString,
[in, out] LPDWORD lpdwAddressStringLength,
[out] LPINT lpErrno
)
{...}
パラメーター
[in] lpsaAddress
文字列に変換する sockaddr 構造体へのポインター。
[in] dwAddressLength
sockaddr のアドレスの長さ (バイト単位)。
[in] lpProtocolInfo
(必須) WSAProtocol_Info 変換を行うプロバイダーに関連付けられている構造体です。
[out] lpszAddressString
人間が判読できるアドレス文字列を受け取るバッファー。.
[in, out] lpdwAddressStringLength
AddressString バッファーの長さ (バイト単位)。 バッファーに実際にコピーされる文字列の長さを返します。 指定されたバッファーが十分な大きさでない場合、 WSAEFAULT という特定のエラーで関数が失敗し、このパラメーターは必要なサイズ (バイト単位) で更新されます。
[out] lpErrno
エラー コードへのポインター。
戻り値
エラーが発生しない場合、 LPWSPAddressToString は 0 を返します。 それ以外の場合は、SOCKET_ERRORを返し、 lpErrno で特定のエラー コードを使用できます。
エラー コード | 意味 |
---|---|
指定された AddressString バッファーが小さすぎます。 より大きなバッファーを渡します。 | |
指定したアドレスが有効なソケット アドレスではないか、そのアドレス ファミリがプロバイダーでサポートされていないか、指定された lpProtocolInfo がプロバイダーでサポートされている WSAProtocol_Info 構造体を参照していません。 |
注釈
階層化サービス プロバイダーは、この関数の実装を提供しますが、プロトコル チェーン内の次のレイヤーの LPWSPAddressToString を呼び出す場合、また、この関数のクライアントでもあります。 lpProtocolInfo パラメーターは、プロトコル チェーンのレイヤーを経由して伝達されるため、いくつかの特別な考慮事項が適用されます。
プロトコル チェーン内の次のレイヤーが別のレイヤーである場合、次のレイヤーの LPWSPAddressToString が呼び出されると、このレイヤーは、同じ変更されていないチェーン情報を持つ同じ変更されていないWSAProtocol_Info構造体を参照する lpProtocolInfo パラメーターを次のレイヤーに渡す必要があります。 ただし、次のレイヤーが基本プロトコル (つまり、チェーン内の最後の要素) である場合、このレイヤーは、ベース プロバイダーの LPWSPAddressToString を呼び出すときに置換を実行します。 この場合、ベース プロバイダーの WSAPROTOCOL_INFO 構造体は lpProtocolInfo パラメーターで参照する必要があります。 このポリシーの重要な利点の 1 つは、基本サービス プロバイダーがプロトコル チェーンを認識する必要ができないことです。
この同じ伝達ポリシーは、LPWSPDuplicateSocket、WSPStartup、LPWSPSocket、LPWSPStringToAddress などの他の関数の階層化されたシーケンスを介してWSAProtocol_Info構造体を伝達する場合にも適用されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ws2spi.h |