IOCTL_HPMI_QUERY_CAPABILITIES IOCTL (hpmi.h)
[Algumas informações relacionam-se ao produto de pré-lançamento, o qual poderá ser substancialmente modificado antes do lançamento comercial. A Microsoft não fornece nenhuma garantia, expressa ou implícita, com relação às informações fornecidas aqui.]
O comando IOCTL_HPMI_QUERY_CAPABILITIES é enviado para consultar recursos compatíveis com os serviços HPMI e Windows solicitados pela HPMI. O Windows emitirá esse IOCL para HPMI uma vez depois que uma nova instância de driver HPMI for descoberta.
Código principal
Buffer de entrada
O membro AssociatedIrp.SystemBuffer do IRP (pacote de solicitação de E/S) aponta para um buffer alocado pelo iniciador que é usado como o buffer de entrada e o buffer de saída para a solicitação. Na entrada, esse buffer contém uma estrutura HPMI_QUERY_CAPABILITIES na qual a versão é definida como um valor válido.
Comprimento do buffer de entrada
O membro Parameters.DeviceIoControl.InputBufferLength do local da pilha de E/S atual do IRP (IO_STACK_LOCATION) é definido como o tamanho em bytes do buffer apontado pelo membro AssociatedIrp.SystemBuffer. Esse tamanho deve ser maior ou igual a sizeof HPMI_QUERY_CAPABILITIES estrutura ou a solicitação falhará com um erro status de STATUS_INVALID_PARAMETER.
Buffer de saída
Se a solicitação for concluída com êxito, o buffer apontado pelo membro AssociatedIrp.SystemBuffer conterá as informações de funcionalidade HPMI solicitadas. Localizado no início desse buffer está uma estrutura HPMI_QUERY_CAPABILITIES_RESPONSE que indica o tipo e o tamanho das informações no buffer.
Comprimento do buffer de saída
O membro Parameters.DeviceIoControl.OutputBufferLength do local da pilha de E/S atual do IRP é definido como o tamanho em bytes do buffer apontado pelo membro AssociatedIrp.SystemBuffer. Para que a solicitação seja bem-sucedida, esse tamanho deve ser grande o suficiente para conter a funcionalidade HPMI descrita em HPMI_QUERY_CAPABILITIES_RESPONSE. Caso contrário, a solicitação falhará com o erro status STATUS_BUFFER_TOO_SMALL.
Buffer de entrada/saída
TBD
Comprimento do buffer de entrada/saída
TBD
Bloco de status
Irp->IoStatus.Status será definido como STATUS_SUCCESS se a solicitação for bem-sucedida. Caso contrário, Status para a condição de erro apropriada como um código NTSTATUS , por exemplo, STATUS_INVALID_PARAMETER.
Comentários
O IOCTL_HPMI_QUERY_CAPABILITIES solicitação consulta as funcionalidades hpmi ou informações de ativo do medidor de energia. O valor da estrutura de HPMI_QUERY_CAPABILITIES de entrada especifica o tipo de informações de funcionalidade a serem retornadas. O tipo de dados e o conteúdo do buffer de saída variam de acordo com os dados solicitados.
Este IOCTL pode ser emitido várias vezes, HPMI deve responder com o mesmo
informações em HPMI_QUERY_CAPABILITIES_RESPONSE, como uma resposta a todos
chamadas IOCTL subsequentes.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível em Windows 10, versão 1709 e versões posteriores dos sistemas operacionais Windows. |
Cabeçalho | hpmi.h (inclua Hpmi.h) |
Confira também
Criando solicitações IOCTL em drivers
WdfIoTargetSendInternalIoctlOthersSynchronously