Freigeben über


POFXCALLBACKPLATFORMIDLEVETO-Rückruffunktion (pep_x.h)

Die PlatformIdleVeto Routineschritte oder dekrementiert die Vetoanzahl für einen Vetocode für einen Plattform-Leerlaufstatus.

Syntax

POFXCALLBACKPLATFORMIDLEVETO Pofxcallbackplatformidleveto;

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

Parameter

[in] ProcessorHandle

Ein POHANDLE-Wert, der die Registrierung des Prozessors (als Gerät) mit Power Management Framework (PoFx) darstellt. Das Plattformerweiterungs-Plug-In (PEP) erhielt dieses Handle zuvor von PoFx während der PEP_DPM_REGISTER_DEVICE Benachrichtigung, dass der PEP informiert wurde, dass der Prozessor bei PoFx registriert wurde.

[in] PlatformState

Der Index des Plattform-Leerlaufzustands, dessen Vetoanzahl erhöht oder erhöht wird. Der PEP hat zuvor die unterstützten Plattform-Leerlaufzustände als Reaktion auf eine PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES-Benachrichtigung angegeben. Wenn der pep angegebene N Plattform-Leerlauf zugibt, reichen gültige Indexe des Plattform-Leerlaufzustands von 0 bis N–1.

[in] VetoReason

Ein pepdefinierter Vetocode, der angibt, warum der Leerlaufstatus der Plattform nicht eingegeben werden kann. Die PEP hat zuvor die Anzahl der unterstützten Veto-Gründe als Reaktion auf eine PEP_NOTIFY_PPM_QUERY_VETO_REASONS Benachrichtigung angegeben. Wenn die PEP-Vetogründe angegeben haben, reichen gültige Vetocodes von 1 bis M.

[in] Increment

Gibt an, ob die Vetoanzahl erhöht oder verringert werden soll. Legen Sie auf TRUE fest, um die Vetoanzahl für diesen Vetogrund zu erhöhen, oder auf FALSE, um die Anzahl zu verringern.

Rückgabewert

PlatformIdleVeto- gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich erhöht oder die Vetoanzahl verringert. Mögliche Fehlerrücklaufwerte sind der folgende Statuscode.

Rückgabewert Beschreibung
STATUS_NOT_IMPLEMENTED
Gibt an, dass die PlatformIdleVeto Routine für diesen Prozessor nicht implementiert ist.

Bemerkungen

Diese Routine wird vom PoFx implementiert und vom PEP aufgerufen. Das PlatformIdleVeto Member der PEP_KERNEL_INFORMATION_STRUCT_V3-Struktur ist ein Zeiger auf eine PlatformIdleVeto Routine.

Nachdem der PEP die PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES-Benachrichtigung verarbeitet hat, beginnt jeder Leerlaufzustand der Plattform mit einer Vetoanzahl von Null für alle Vetocodes. Der PEP kann die Vetoanzahl eines Vetocodes erhöhen, um zu verhindern, dass das Betriebssystem die Plattform in diesen Leerlaufzustand übergibt. Der PEP erhöht die Vetoanzahl, wenn der Vetogrund, der dazu führte, dass die Anzahl erhöht wurde, nicht mehr wirksam ist. Erst nachdem die Anzahl aller Vetocodes auf Null erhöht wurde, darf das Betriebssystem die Plattform in diesen Leerlaufzustand übertragen.

Diese Routine muss bei IRQL = PASSIVE_LEVEL aufgerufen werden.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Wird ab Windows 10 unterstützt.
Zielplattform- Fenster
Header- pep_x.h (einschließen Pep_x.h)
IRQL- PASSIVE_LEVEL

Siehe auch

PEP_KERNEL_INFORMATION_STRUCT_V3

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES

PEP_NOTIFY_PPM_QUERY_VETO_REASONS