WskCaptureProviderNPI 関数 (wsk.h)
WskCaptureProviderNPI 関数は、WSK サブシステムから使用可能になったときに ネットワーク プログラミング インターフェイス (NPI) プロバイダーをキャプチャします。
構文
NTSTATUS WskCaptureProviderNPI(
[in] PWSK_REGISTRATION WskRegistration,
[in] ULONG WaitTimeout,
[out] PWSK_PROVIDER_NPI WskProviderNpi
);
パラメーター
[in] WskRegistration
WSK アプリケーションの登録インスタンスを識別 WskRegister によって初期化されたメモリの場所へのポインター。 詳細については、WSK_REGISTRATIONを参照してください。
[in] WaitTimeout
wskCaptureProviderNPI 関数 が WSK プロバイダー NPI が使用可能になるまで待機できる時間 (ミリ秒単位)。 または、次を指定できます。
WSK_NO_WAIT
プロバイダー NPI が使用できない場合は、すぐにこの関数から戻ります。
WSK_INFINITE_WAIT
プロバイダー NPI が WSK サブシステムから使用可能になるまで待ちます。
このパラメーターの使用方法の詳細については、「Winsock カーネル アプリケーションの登録」を参照してください。
[out] WskProviderNpi
WSK プロバイダーによって返される NPI へのポインター。 この WSK_PROVIDER_NPI 構造体には、WSK アプリケーションが呼び出すことができる WSK 関数の WSK プロバイダー ディスパッチ テーブルへのポインターが含まれています。
戻り値
WskCaptureProviderNPI は、次のいずれかの NTSTATUS コードを返します。
リターン コード | 形容 |
---|---|
|
プロバイダー NPI キャプチャが正常に完了しました。 |
|
プロバイダー NPI はまだ使用できませんでした。 |
|
WSK クライアントによって要求されたバージョンは、WSK サブシステムではサポートされていません。 |
|
プロバイダー NPI キャプチャに失敗しました。 |
備考
成功コードを返す WskCaptureProviderNPI を する呼び出しごとに、WskCaptureProviderNPI に渡されたのと同じ WskRegistration パラメーターを使用する、WskReleaseProviderNPI 呼び出し 対応する呼び出し1 つだけ存在する必要があります。
wskCaptureProviderNPI は、WskRegistration ブロックが解放または上書きされていない場合にのみ、WskDeregister 呼び出しが行われた後に呼び出すことができます。 WskDeregister 呼び出された後、 wskCaptureProviderNPI へのそれ以上の呼び出しは、状態コード STATUS_DEVICE_NOT_READYで失敗します。プロバイダー NPI が同時に使用可能にならない限り、WSK プロバイダー NPI が使用可能になるのを待機している他のスレッドでブロックされている既存の WskCaptureProviderNPI 呼び出しも、状態コードSTATUS_DEVICE_NOT_READYですぐに返されます。
WSK アプリケーションを WSK サブシステムにアタッチする方法の詳細については、「Winsock カーネル アプリケーションの登録」を参照してください。
waitTimeout が WSK_NO_WAIT に設定されていない 場合、WskCaptureProviderNPI 関数の呼び出し元は IRQL = PASSIVE_LEVEL で実行されている必要があります。それ以外の場合、呼び出し元は IRQL <= DISPATCH_LEVELで実行されている必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | wsk.h (Wsk.h を含む) |
ライブラリ | Netio.lib |
IRQL | PASSIVE_LEVEL (「解説」セクションを参照) |
関連項目
WskDeregister の
WskRegister の
WskReleaseProviderNPI の