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 で特定のエラー コードを使用できます。

エラー コード 意味
WSAEFAULT
指定された AddressString バッファーが小さすぎます。 より大きなバッファーを渡します。
WSAEINVAL
指定したアドレスが有効なソケット アドレスではないか、そのアドレス ファミリがプロバイダーでサポートされていないか、指定された lpProtocolInfo がプロバイダーでサポートされている WSAProtocol_Info 構造体を参照していません。
 
 

注釈

階層化サービス プロバイダーは、この関数の実装を提供しますが、プロトコル チェーン内の次のレイヤーの LPWSPAddressToString を呼び出す場合、また、この関数のクライアントでもあります。 lpProtocolInfo パラメーターは、プロトコル チェーンのレイヤーを経由して伝達されるため、いくつかの特別な考慮事項が適用されます。

プロトコル チェーン内の次のレイヤーが別のレイヤーである場合、次のレイヤーの LPWSPAddressToString が呼び出されると、このレイヤーは、同じ変更されていないチェーン情報を持つ同じ変更されていないWSAProtocol_Info構造体を参照する lpProtocolInfo パラメーターを次のレイヤーに渡す必要があります。 ただし、次のレイヤーが基本プロトコル (つまり、チェーン内の最後の要素) である場合、このレイヤーは、ベース プロバイダーの LPWSPAddressToString を呼び出すときに置換を実行します。 この場合、ベース プロバイダーの WSAPROTOCOL_INFO 構造体は lpProtocolInfo パラメーターで参照する必要があります。 このポリシーの重要な利点の 1 つは、基本サービス プロバイダーがプロトコル チェーンを認識する必要ができないことです。

この同じ伝達ポリシーは、LPWSPDuplicateSocketWSPStartupLPWSPSocketLPWSPStringToAddress などの他の関数の階層化されたシーケンスを介してWSAProtocol_Info構造体を伝達する場合にも適用されます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー ws2spi.h

こちらもご覧ください

WSAProtocol_Info

WSPDucplicateSocket

LPWSPSocket

WSPStartup

Sockaddr