次の方法で共有


GetAcceptExSockaddrs 関数 (mswsock.h)

GetAcceptExSockaddrs 関数は、AcceptEx 関数の呼び出しから取得したデータを解析し、ローカル アドレスとリモート アドレスを sockaddr 構造体に渡します。

メモ この関数は、Windows ソケット仕様に対する Microsoft 固有の拡張機能です。

 

構文

void GetAcceptExSockaddrs(
  [in]  PVOID    lpOutputBuffer,
  [in]  DWORD    dwReceiveDataLength,
  [in]  DWORD    dwLocalAddressLength,
  [in]  DWORD    dwRemoteAddressLength,
  [out] sockaddr **LocalSockaddr,
  [out] LPINT    LocalSockaddrLength,
  [out] sockaddr **RemoteSockaddr,
  [out] LPINT    RemoteSockaddrLength
);

パラメーター

[in] lpOutputBuffer

AcceptEx 呼び出しの結果として接続で送信されるデータの最初のブロックを受け取るバッファーへのポインター。 AcceptEx 関数に渡されたのと同じ lpOutputBuffer パラメーターである必要があります。

[in] dwReceiveDataLength

最初のデータの受信に使用されるバッファー内のバイト数。 この値は、AcceptEx 関数に渡された dwReceiveDataLength パラメーターと等しい必要があります。

[in] dwLocalAddressLength

ローカル アドレス情報用に予約されているバイト数。 この値は、AcceptEx 関数に渡された dwLocalAddressLength パラメーターと等しい必要があります。

[in] dwRemoteAddressLength

リモート アドレス情報用に予約されたバイト数。 この値は、AcceptEx 関数に渡された dwRemoteAddressLength パラメーターと等しい必要があります。

[out] LocalSockaddr

接続のローカル アドレスを受け取る sockaddr 構造体へのポインター ( getsockname 関数によって返されるのと同じ情報)。 このパラメーターを指定する必要があります。

[out] LocalSockaddrLength

ローカル アドレスのサイズ (バイト単位)。 このパラメーターを指定する必要があります。

[out] RemoteSockaddr

接続のリモート アドレスを受け取る sockaddr 構造体へのポインター ( getpeername 関数によって返されるのと同じ情報)。 このパラメーターを指定する必要があります。

[out] RemoteSockaddrLength

ローカル アドレスのサイズ (バイト単位)。 このパラメーターを指定する必要があります。

戻り値

なし

解説

GetAcceptExSockaddrs 関数は AcceptEx 関数と共に排他的に使用され、ソケットが受け取る最初のデータをローカル アドレスとリモート アドレスに解析します。 AcceptEx 関数は、ローカルおよびリモートのアドレス情報を内部形式で返します。 ローカルまたはリモート アドレスを含む sockaddr 構造体が必要な場合、アプリケーション開発者は GetAcceptExSockaddrs 関数を使用する必要があります。

メモgetAcceptExSockaddrs 関数の関数ポインターは、実行時に、SIO_GET_EXTENSION_FUNCTION_POINTERオペコードを指定して WSAIoctl 関数を呼び出すことによって取得する必要があります。 WSAIoctl 関数に渡される入力バッファーにはgetAcceptExSockaddrs 拡張関数を識別する値を持つグローバル一意識別子 (GUID) WSAID_GETACCEPTEXSOCKADDRSが含まれている必要があります。 成功すると、 WSAIoctl 関数によって返される出力には 、GetAcceptExSockaddrs 関数へのポインターが含まれます。 WSAID_GETACCEPTEXSOCKADDRS GUID は、Mswsock.h ヘッダー ファイルで定義されています。
 

Windows Phone 8: この関数は、Windows Phone 8 以降の Windows Phone ストア アプリでサポートされています。

Windows 8.1Windows Server 2012 R2: この関数は、Windows 8.1、Windows Server 2012 R2 以降の Windows ストア アプリでサポートされています。

要件

要件
サポートされている最小のクライアント Windows 8.1、Windows Vista [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー mswsock.h (Mswsock.h を含む)
Library Mswsock.lib
[DLL] Mswsock.dll

こちらもご覧ください

AcceptEx

Winsock 関数

Winsock リファレンス

getpeername

getsockname

Sockaddr