Функция 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->PinToHandleNULL, KsCreatePin создает пин-код вызывающего объекта, который может использовать для отправки запросов драйверу потоковой передачи, указанному в Connect->FilterHandle. Connect—>PinId определяет тип пин-кода создаваемого пин-кода.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | ks.h (include Ks.h) |
библиотеки | Ks.lib |