Функция KsValidateConnectRequest (ks.h)
Функция KsValidateConnectRequest проверяет запрос на подключение и возвращает указатель на структуру подключения, связанную с запросом.
Эту функцию можно вызывать только в PASSIVE_LEVEL.
Синтаксис
KSDDKAPI NTSTATUS KsValidateConnectRequest(
[in] PIRP Irp,
[in] ULONG DescriptorsCount,
[in] const KSPIN_DESCRIPTOR *Descriptor,
[out] PKSPIN_CONNECT *Connect
);
Параметры
[in] Irp
Указатель на IRP, указывающий запрос на подключение.
[in] DescriptorsCount
Указывает количество переданных дескрипторов контактов.
[in] Descriptor
Указывает указатель на список KSPIN_DESCRIPTOR структур.
[out] Connect
Указывает расположение, в котором помещает указатель на KSPIN_CONNECT указатель, передаваемый в запрос на создание. Если KsValidateConnectRequest возвращает успешное выполнение, connect+1 будет содержать указатель на KSDATAFORMAT, с помощью которого был открыт контакт.
Возвращаемое значение
Функция KsValidateConnectRequest возвращает STATUS_SUCCESS в случае успешного выполнения или возвращает ошибку.
Комментарии
Функция KsValidateConnectRequest обрабатывает основные исключения доступа к структуре подключения и проверяет требования к обмену данными, средний уровень, протокол и базовый формат данных. Проверка переданного формата данных основана на списке диапазонов данных для указанного контакта, на основе которого должен быть создан экземпляр контакта. Проверка выполняется успешно в трех случаях: если основной формат диапазона является подстановочным знаком, основной формат диапазона совпадает, а подчиненный формат диапазона — подстановочный знак, либо основной формат диапазона, подчиненный формат диапазона и описатель диапазона совпадают.
Буферу передается копия исходного входного буфера, если инициатор не находился в режиме ядра и поэтому является безопасным для доступа.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | ks.h (включая Ks.h) |
Библиотека | Ks.lib |