Compartilhar via


IOCTL_PMI_GET_CONFIGURATION IOCTL (pmi.h)

A solicitação IOCTL_PMI_GET_CONFIGURATION retorna informações sobre a configuração atual de um medidor de energia.

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 PMI_CONFIGURATION na qual os membros Version e ConfigurationType são definidos como valores válidos. O membro ConfigurationType contém um valor de enumeração PMI_CONFIGURATION_TYPE que especifica o tipo de informações de configuração a serem recuperadas do medidor de energia. Esse valor também determina o tipo de informações de configuração a serem gravadas no buffer de saída.

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(PMI_CONFIGURATION) 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á uma estrutura PMI_CONFIGURATION . Essa estrutura contém as informações de configuração solicitadas.

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 maior ou igual a sizeof(PMI_CONFIGURATION). Caso contrário, a solicitação falhará com um erro status de STATUS_BUFFER_TOO_SMALL.

Bloco de status

O membro Information é definido como o tamanho, em bytes, de uma estrutura PMI_CONFIGURATION .

O membro Status é definido como um dos seguintes valores:

STATUS_BUFFER_TOO_SMALL

O membro Parameters.DeviceIoControl.OutputBufferLength do IRP é menor que o tamanho, em bytes, de uma estrutura PMI_CONFIGURATION .

STATUS_INVALID_PARAMETER

O buffer de entrada alocado pelo iniciador contém um valor de PMI_CONFIGURATION_TYPE inválido.

STATUS_SUCCESS

O driver WDM que dá suporte à interface PMI concluiu a solicitação IOCTL com êxito.

Comentários

O IOCTL_PMI_GET_CONFIGURATION solicitação consulta a configuração atual do medidor de energia. O valor de enumeração de PMI_CONFIGURATION_TYPE de entrada especifica o tipo de dados de configuração a serem retornados. O tipo de dados e o conteúdo do buffer de saída variam de acordo com os dados solicitados.

A tabela a seguir descreve o tipo de dados retornados para o valor de enumeração PMI_CONFIGURATION_TYPE especificado.

PMI_CONFIGURATION_TYPE valor Descrição
PmiBudgetingConfiguration Uma estrutura PMI_BUDGETING_CONFIGURATION que contém informações sobre a configuração de orçamento do medidor de energia.
PmiMeasurementConfiguration Uma estrutura PMI_MEASUREMENT_CONFIGURATION que contém informações sobre a configuração de medida do medidor de energia.
PmiThresholdConfiguration Uma estrutura PMI_THRESHOLD_CONFIGURATION que contém informações sobre a configuração de limite do medidor de energia.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows 7, Windows Server 2008 R2 e versões posteriores dos sistemas operacionais Windows.
Cabeçalho pmi.h (inclua Pmi.h)

Confira também

IOCTL_PMI_GET_CAPABILITIES

IO_STACK_LOCATION

IRP

PMI_BUDGETING_CONFIGURATION

PMI_CAPABILITIES_TYPE

PMI_CONFIGURATION

PMI_CONFIGURATION_TYPE

PMI_MEASUREMENT_CONFIGURATION

PMI_THRESHOLD_CONFIGURATION