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