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
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) |