KsFilterAttemptProcessing 関数 (ks.h)

KsFilterAttemptProcessing 関数は、フィルター処理の開始を試みます。

構文

void KsFilterAttemptProcessing(
  [in] PKSFILTER Filter,
  [in] BOOLEAN   Asynchronous
);

パラメーター

[in] Filter

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

[in] Asynchronous

このパラメーターには、処理ディスパッチを非同期的に行う必要があるかどうか (発生する必要があるかどうか) が示されます。 非同期ディスパッチは、これが TRUE の場合に保証されます。ただし、同期処理ディスパッチは、以下で説明する条件によって制御されます。

戻り値

なし

解説

データの処理に必要なすべての条件が満たされたときにミニドライバーが KsFilterAttemptProcessing を呼び出すと、処理ディスパッチが発生します。 プロセス コールバックの詳細については、「 KSFILTER_DISPATCH」を参照してください。 実際のディスパッチを試行するには、フィルターのプロセス制御ゲートが開いている状態である必要があります。 ピン中心の処理とは異なり、フィルター中心の処理には、プロセス制御ゲートに影響を与える多くの条件があります。 これらの要件の詳細については、「 フィルター中心の処理 」と「 ピン中心の処理」を参照してください。

プロセス制御ゲートが開いている場合は、同期的または非同期的に処理ディスパッチが行われます。 呼び出し元が非同期パラメーターで TRUE を指定した場合、処理ディスパッチは常に作業項目で非同期的に実行されます。 ただし、呼び出し元が同期処理ディスパッチを要求した場合、ディスパッチは、ミニドライバーが処理を処理できる IRQL にシステムが現在存在する場合にのみ同期的に発生します。 システムがPASSIVE_LEVELの場合、ディスパッチは同期的に行われます。 逆に、システムがDISPATCH_LEVELにある場合、ディスパッチは、フィルターでKSFILTER_FLAG_DISPATCH_LEVEL_PROCESSINGが指定されている場合にのみ同期的に行われます。 それ以外の場合は、処理を実行するために作業項目がキューに入れられます。

これは処理の試行に過ぎないことに注意してください。この関数を呼び出しても、処理が開始されるとは限りません。 処理は、プロセス制御ゲートが "開いている" 場合にのみ発生します。詳細については、「 AVStream での処理の再開 」および「 AVStream のフロー制御ゲート」を参照してください。

要件

要件
サポートされている最小のクライアント Microsoft Windows XP 以降のオペレーティング システムおよび DirectX 8.0 以降の DirectX バージョンで使用できます。
対象プラットフォーム ユニバーサル
Header ks.h (Ks.h を含む)
Library Ks.lib
IRQL <=DISPATCH_LEVEL

こちらもご覧ください

KSFILTER_DISPATCH

KSGATE

KsGateCaptureThreshold

KsPinAttemptProcessing