次の方法で共有


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;

Members

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

型: LPWSAOVERLAPPED

WSAOVERLAPPED 構造体へのポインター。

Parameters.Apc

Parameters.Apc.lpOverlapped

型: LPWSAOVERLAPPED

WSAOVERLAPPED 構造体へのポインター。

Parameters.Apc.lpfnCompletionProc

型: _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE

アプリケーションによって提供される完了ルーチンへのポインター。

Parameters.Port

Parameters.Port.lpOverlapped

型: LPWSAOVERLAPPED

WSAOVERLAPPED 構造体へのポインター。

Parameters.Port.hPort

型: HANDLE

ポートへのハンドル。

Parameters.Port.Key

型: ULONG_PTR

キーへのポインター。

注釈

WSACOMPLETION 構造体を使用すると、Type で指定された値に基づいて、次のいずれかの形式でコールバックを指定できます。

コールバック形式 種類の値
ポーリング NSP_NOTIFY_IMMEDIATELY
ウィンドウ メッセージ NSP_NOTIFY_HWND
Event NSP_NOTIFY_EVENT
APC NSP_NOTIFY_APC
完了ポート NSP_NOTIFY_PORT
 

ブロッキング関数の場合は、 WSACOMPLETION 構造体を null に設定します。

Requirements

Requirement 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ]
Header winsock2.h

こちらも参照ください

WSANSPIoctl