KsPinDataIntersection 函数 (ks.h)

KsPinDataIntersection 函数通过回调函数处理 KSPROPERTY_PIN_DATAINTERSECTION 属性,并执行传递的参数的大部分初始验证。 KsPinDataIntersection 调用 minidriver 定义的 KStrIntersectHandler 回调函数,并将其与分配给该引脚工厂的数据范围列表匹配后,将它与每个潜在的数据范围相匹配。

语法

KSDDKAPI NTSTATUS KsPinDataIntersection(
  [in]            PIRP                   Irp,
  [in]            PKSP_PIN               Pin,
  [out, optional] PVOID                  Data,
  [in]            ULONG                  DescriptorsCount,
  [in]            const KSPIN_DESCRIPTOR *Descriptor,
  [in]            PFNKSINTERSECTHANDLER  IntersectHandler
);

参数

[in] Irp

指定描述属性请求的 IRP。

[in] Pin

指定要查询的特定属性。

[out, optional] Data

指定特定于 pin 属性的数据。

[in] DescriptorsCount

指定描述符结构的数目。

[in] Descriptor

指定指向引脚信息结构的列表的指针。

[in] IntersectHandler

指定 KStrIntersectHandler 回调函数来比较数据范围的微型驱动程序定义。

返回值

如果找到匹配范围,则 KsPinDataIntersection 函数返回STATUS_SUCCESS;如果未找到匹配范围,STATUS_NO_MATCH或特定于所处理属性的错误。 KStrIntersectHandler 提供给 KsPinDataIntersection 的交集处理程序,调用调用方提供的每个数据范围,直到找到匹配项或发生错误。

请注意,KStrIntersectHandler 回调函数具有自己的返回值集。

言论

匹配可以在三个条件下发生:如果传递的范围的主要格式是通配符或匹配固定工厂范围,如果子窗体是通配符或匹配,以及说明符是通配符或匹配项。 由于数据范围大小可能是可变的,因此在检查它是否至少是 KSDATARANGE 结构的大小之外,不会对其进行验证。

要求

要求 价值
目标平台 普遍
标头 ks.h (包括 Ks.h)
Ks.lib

另请参阅

KSDATARANGE

KStrIntersectHandler