PFNKSPIN 回调函数 (ks.h)

在以下情况下调用 AVStream 微型驱动程序的回调例程:

语法

PFNKSPIN Pfnkspin;

NTSTATUS Pfnkspin(
  [in] PKSPIN Pin
)
{...}

参数

[in] Pin

指向具有可供处理的帧数据的 KSPIN 的指针。

返回值

返回STATUS_SUCCESS以继续处理。 返回STATUS_PENDING以停止处理,直到下一个触发事件。

注解

关于 AVStrMiniPinProcess

微型驱动程序在其KSPIN_DISPATCH结构的 Process 成员中指定此例程的地址。

通过提供此调度函数指示筛选器使用 以引脚为中心的处理 。 微型驱动程序在确定 AVStream 何时调用 AVStrMiniPinProcess 的相关KSPIN_DESCRIPTOR_EX结构中设置 pin 标志。 如果微型驱动程序未在描述符中设置任何标志,则默认行为是,当新数据到达以前空的队列时,AVStream 调用 AVStrMiniPinProcess 。 有关处理触发器的更多详细信息,请参阅 Pin-Centric 处理。

处理后,微型驱动程序可以通过克隆前导边缘流指针来阻止帧完成。 为此,请调用 KsStreamPointerClone。 请参阅前导和尾随边缘Stream指针

或者,通过在 KSPIN_DESCRIPTOR_EX 上设置KSPIN_FLAG_DISTINCT_TRAILING_EDGE来指定不同的尾边。 第三个选项是不推进前导流指针。

进程调度是在默认 IRQL = PASSIVE_LEVEL处进行的,如果微型驱动程序在相关KSPIN_DESCRIPTOR_EX中指定了KSPIN_FLAG_DISPATCH_LEVEL_PROCESSING,则可能在 DISPATCH_LEVEL

此例程是可选的。

关于 AVStrMiniPinConnect

微型驱动程序在其KSPIN_DISPATCH结构的 Connect 成员中指定此例程的地址。

返回STATUS_SUCCESS或尝试建立内部连接时返回的错误。 不要返回STATUS_PENDING。

此例程是可选的。

另请参阅 KS 引脚

要求

要求
最低受支持的客户端 在 Microsoft Windows XP 及更高版本的操作系统以及 DirectX 8.0 及更高版本的 DirectX 中可用。
目标平台 桌面
标头 ks.h (包括 Ks.h)
IRQL (请参阅“备注”部分)

另请参阅

以筛选器为中心的处理

KSPIN_DESCRIPTOR_EX

KSPIN_DISPATCH

KsStreamPointerClone

以引脚为中心的处理