次の方法で共有


KsPinAttemptProcessing 関数 (ks.h)

KsPinAttemptProcessing 関数は、ピン中心のフィルター上の特定のピンでの処理を再開するために使用されます。 Pin の処理オブジェクトに処理ディスパッチ呼び出しを送信して、Pin での処理を開始しようとします。

構文

void KsPinAttemptProcessing(
  [in] PKSPIN  Pin,
  [in] BOOLEAN Asynchronous
);

パラメーター

[in] Pin

処理を試行する AVStream ピン オブジェクトを表す KSPIN 構造体へのポインター。

警告

このパラメーターは必須です。 Pin 値が NULL の KsPinAttemptProcessing を呼び出すと、システムが不安定になる可能性があります。

[in] Asynchronous

このパラメーターは、処理を同期的に行うか非同期的に行うかのミニドライバーの優先順位を示します。 TRUE の場合、処理は常に非同期です。 ただし、同期処理は特定の状況でのみ行われます。 詳細については、以下の「解説」セクションを参照してください。

戻り値

なし

解説

ミニドライバーは、さまざまな状況で処理を再開するために KsPinAttemptProcessing を呼び出す必要がある場合があります。 たとえば、クライアントが KsGateTurnInputOff を使用して処理制御ゲートをシャットダウンした場合、処理を試みる準備ができたら、この関数を呼び出します。 これは、プロセス制御ゲートが開いている状態の場合にのみ処理ディスパッチが発生します。 もう 1 つの状況として、ミニドライバーが以前に処理ディスパッチにSTATUS_PENDINGを返したことがあります。 詳細については、「 AVStream での処理の再開 」および「 AVStream のフロー制御ゲート」を参照してください。

処理ディスパッチは、処理制御ゲートが開いている場合 にのみ 、同期的または非同期的に行われます。 非同期フラグは、ミニドライバーの基本設定を指定します。 ミニドライバーが非同期プロセス ディスパッチを要求する場合、ディスパッチは常に非同期です。 ただし、呼び出し元が 非同期FALSE に設定した場合でも、システムが現在 IRQL で実行されている場合は、最大処理 IRQL より小さい場合にのみ同期ディスパッチが発生します。 つまり、ミニドライバーがディスパッチ レベルの処理を指定せず、IRQL = DISPATCH_LEVELで呼び出しが行われた場合、非同期の値に関係なく、PASSIVE_LEVELの非同期作業項目で呼び出しが行われます。 詳細については、「 フィルター中心の処理 」と 「ピン中心の処理」を参照してください。

要件

要件
対象プラットフォーム ユニバーサル
Header ks.h (Ks.h を含む)
Library Ks.lib
IRQL <=DISPATCH_LEVEL (「解説」を参照)

こちらもご覧ください

KSFILTER_DISPATCH

KsFilterAttemptProcessing

KsGateCaptureThreshold