Функция KsCreatePin (ks.h)
Функция KsCreatePin передает запрос на подключение устройству, создавая экземпляр закрепления. Эту функцию можно вызывать только в PASSIVE_LEVEL для клиентов в режиме ядра.
Синтаксис
KSDDKAPI NTSTATUS KsCreatePin(
[in] HANDLE FilterHandle,
[in] PKSPIN_CONNECT Connect,
[in] ACCESS_MASK DesiredAccess,
[out] PHANDLE ConnectionHandle
);
Параметры
[in] FilterHandle
Указывает дескриптор фильтра, инициирующего запрос на создание, и место соединения.
[in] Connect
Указатель на структуру KSPIN_CONNECT , содержащую параметры для запрошенного подключения. За этим в памяти должна следовать структура данных KSDATAFORMAT , описывающая формат данных, запрошенный для подключения.
[in] DesiredAccess
Указывает требуемый доступ к закреплению. Обычно это GENERIC_READ или GENERIC_WRITE. Для данных, передаваемых в контакт, это значение должно быть равно GENERIC_WRITE, а для данных, поступающих из контакта, должно быть задано значение GENERIC_READ независимо от метода связи.
[out] ConnectionHandle
Указывает переданный дескриптор соединения. Подпрограмма заполняет его дескриптором для объекта файла созданного соединения. Затем это значение можно использовать для отключения функции CloseHandle .
Возвращаемое значение
Функция KsCreatePin возвращает STATUS_SUCCESS , если подключение прошло успешно, или возвращает ошибку в случае сбоя подключения. Кроме того, можно вернуть этот код ошибки Win32 (из Winerror.h):
Комментарии
Подпрограмма отправляет драйверу запрос IRP_MJ_CREATE . Драйвер принимает запрос, только если интерфейс, среда и формат данных совместимы.
Если параметрConnect-PinToHandle> имеет значение NULL, KsCreatePin создает контакт, который вызывающий объект может использовать для отправки запросов к драйверу потоковой передачи, указанному в разделе Connect-FilterHandle>. Connect-PinId> определяет тип контакта, который необходимо создать.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | ks.h (включая Ks.h) |
Библиотека | Ks.lib |