Função de retorno de chamada POFXCALLBACKPLATFORMIDLEVETO (pepfx.h)
O PlatformIdleVeto incrementos rotineiros ou diminui a contagem de vetos de um código de veto para um estado ocioso da plataforma.
Sintaxe
POFXCALLBACKPLATFORMIDLEVETO Pofxcallbackplatformidleveto;
NTSTATUS Pofxcallbackplatformidleveto(
[in] POHANDLE ProcessorHandle,
[in] ULONG PlatformState,
[in] ULONG VetoReason,
[in] BOOLEAN Increment
)
{...}
Parâmetros
[in] ProcessorHandle
Um valor POHANDLE que representa o registro do processador (como um dispositivo) com da estrutura de gerenciamento de energia (PoFx). O PEP (plug-in de extensão de plataforma) recebeu anteriormente esse identificador da PoFx durante a notificação de PEP_DPM_REGISTER_DEVICE que informou ao PEP que o processador havia sido registrado com PoFx.
[in] PlatformState
O índice do estado ocioso da plataforma cuja contagem de vetos está sendo incrementada ou decrementada. O PEP especificou anteriormente os estados ociosos da plataforma com suporte em resposta a uma notificação de PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES. Se os estados ociosos da plataforma N especificados pelo PEP, os índices de estado ociosos válidos da plataforma variam de 0 a N–1.
[in] VetoReason
Um código de veto definido por PEP que indica por que o estado ocioso da plataforma não pode ser inserido. O PEP especificou anteriormente o número de motivos de veto com suporte em resposta a uma notificação de PEP_NOTIFY_PPM_QUERY_VETO_REASONS. Se o PEP especificou motivos de veto M, os códigos de veto válidos variam de 1 a M.
[in] Increment
Seja para incrementar ou diminuir a contagem de vetos. Defina como TRUE para aumentar a contagem de vetos por esse motivo de veto ou para FALSE para diminuir a contagem.
Valor de retorno
PlatformIdleVeto retornará STATUS_SUCCESS se a chamada incrementar ou diminuir com êxito a contagem de vetos. Os valores de retorno de erro possíveis incluem o código de status a seguir.
Valor de retorno | Descrição |
---|---|
|
Indica que a rotina de PlatformIdleVeto não é implementada para esse processador. |
Observações
Essa rotina é implementada pela PoFx e é chamada pelo PEP. O PlatformIdleVeto membro da estrutura PEP_KERNEL_INFORMATION_STRUCT_V3 é um ponteiro para uma rotina de PlatformIdleVeto.
Depois que o PEP manipula a notificação PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES, cada estado ocioso da plataforma começa com uma contagem de veto zero para todos os códigos de veto. O PEP pode incrementar a contagem de vetos de um código de veto para impedir que o sistema operacional faça a transição da plataforma para esse estado ocioso. A PEP diminui a contagem de vetos quando o motivo do veto que fez com que a contagem fosse incrementada não está mais em vigor. Somente após a contagem de todos os códigos de veto ter decremente reduzido a zero é que o sistema operacional tem permissão para fazer a transição da plataforma para esse estado ocioso.
Essa rotina deve ser chamada em IRQL = PASSIVE_LEVEL.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Com suporte a partir do Windows 10. |
da Plataforma de Destino | Windows |
cabeçalho | pepfx.h (inclua Pep_x.h) |
IRQL | PASSIVE_LEVEL |
Consulte também
PEP_KERNEL_INFORMATION_STRUCT_V3