次の方法で共有


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

WskListen 関数を使用すると、ストリーム ソケットはソケットのバインドされたアドレスで受信接続をリッスンできます。

構文

PFN_WSK_LISTEN PfnWskListen;

NTSTATUS PfnWskListen(
  [in]      PWSK_SOCKET Socket,
  [in, out] PIRP Irp
)
{...}

パラメーター

[in] Socket

受信 接続をリッスン しているストリーム ソケットのソケット オブジェクトを指定するWSK_SOCKET構造体へのポインター。 このソケットは、 以前に WskBind を呼び出してローカル トランスポート アドレスにバインドされている必要があります。

[in, out] Irp

WSK サブシステムがリッスン操作を非同期的に完了するために使用する呼び出し元によって割り当てられた IRP へのポインター。 WSK 関数での IRP の使用の詳細については、「 Winsock カーネル関数での IRP の使用」を参照してください。

戻り値

WskListen は 、次のいずれかの NTSTATUS コードを返します。

リターン コード 説明
STATUS_SUCCESS
ストリーム ソケットが受信接続を正常にリッスンしました。 IRP は成功状態で完了します。
STATUS_PENDING
IRP は、ストリーム ソケットでの受信接続を待機している WSK サブシステムによってキューに登録されています。
STATUS_FILE_FORCED_CLOSED
ソケットは機能しなくなりました。 IRP は失敗状態で完了します。 WSK アプリケーションは、できるだけ早くソケットを閉じる には、WskCloseSocket 関数を呼び出す必要があります。
その他の状態コード
エラーが発生しました。 IRP は失敗状態で完了します。

注釈

WSK アプリケーションは、 WskBind 関数を呼び出すことによって、アプリケーションが以前にローカル トランスポート アドレスにバインドしたストリーム ソケットでのみ WskListen 関数を呼び出すことができます。 WskListen がストリーム ソケットで正常に呼び出されると、ソケットはリッスンしているソケット フローにコミットされ、接続指向のソケット関数を呼び出すできなくなります。

要件

要件
サポートされている最小のクライアント Windows 10 Version 1703
対象プラットフォーム ユニバーサル
Header wsk.h (Wsk.h を含む)
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

WSK_PROVIDER_STREAM_DISPATCH

WSK_SOCKET

WskAccept

WskBind

WskCloseSocket