Функция 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
Указывает данные, относящиеся к свойству pin.
[in] DescriptorsCount
Указывает количество структур дескриптора.
[in] Descriptor
Указывает указатель на список информационных структур закрепления.
[in] DescriptorSize
Размер структур дескриптора в байтах.
[in, optional] IntersectHandler
Содержит необязательную функцию обратного вызова KStrIntersectHandlerEx , определяемую мини-driver, для сравнения диапазонов данных.
[in, optional] HandlerContext
Необязательный контекст, предоставляемый обработчику.
Возвращаемое значение
Возвращает STATUS_SUCCESS; в противном случае — ошибка, связанная с обрабатываемым свойством.
Комментарии
KsPinDataIntersectionEx очень похож на KsPinDataIntersection, за исключением некоторых из следующих незначительных различий:
- В KsPinDataIntersectionEx передается размер дескриптора, который позволяет использовать расширенные дескрипторы.
- Функция обратного вызова пересечения данных в расширенной версии (обратный вызов NTSTATUS (context, Irp, Pin, DataRange, MatchingDataRange, DataBufferSize, Data, DataSize)) и KsPinDataIntersection (NTSTATUS Callback (Irp, Pin, DataRange, DataRange, Data)).
- Длина выходного буфера (Данные) передается в качестве параметра в функцию обратного вызова пересечения данных (DataBufferSize), а не извлекается из текущего расположения стека ввода-вывода.
- Функции обратного вызова пересечения данных передается параметр Context (тот же параметр Context , который передается в KsPinDataIntersectionEx).
- Размер результирующих форматов передается обратно в DataSize вместо Irp->IoStatus.Information.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | ks.h (включая Ks.h) |