KsPinDataIntersectionEx 函数 (ks.h)
KsPinDataIntersectionEx 函数通过回调函数处理KSPROPERTY_PIN_DATAINTERSECTION。
语法
KSDDKAPI NTSTATUS KsPinDataIntersectionEx(
[in] PIRP Irp,
[in] PKSP_PIN Pin,
[out] PVOID Data,
[in] ULONG DescriptorsCount,
[in] const KSPIN_DESCRIPTOR *Descriptor,
[in] ULONG DescriptorSize,
[in, optional] PFNKSINTERSECTHANDLEREX IntersectHandler,
[in, optional] PVOID HandlerContext
);
参数
[in] Irp
指定描述属性请求的 IRP。
[in] Pin
指定要查询的特定属性。
[out] Data
指定特定于引脚属性的数据。
[in] DescriptorsCount
指定描述符结构的数目。
[in] Descriptor
指定指向引脚信息结构列表的指针。
[in] DescriptorSize
描述符结构的大小(以字节为单位)。
[in, optional] IntersectHandler
包含可选的微型驱动程序定义的 KStrIntersectHandlerEx 回调函数,用于比较数据范围。
[in, optional] HandlerContext
提供给处理程序的可选上下文。
返回值
返回STATUS_SUCCESS;否则为特定于正在处理的属性的错误。
注解
KsPinDataIntersectionEx 与 KsPinDataIntersection 非常相似,但以下一些细微差异除外:
- 在 KsPinDataIntersectionEx 中,传递描述符的大小,这是允许扩展描述符的功能。
- 在扩展版本中,数据交集回调函数的原型不同, (NTSTATUS 回调 (Context、Irp、Pin、DataRange、MatchingDataRange、DataBufferSize、Data、DataSize) ) 与 KsPinDataIntersection (NTSTATUS 回调 (Irp、Pin、DataRange、Data) ) 。
- (数据) 长度的输出缓冲区作为参数传递给 DataBufferSize () 的数据交集回调函数,而不是从当前 I/O 堆栈位置提取。
- 向数据交集回调函数传递一个 Context 参数 (传递给 KsPinDataIntersectionEx) 的相同 Context 参数。
- 生成的格式的大小在 DataSize 中传递回,而不是 Irp->IoStatus.Information。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | ks.h (包括 Ks.h) |