Fonction de rappel POFXCALLBACKPLATFORMIDLEVETO (pep_x.h)

La routine PlatformIdleVeto incrémente ou décrémente le nombre de vetos pour un code de veto pour un état inactif de la plateforme.

Syntaxe

POFXCALLBACKPLATFORMIDLEVETO Pofxcallbackplatformidleveto;

NTSTATUS Pofxcallbackplatformidleveto(
  [in] POHANDLE ProcessorHandle,
  [in] ULONG PlatformState,
  [in] ULONG VetoReason,
  [in] BOOLEAN Increment
)
{...}

Paramètres

[in] ProcessorHandle

Valeur POHANDLE qui représente l’inscription du processeur (en tant qu’appareil) auprès de l’infrastructure de gestion de l’alimentation (PoFx). Le plug-in d’extension de plateforme (PEP) a précédemment reçu ce handle de PoFx lors de la notification PEP_DPM_REGISTER_DEVICE qui l’a informé que le processeur avait été inscrit auprès de PoFx.

[in] PlatformState

Index de l’état inactif de la plateforme dont le nombre de vetos est incrémenté ou décrémenté. Le PEP a précédemment spécifié les états d’inactivité de plateforme pris en charge en réponse à une notification PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES . Si le PEP spécifié N états d’inactivité de la plateforme, les index d’état d’inactivité de la plateforme valides vont de 0 à N–1.

[in] VetoReason

Code de veto défini par le peps qui indique pourquoi l’état d’inactivité de la plateforme ne peut pas être entré. Le PEP a précédemment spécifié le nombre de motifs de veto pris en charge en réponse à une notification PEP_NOTIFY_PPM_QUERY_VETO_REASONS . Si le PEP a spécifié des raisons de veto M, les codes de veto valides vont de 1 à M.

[in] Increment

Indique s’il faut incrémenter ou décrémenter le nombre de vetos. Définissez sur TRUE pour incrémenter le nombre de vetos pour cette raison de veto, ou sur FALSE pour décrémenter le nombre.

Valeur retournée

PlatformIdleVeto retourne STATUS_SUCCESS si l’appel incrémente ou décrémente correctement le nombre de vetos. Les valeurs de retour d’erreur possibles incluent le code status suivant.

Valeur retournée Description
STATUS_NOT_IMPLEMENTED
Indique que la routine PlatformIdleVeto n’est pas implémentée pour ce processeur.

Remarques

Cette routine est implémentée par PoFx et est appelée par le PEP. Le membre PlatformIdleVeto de la structure PEP_KERNEL_INFORMATION_STRUCT_V3 est un pointeur vers une routine PlatformIdleVeto .

Une fois que le peps gère la notification PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES , chaque état d’inactivité de la plateforme commence par un nombre de veto égal à zéro pour tous les codes de veto. Le pep peut incrémenter le nombre de vétos d’un code de veto pour empêcher le système d’exploitation de passer de la plateforme à cet état inactif. Le PEP décrémente le nombre de vetos lorsque la raison du droit de veto qui a provoqué l’incrémentation du décompte n’est plus en vigueur. Ce n’est qu’une fois que le nombre de tous les codes de veto a été décrémenté à zéro que le système d’exploitation est autorisé à passer la plateforme à cet état inactif.

Cette routine doit être appelée dans IRQL = PASSIVE_LEVEL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge à partir de Windows 10.
Plateforme cible Windows
En-tête pep_x.h (include Pep_x.h)
IRQL PASSIVE_LEVEL

Voir aussi

PEP_KERNEL_INFORMATION_STRUCT_V3

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES

PEP_NOTIFY_PPM_QUERY_VETO_REASONS