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