PFNKSPIN 回调函数 (ks.h)

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

  • KSPIN 结构可供处理的数据。 使用此例程执行 Pin-Centric 处理
  • 相关的 KSPIN 充当接收器引脚,并连接到 AVStream 源引脚。

语法

PFNKSPIN Pfnkspin;

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

参数

[in] Pin

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

返回值

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

言论

关于 AVStrMiniPinProcess

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

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

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

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

进程调度是在默认 IRQL = PASSIVE_LEVEL,或者在DISPATCH_LEVEL(如果微型驱动程序已在相关 KSPIN_DESCRIPTOR_EX中指定了KSPIN_FLAG_DISPATCH_LEVEL_PROCESSING)。

此例程是可选的。

关于 AVStrMiniPinConnect

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

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

此例程是可选的。

另请参阅 KS 引脚

要求

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

另请参阅

Filter-Centric 处理

KSPIN_DESCRIPTOR_EX

KSPIN_DISPATCH

KsStreamPointerClone

Pin-Centric 处理