Win32 API 日本語リファレンス
ホーム › 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
);

パラメーター

フィールド型説明
lpOutputBuffervoid*AcceptEx の呼び出しによって確立された接続で最初に送信されたデータのブロックを受け取るバッファーへのポインターです。 AcceptEx 関数に渡した lpOutputBuffer パラメーターと同じものである必要があります。
dwReceiveDataLengthDWORD最初のデータを受信するために使用するバッファーのバイト数です。この値は、 AcceptEx 関数に渡した dwReceiveDataLength パラメーターと等しい必要があります。
dwLocalAddressLengthDWORDローカルアドレス情報のために予約されたバイト数です。この値は、 AcceptEx 関数に渡した dwLocalAddressLength パラメーターと等しい必要があります。
dwRemoteAddressLengthDWORDリモートアドレス情報のために予約されたバイト数です。この値は、 AcceptEx 関数に渡した dwRemoteAddressLength パラメーターと等しい必要があります。
LocalSockaddrSOCKADDR**接続のローカルアドレス ( getsockname 関数が返すものと同じ情報) を受け取る sockaddr 構造体へのポインターです。このパラメーターは必ず指定する必要があります。
LocalSockaddrLengthINT*ローカルアドレスのサイズ (バイト単位) です。このパラメーターは必ず指定する必要があります。
RemoteSockaddrSOCKADDR**接続のリモートアドレス ( getpeername 関数が返すものと同じ情報) を受け取る sockaddr 構造体へのポインターです。このパラメーターは必ず指定する必要があります。
RemoteSockaddrLengthINT*ローカルアドレスのサイズ (バイト単位) です。このパラメーターは必ず指定する必要があります。

公式ドキュメント

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)