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 |