Поделиться через


Функция 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

См. также

KSDATARANGE

KStrIntersectHandler