次の方法で共有


PFN_WSK_ABORT_EVENT コールバック関数 (wsk.h)

WskAbortEvent イベント コールバック関数は、条件付き受け入れモードが有効になっているリッスン ソケットの受信接続要求が削除されたことを WSK アプリケーションに通知します。

構文

PFN_WSK_ABORT_EVENT PfnWskAbortEvent;

NTSTATUS PfnWskAbortEvent(
  [in, optional] PVOID SocketContext,
  [in]           PWSK_INSPECT_ID InspectID
)
{...}

パラメーター

[in, optional] SocketContext

受信接続要求を受信したリッスン ソケットのソケット コンテキストへのポインター。 WSK アプリケーションは、 WskSocket 関数を呼び出してリッスン ソケットを作成したときに、WSK サブシステムへのこのポインターを提供しました。

[in] InspectID

WSK_INSPECT_ID構造体へのポインター。 構造体の内容は、削除された受信接続要求を識別します。

戻り値

WSK アプリケーションの WskAbortEvent イベント コールバック関数は、常にSTATUS_SUCCESSを返す必要があります。

注釈

WSK サブシステムは、次の条件に該当する場合にのみ 、WSK アプリケーションの WskAbortEvent イベント コールバック関数を呼び出します。

  • WSK アプリケーションは、条件付き受け入れモードが有効になっているリッスン ソケットを作成しました。
  • 受信接続要求がリッスン ソケットで受信され、WSK サブシステムが WSK アプリケーションの WskInspectEvent イベント コールバック関数を呼び出しました。
  • WSK アプリケーションは、受信接続要求の WskAbortEvent イベント コールバック関数から WskInspectPend または WskInspectAccept を返しました。
  • 受信接続要求は、完全に確立される前に、ローカルまたはリモートで削除されています。
WSK サブシステムが WSK アプリケーションの WskAbortEvent イベント コールバック関数を呼び出すと、アプリケーションは受信接続要求の検査を終了する必要があります。 接続要求は、InspectID パラメーターによって指されるWSK_INSPECT_ID構造体の内容によって識別されます。

WSK アプリケーションが中止された受信接続要求で WskInspectComplete 関数を呼び出した場合、 WskInspectAcceptAction パラメーターで指定されている場合でも、接続は確立されません。

WSK アプリケーションでは、 SO_CONDITIONAL_ACCEPT ソケット オプションを有効にすることで、リッスン ソケットで条件付き受け入れモードを有効にすることができます。 受信接続を条件付きで受け入れる方法の詳細については、「受信Connectionsのリッスンと受け入れ」を参照してください。

WSK サブシステムは、WSK アプリケーションの WskAbortEvent イベント コールバック関数を IRQL <= DISPATCH_LEVEL で呼び出します。

WSK アプリケーションの WskAbortEvent イベント コールバック関数は、WSK 完了関数またはイベント コールバック関数のコンテキストで、他の WSK 要求の完了を待つ必要はありません。 コールバックは、他の WSK 要求を開始できますが (DISPATCH_LEVELに時間がかかりすぎないことを前提とします)、IRQL = PASSIVE_LEVEL でコールバックが呼び出された場合でも、その完了を待つ必要はありません。

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。
対象プラットフォーム Windows
ヘッダー wsk.h (Wsk.h を含む)
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

WSK_CLIENT_LISTEN_DISPATCH

WSK_INSPECT_ID

WskControlSocket

WskInspectComplete

WskInspectEvent

WskSocket