PEP_KERNEL_INFORMATION_STRUCT_V2 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_V2 {
  USHORT                                   Version;
  USHORT                                   Size;
  POHANDLE                                 Plugin;
  PPOFXCALLBACKREQUESTWORKER               RequestWorker;
  PPOFXCALLBACKENUMERATEUNMASKEDINTERRUPTS EnumerateUnmaskedInterrupts;
  PPOFXCALLBACKPROCESSORHALT               ProcessorHalt;
  PPOFXCALLBACKREQUESTINTERRUPT            RequestInterrupt;
  PPOFXCALLBACKCRITICALRESOURCE            TransitionCriticalResource;
  PPOFXCALLBACKPROCESSORIDLEVETO           ProcessorIdleVeto;
  PPOFXCALLBACKPLATFORMIDLEVETO            PlatformIdleVeto;
  PPOFXCALLBACKUPDATEPROCESSORIDLESTATE    UpdateProcessorIdleState;
  PPOFXCALLBACKUPDATEPLATFORMIDLESTATE     UpdatePlatformIdleState;
} PEP_KERNEL_INFORMATION_STRUCT_V2, *PPEP_KERNEL_INFORMATION_STRUCT_V2;

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.

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

See also