Compartilhar via


IOCTL_KS_HANDSHAKE IOCTL (ks.h)

Um cliente no modo kernel pode usar IOCTL_KS_HANDSHAKE para negociar uma interface entre pinos AVStream não conectados. O cliente chama KsSynchronousDeviceControl com IOCTL_KS_HANDSHAKE e os parâmetros descritos abaixo.

Para tentar um handshake de protocolo com um pino que já está conectado, chame KsPinHandshake .

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

O cliente coloca um ponteiro para uma estrutura do tipo KSHANDSHAKE no parâmetro InBuffer.

Comprimento do buffer de entrada

InLength deve ser igual a sizeof(KSHANDSHAKE).

Buffer de saída

O cliente coloca um ponteiro para uma estrutura do tipo KSHANDSHAKE no parâmetro OutBuffer. Se a solicitação for bem-sucedida, as informações de handshake serão colocadas neste local.

Comprimento do buffer de saída

OutLength deve ser igual a sizeof(KSHANDSHAKE).

Bloco de status

Se a solicitação for bem-sucedida, IoStatus.Information será definido como sizeof(KSHANDSHAKE).

Esse IOCTL só pode ser enviado do modo kernel. Se a solicitação for enviada do modo de usuário, o membro Status será definido como STATUS_INVALID_DEVICE_REQUEST.

Se os parâmetros InLength e OutLength na chamada para KsSynchronousDeviceControl não são iguais a sizeof(KSHANDSHAKE), o membro Status será definido como STATUS_INVALID_BUFFER_SIZE.

Requisitos

Requisito Valor
cabeçalho ks.h (incluir Ks.h)

Consulte também

AVStrMiniPinHandshake

KSHANDSHAKE

KsPinHandshake

KsPinRegisterHandshakeCallback