Função PoFxPowerControl (wdm.h)
A rotina PoFxPowerControl envia uma solicitação de controle de energia para a PoFx (estrutura de gerenciamento de energia).
Sintaxe
NTSTATUS PoFxPowerControl(
[in] POHANDLE Handle,
[in] LPCGUID PowerControlCode,
[in, optional] PVOID InBuffer,
[in] SIZE_T InBufferSize,
[out, optional] PVOID OutBuffer,
[in] SIZE_T OutBufferSize,
[out, optional] PSIZE_T BytesReturned
);
Parâmetros
[in] Handle
Um identificador que representa o registro do dispositivo com PoFx. O driver de dispositivo recebeu anteriormente esse identificador da rotina PoFxRegisterDevice .
[in] PowerControlCode
Um ponteiro para o código de controle de energia. Esse código é um valor GUID que especifica a operação solicitada.
[in, optional] InBuffer
Um ponteiro para um buffer alocado pelo chamador que contém os dados de entrada para a operação. O formato dos dados nesse buffer depende do código de controle de energia especificado pelo parâmetro PowerControlCode . O parâmetro InBuffer é opcional e pode ser especificado como NULL se a operação especificada não exigir dados de entrada.
[in] InBufferSize
O tamanho, em bytes, do buffer de entrada apontado pelo parâmetro InBuffer . Se InBuffer for NULL, defina InBufferSize como zero.
[out, optional] OutBuffer
Um ponteiro para um buffer alocado pelo chamador que deve conter os dados de saída da operação. O formato dos dados nesse buffer depende do código de controle de energia especificado pelo parâmetro PowerControlCode . O parâmetro OutBuffer é opcional e pode ser especificado como NULL se a operação especificada não produzir dados de saída.
[in] OutBufferSize
O tamanho, em bytes, do buffer de saída apontado pelo parâmetro OutBuffer . Se OutBuffer for NULL, defina OutBufferSize como zero.
[out, optional] BytesReturned
Um ponteiro para um local no qual a rotina grava o número de bytes de dados que foram gravados no buffer apontado pelo OutBuffer. O número de bytes gravados será menor ou igual a OutBufferSize. Esse parâmetro é opcional e pode ser especificado como NULL se o chamador não precisar saber quantos bytes foram gravados no buffer de saída.
Retornar valor
PoFxPowerControl retornará STATUS_SUCCESS se a operação solicitada for bem-sucedida. Os possíveis valores retornados por erro incluem o código de status a seguir.
Código de retorno | Descrição |
---|---|
|
A operação de controle de energia solicitada não foi implementada. |
|
O PEP (plug-in do power engine) não reconhece o suporte para este dispositivo. |
Comentários
Um driver de dispositivo chama essa rotina para enviar uma solicitação de controle de energia diretamente para PoFx. Uma solicitação de controle de energia é semelhante a uma IOCTL (solicitação de controle de E/S). Ao contrário de um IOCTL, no entanto, uma solicitação de controle de energia é enviada diretamente para PoFx e não é observada por outros drivers de dispositivo na pilha do dispositivo. Durante uma chamada PoFxPowerControl , o PoFx executa a operação solicitada de forma síncrona.
Da mesma forma, o PoFx pode enviar uma solicitação de controle de energia diretamente para o driver do dispositivo. O driver lida com essa solicitação em sua rotina PowerControlCallback .
A PoFx delega a manipulação de todas as solicitações de controle de energia para o PEP (plug-in do power engine). O PEP é um componente de software opcional que executa tarefas de gerenciamento de energia específicas para uma determinada linha de produtos de processador ou módulos SoC (System on a Chip). Se o fornecedor de hardware para o processador ou SoC fornecer um PEP para uma plataforma de hardware, esse PEP poderá lidar com solicitações de controle de energia personalizadas de um driver de dispositivo ou pode enviar solicitações de controle de energia personalizadas para a rotina PowerControlCallback do driver. O fornecedor pode especificar um conjunto de GUIDs do PowerControlCode e definir as operações designadas por esses GUIDs. Como opção, um driver de dispositivo pode conter código específico da plataforma para manipular ou enviar solicitações para essas operações.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 8. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h |
Biblioteca | Ntoskrnl.lib |
DLL | Ntoskrnl.exe |
IRQL | <= DISPATCH_LEVEL |