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

関連項目

WSANSPIoctl