PEP_KERNEL_INFORMATION_STRUCT_V2 구조체(pep_x.h)

PEP_KERNEL_INFORMATION 구조는 PEP(전원 확장 플러그 인)가 PoFx(Windows 전원 관리 프레임워크)에서 서비스를 요청하는 데 사용하는 인터페이스를 지정합니다.

구문

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;

멤버

Version

이 구조체의 현재 버전 번호입니다. 이 멤버를 PEP_KERNEL_INFORMATION_VERSION 설정합니다.

Size

이 구조체의 크기(바이트)입니다. 이 멤버를 sizeof(PEP_KERNEL_INFORMATION)로 설정합니다.

Plugin

POFx를 사용하여 PEP 등록에 할당된 핸들입니다. PoFx는 이 멤버의 값을 설정합니다. PEP는 RequestWorker 루틴을 호출할 때 이 핸들을 사용합니다.

RequestWorker

RequestWorker 루틴에 대한 포인터입니다. PoFx는 이 멤버의 값을 설정합니다. RequestWorker 루틴은 PoFx에서 구현됩니다. PEP는 운영 체제에서 작업자 스레드의 사용을 요청하기 위해 이 루틴을 호출합니다.

EnumerateUnmaskedInterrupts

EnumerateUnmaskedInterrupts 루틴에 대한 포인터입니다. PoFx는 이 멤버의 값을 설정합니다. EnumerateUnmaskedInterrupts 루틴은 PoFx에서 구현됩니다. PEP는 이 루틴을 호출하여 마스크되지 않은 인터럽트 정보를 요청합니다.

ProcessorHalt

ProcessorHalt 루틴에 대한 포인터입니다. PoFx는 이 멤버의 값을 설정합니다. ProcessorHalt 루틴은 PoFx에서 구현됩니다. PEP는 이 루틴을 호출하여 현재 프로세서가 중지된 상태로 들어갈 수 있도록 준비합니다.

RequestInterrupt

RequestInterrupt 루틴에 대한 포인터입니다. PoFx는 이 멤버의 값을 설정합니다. RequestInterrupt 루틴은 PoFx에서 구현됩니다. PEP는 하드웨어 플랫폼이 저전력 시스템 상태로 전환된 후 손실되었을 수 있는 에지 트리거 인터럽트를 재생하기 위해 이 루틴을 호출합니다.

TransitionCriticalResource

TransitionCriticalResource 루틴에 대한 포인터입니다. PoFx는 이 멤버의 값을 설정합니다. TransitionCriticalResource 루틴은 PoFx에서 구현됩니다. PEP는 이 루틴을 호출하여 중요한 시스템 리소스를 유휴 상태로 전환합니다.

ProcessorIdleVeto

ProcessorIdleVeto 루틴에 대한 포인터입니다. PoFx는 이 멤버의 값을 설정합니다. ProcessorIdleVeto 루틴은 PoFx에서 구현됩니다. PEP는 이 루틴을 호출하여 프로세서 유휴 상태로의 보류 중인 전환에 대한 거부 횟수를 증가 또는 감소합니다.

PlatformIdleVeto

PlatformIdleVeto 루틴에 대한 포인터입니다. PoFx는 이 멤버의 값을 설정합니다. PlatformIdleVeto 루틴은 PoFx에서 구현됩니다. PEP는 이 루틴을 호출하여 플랫폼 유휴 상태로의 보류 중인 전환에 대한 거부 횟수를 증가 또는 감소합니다.

UpdateProcessorIdleState

UpdateProcessorIdleState 루틴에 대한 포인터입니다. PoFx는 이 멤버의 값을 설정합니다. UpdateProcessorIdleState 루틴은 PoFx에서 구현됩니다. PEP는 이 루틴을 호출하여 지정된 프로세서 유휴 상태의 속성을 업데이트합니다.

UpdatePlatformIdleState

UpdatePlatformIdleState 루틴에 대한 포인터입니다. PoFx는 이 멤버의 값을 설정합니다. UpdatePlatformIdleState 루틴은 PoFx에서 구현됩니다. PEP는 이 루틴을 호출하여 지정된 플랫폼 유휴 상태의 속성을 업데이트합니다.

설명

PoFxRegisterPlugin 또는 PoFxRegisterPluginEx 루틴 대한 KernelInformation 매개 변수는 PEP_KERNEL_INFORMATION 구조체에 대한 포인터입니다. PEP는 PoFxRegisterPlugin 또는 PoFxRegisterPluginEx를 호출하기 전에 이 구조체의 버전크기 멤버 값을 할당하고 설정합니다. 이 루틴을 호출하는 동안 PoFx는 구조체의 나머지 멤버를 채웁니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10 부터 지원합니다.
머리글 pep_x.h

추가 정보