Compartilhar via


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.

Importante Informações preliminares
 

Código principal

IRP_MJ_DEVICE_CONTROL

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

IRP

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously