Функция KsPinDataIntersection (ks.h)
Функция KsPinDataIntersection обрабатывает свойство KSPROPERTY_PIN_DATAINTERSECTION с помощью функции обратного вызова и выполняет большую часть начальной проверки передаваемых параметров. KsPinDataIntersection вызывает функцию обратного вызова 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
Указывает данные, относящиеся к свойству закрепления.
[in] DescriptorsCount
Указывает количество структур дескрипторов.
[in] Descriptor
Указывает указатель на список информационных структур закрепления.
[in] IntersectHandler
Задает функцию обратного вызова KStrIntersectHandler , определяемую мини-driver, для сравнения диапазона данных.
Возвращаемое значение
Функция KsPinDataIntersection возвращает STATUS_SUCCESS, если найден соответствующий диапазон, STATUS_NO_MATCH, если соответствующий диапазон не найден, или ошибка, связанная с обрабатываемым свойством. Определенный мини-диском обработчик пересечения KStrIntersectHandler , предоставляемый KsPinDataIntersection , вызывается с каждым диапазоном данных, предоставленным вызывающим, до тех пор, пока не будет найдено совпадение или не возникнет ошибка.
Обратите внимание, что функция обратного вызова KStrIntersectHandler , определяемая мини-накопителем, имеет собственный набор возвращаемых значений.
Комментарии
Совпадение может происходить при трех условиях: если основной формат передаваемого диапазона является подстановочным знаком или соответствует диапазону фабрики контактов, если подчиненный формат является подстановочным знаком или соответствует, а описатель — подстановочный знак или совпадения. Так как размер диапазона данных может быть переменным, он не проверяется за пределами проверки того, что он по крайней мере равен размеру структуры KSDATARANGE .
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | ks.h (включая Ks.h) |
Библиотека | Ks.lib |