Partager via


Fonction de rappel POFXCALLBACKPLATFORMIDLEVETO (pepfx.h)

Le PlatformIdleVeto incrémente ou décrémente le nombre de vetos pour un code de veto pour un état inactif de 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) avec framework de gestion de l’alimentation (PoFx). Le plug-in d’extension de plateforme (PEP) a reçu précédemment ce handle de PoFx pendant la notification PEP_DPM_REGISTER_DEVICE qui a informé le PEP 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 inactifs de plateforme pris en charge en réponse à une notification de PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES. Si les états inactifs de la plateforme PEP spécifiés, les index d’état d’inactivité de la plateforme valides sont comprises entre 0 et N–1.

[in] VetoReason

Code de veto défini par pep qui indique pourquoi l’état inactif de la plateforme ne peut pas être entré. Le PEP a précédemment spécifié le nombre de raisons de veto prises 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

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

Valeur de retour

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 d’état suivant.

Valeur de retour 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 PEP gère la notification PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES, chaque état inactif 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 veto 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 veto lorsque la raison de veto qui a provoqué l’incrémentation du nombre n’est plus en vigueur. Seulement après que le nombre de codes de veto a décrémenté à zéro est le système d’exploitation autorisé à passer la plateforme à cet état inactif.

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

Exigences

Exigence Valeur
client minimum pris en charge Prise en charge à partir de Windows 10.
plateforme cible Windows
d’en-tête pepfx.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