Compartilhar via


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
STATUS_NOT_IMPLEMENTED
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

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES

PEP_NOTIFY_PPM_QUERY_VETO_REASONS