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 |