IOCTL_KS_HANDSHAKE IOCTL (ks.h)

Клиент в режиме ядра может использовать IOCTL_KS_HANDSHAKE для согласования интерфейса между несвязанными контактами AVStream. Клиент вызывает KsSynchronousDeviceControl с IOCTL_KS_HANDSHAKE и параметрами, описанными ниже.

Чтобы попытаться выполнить подтверждение протокола с уже подключенным контактом, вызовите KsPinHandshake.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Клиент помещает указатель на структуру типа KSHANDSHAKE в параметре InBuffer .

Длина входного буфера

Значение InLength должно быть равно sizeof(KSHANDSHAKE).

Выходной буфер

Клиент помещает указатель на структуру типа KSHANDSHAKE в параметре OutBuffer . Если запрос выполнен успешно, сведения о подтверждении помещаются в это расположение.

Длина выходного буфера

Значение OutLength должно быть равно sizeof(KSHANDSHAKE).

Блок состояния

Если запрос выполнен успешно, для Параметра IoStatus.Information устанавливается значение sizeof(KSHANDSHAKE).

Этот IOCTL можно отправлять только из режима ядра. Если запрос отправляется из пользовательского режима, для элемента Status устанавливается значение STATUS_INVALID_DEVICE_REQUEST.

Если параметры InLength и OutLength в вызове KsSynchronousDeviceControl не равны sizeof(KSHANDSHAKE), элемент Status имеет значение STATUS_INVALID_BUFFER_SIZE.

Требования

Требование Значение
Заголовок ks.h (включая Ks.h)

См. также раздел

AVStrMiniPinHandshake

KSHANDSHAKE

KsPinHandshake

KsPinRegisterHandshakeCallback