KsFilterAttemptProcessing 函数 (ks.h)
KsFilterAttemptProcessing 函数尝试在 筛选器上启动处理。
语法
void KsFilterAttemptProcessing(
[in] PKSFILTER Filter,
[in] BOOLEAN Asynchronous
);
参数
[in] Filter
指向 KSFILTER 结构的指针,该结构表示要尝试处理的 AVStream 筛选器对象。
[in] Asynchronous
此参数包含一个指示,指示是否应异步执行处理调度(如果发生)。 如果 TRUE,则保证异步调度;但是,同步处理调度受如下所述条件的约束。
返回值
没有
言论
如果微型驱动程序在满足处理数据所需的所有条件时调用 KsFilterAttemptProcessing,则会发生处理调度。 有关进程回调的详细信息,请参阅 KSFILTER_DISPATCH。 若要尝试导致实际调度,筛选器的进程控制门必须处于打开状态。 与以引脚为中心的处理不同,以筛选器为中心的处理有许多条件会影响进程控制门。 有关这些要求的详细信息,请参阅 Filter-Centric 处理 和 Pin-Centric 处理。
如果进程控制门处于打开状态,则会同步或异步执行处理调度。 如果调用方在 异步 参数中指定 TRUE,则处理调度始终在工作项中异步发生。 但是,如果调用方请求同步处理调度,则仅当系统当前位于可处理处理的 IRQL 时,才会同步执行调度。 如果系统处于PASSIVE_LEVEL,则保证同步执行调度。 相反,如果系统处于DISPATCH_LEVEL,则仅当筛选器上指定了KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING时,才会同步执行调度。 否则,工作项将排队以执行处理。
请注意,这只是处理尝试;调用此函数不能保证将启动处理。 仅当进程控制门处于“打开”状态时,才会发生处理。有关详细信息,请参阅 在 AVStream 中重启处理,以及 AVStream 中的流控制门。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Microsoft Windows XP 及更高版本的作系统以及 DirectX 8.0 及更高版本的 DirectX 版本中提供。 |
目标平台 | 普遍 |
标头 | ks.h (包括 Ks.h) |
库 | Ks.lib |
IRQL | <=DISPATCH_LEVEL |