WSACOMPLETION 構造体 (winsock2.h)
WSACOMPLETION 構造体は、登録済み名前空間に対して行われる I/O 制御呼び出しの完了通知設定を指定します。
構文
typedef struct _WSACOMPLETION {
WSACOMPLETIONTYPE Type;
union {
struct {
HWND hWnd;
UINT uMsg;
WPARAM context;
} WindowMessage;
struct {
LPWSAOVERLAPPED lpOverlapped;
} Event;
struct {
LPWSAOVERLAPPED lpOverlapped;
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpfnCompletionProc;
} Apc;
struct {
LPWSAOVERLAPPED lpOverlapped;
HANDLE hPort;
ULONG_PTR Key;
} Port;
} Parameters;
} WSACOMPLETION, *PWSACOMPLETION, *LPWSACOMPLETION;
メンバー
Type
型: WSACOMPLETIONTYPE
完了通知の種類が必要です。 「解説」を参照してください。
Parameters
コールバックを完了するために必要なパラメーター。 Parameters 共用体内の構造体は、指定された各型のコールバックを完了するために必要な情報を指定します。 たとえば、Type が NSP_NOTIFY_HWND に設定されている場合は、WindowMessage 構造体を入力する必要があります。
Parameters.WindowMessage
Parameters.WindowMessage.hWnd
種類: HWND Windows ハンドル。
Parameters.WindowMessage.uMsg
型: UINT メッセージ ハンドル。
Parameters.WindowMessage.context
種類: WPARAM メッセージまたはハンドルのコンテキスト。
Parameters.Event
Parameters.Event.lpOverlapped
種類: LPWSAOVERLAPPEDWSAOVERLAPPED 構造体へのポインター。
Parameters.Apc
Parameters.Apc.lpOverlapped
種類: LPWSAOVERLAPPEDWSAOVERLAPPED 構造体へのポインター。
Parameters.Apc.lpfnCompletionProc
種類: _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE
アプリケーション指定の完了ルーチンへのポインター。
Parameters.Port
Parameters.Port.lpOverlapped
種類: LPWSAOVERLAPPEDWSAOVERLAPPED 構造体へのポインター。
Parameters.Port.hPort
型: HANDLE ポートへのハンドル。
Parameters.Port.Key
種類: ULONG_PTR キーへのポインター。
解説
WSACOMPLETION 構造体を使用すると、Type で指定された値に基づいて、次のいずれかの形式でコールバックを指定できます。
コールバック形式 | 種類の値 |
---|---|
ポーリング | NSP_NOTIFY_IMMEDIATELY |
ウィンドウ メッセージ | NSP_NOTIFY_HWND |
イベント | NSP_NOTIFY_EVENT |
APC | NSP_NOTIFY_APC |
入力候補ポート | NSP_NOTIFY_PORT |
ブロッキング関数の場合は、 WSACOMPLETION 構造体を null に設定します。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | winsock2.h |