PEP_KERNEL_INFORMATION_STRUCT_V3 structure (pep_x.h)
The PEP_KERNEL_INFORMATION structure specifies the interface that the power extension plug-in (PEP) uses to request services from the Windows power management framework (PoFx).
Syntax
typedef struct _PEP_KERNEL_INFORMATION_STRUCT_V3 {
USHORT Version;
USHORT Size;
POHANDLE Plugin;
PPOFXCALLBACKREQUESTWORKER RequestWorker;
PPOFXCALLBACKENUMERATEUNMASKEDINTERRUPTS EnumerateUnmaskedInterrupts;
PPOFXCALLBACKPROCESSORHALT ProcessorHalt;
PPOFXCALLBACKREQUESTINTERRUPT RequestInterrupt;
PPOFXCALLBACKCRITICALRESOURCE TransitionCriticalResource;
PPOFXCALLBACKPROCESSORIDLEVETO ProcessorIdleVeto;
PPOFXCALLBACKPLATFORMIDLEVETO PlatformIdleVeto;
PPOFXCALLBACKUPDATEPROCESSORIDLESTATE UpdateProcessorIdleState;
PPOFXCALLBACKUPDATEPLATFORMIDLESTATE UpdatePlatformIdleState;
PPOFXCALLBACKREQUESTCOMMON RequestCommon;
} PEP_KERNEL_INFORMATION_STRUCT_V3, *PPEP_KERNEL_INFORMATION_STRUCT_V3;
Members
Version
The current version number for this structure. Set this member to PEP_KERNEL_INFORMATION_VERSION.
Size
The size, in bytes, of this structure. Set this member to sizeof(PEP_KERNEL_INFORMATION).
Plugin
The handle assigned to the PEP's registration with PoFx. PoFx sets the value of this member. The PEP uses this handle in calls to the RequestWorker routine.
RequestWorker
A pointer to a RequestWorker routine. PoFx sets the value of this member. The RequestWorker routine is implemented by PoFx. The PEP calls this routine to request the use of a worker thread from the operating system.
EnumerateUnmaskedInterrupts
A pointer to an EnumerateUnmaskedInterrupts routine. PoFx sets the value of this member. The EnumerateUnmaskedInterrupts routine is implemented by PoFx. The PEP calls this routine to request information about the unmasked interrupts.
ProcessorHalt
A pointer to a ProcessorHalt routine. PoFx sets the value of this member. The ProcessorHalt routine is implemented by PoFx. The PEP calls this routine to prepare the current processor to enter the halted state.
RequestInterrupt
A pointer to a RequestInterrupt routine. PoFx sets the value of this member. The RequestInterrupt routine is implemented by PoFx. The PEP calls this routine to replay an edge-triggered interrupt that might have been lost after the hardware platform entered a low-power system state.
TransitionCriticalResource
A pointer to a TransitionCriticalResource routine. PoFx sets the value of this member. The TransitionCriticalResource routine is implemented by PoFx. The PEP calls this routine to transition critical system resources to the idle condition.
ProcessorIdleVeto
A pointer to a ProcessorIdleVeto routine. PoFx sets the value of this member. The ProcessorIdleVeto routine is implemented by PoFx. The PEP calls this routine to increment or decrement the veto count for a pending transition to a processor idle state.
PlatformIdleVeto
A pointer to a PlatformIdleVeto routine. PoFx sets the value of this member. The PlatformIdleVeto routine is implemented by PoFx. The PEP calls this routine to increment or decrement the veto count for a pending transition to a platform idle state.
UpdateProcessorIdleState
A pointer to an UpdateProcessorIdleState routine. PoFx sets the value of this member. The UpdateProcessorIdleState routine is implemented by PoFx. The PEP calls this routine to update the properties of the specified processor idle state.
UpdatePlatformIdleState
A pointer to an UpdatePlatformIdleState routine. PoFx sets the value of this member. The UpdatePlatformIdleState routine is implemented by PoFx. The PEP calls this routine to update the properties of the specified platform idle state.
RequestCommon
A pointer to a RequestCommon routine. PoFx sets the value of this member. The RequestCommon routine is implemented by PoFx. The PEP calls this routine to perform a processing operation that is specified by a request ID.
Remarks
The KernelInformation parameter to the PoFxRegisterPlugin or PoFxRegisterPluginEx routine is a pointer to a PEP_KERNEL_INFORMATION structure. The PEP allocates this structure and sets the values of the Version and Size members of this structure before calling PoFxRegisterPlugin or PoFxRegisterPluginEx. During the call to this routine, PoFx fills in the remaining members of the structure.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported starting with Windows 10. |
Header | pep_x.h |