ホーム › Networking.WinSock › LPFN_GETACCEPTEXSOCKADDRS
LPFN_GETACCEPTEXSOCKADDRS
コールバックシグネチャ
void LPFN_GETACCEPTEXSOCKADDRS(
void* lpOutputBuffer,
DWORD dwReceiveDataLength,
DWORD dwLocalAddressLength,
DWORD dwRemoteAddressLength,
SOCKADDR** LocalSockaddr,
INT* LocalSockaddrLength,
SOCKADDR** RemoteSockaddr,
INT* RemoteSockaddrLength
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| lpOutputBuffer | void* | AcceptEx の呼び出しによって確立された接続で最初に送信されたデータのブロックを受け取るバッファーへのポインターです。 AcceptEx 関数に渡した lpOutputBuffer パラメーターと同じものである必要があります。 |
| dwReceiveDataLength | DWORD | 最初のデータを受信するために使用するバッファーのバイト数です。この値は、 AcceptEx 関数に渡した dwReceiveDataLength パラメーターと等しい必要があります。 |
| dwLocalAddressLength | DWORD | ローカルアドレス情報のために予約されたバイト数です。この値は、 AcceptEx 関数に渡した dwLocalAddressLength パラメーターと等しい必要があります。 |
| dwRemoteAddressLength | DWORD | リモートアドレス情報のために予約されたバイト数です。この値は、 AcceptEx 関数に渡した dwRemoteAddressLength パラメーターと等しい必要があります。 |
| LocalSockaddr | SOCKADDR** | 接続のローカルアドレス ( getsockname 関数が返すものと同じ情報) を受け取る sockaddr 構造体へのポインターです。このパラメーターは必ず指定する必要があります。 |
| LocalSockaddrLength | INT* | ローカルアドレスのサイズ (バイト単位) です。このパラメーターは必ず指定する必要があります。 |
| RemoteSockaddr | SOCKADDR** | 接続のリモートアドレス ( getpeername 関数が返すものと同じ情報) を受け取る sockaddr 構造体へのポインターです。このパラメーターは必ず指定する必要があります。 |
| RemoteSockaddrLength | INT* | ローカルアドレスのサイズ (バイト単位) です。このパラメーターは必ず指定する必要があります。 |
公式ドキュメント
GetAcceptExSockaddrs 関数は、 AcceptEx 関数の呼び出しで取得したデータを解析し、ローカルアドレスとリモートアドレスを sockaddr 構造体に渡します。
注意 この関数は、Windows Sockets 仕様に対する Microsoft 固有の拡張です。
解説(Remarks)
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.1 および Windows Server 2012 R2: この関数は、Windows 8.1、Windows Server 2012 R2 以降の Windows ストアアプリでサポートされます。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)