다음을 통해 공유


PoFxSetComponentLatency 함수(wdm.h)

PoFxSetComponentLatency 루틴은 유휴 상태에서 지정된 구성 요소의 활성 조건으로 전환할 때 허용할 수 있는 최대 대기 시간을 지정합니다.

구문

void PoFxSetComponentLatency(
  [in] POHANDLE  Handle,
  [in] ULONG     Component,
  [in] ULONGLONG Latency
);

매개 변수

[in] Handle

PoFx(전원 관리 프레임워크)를 사용하여 디바이스 등록을 나타내는 핸들입니다. 디바이스 드라이버는 이전에 PoFxRegisterDevice 루틴에서 이 핸들을 받았습니다.

[in] Component

구성 요소를 식별하는 인덱스입니다. 이 매개 변수는 디바이스 드라이버가 PoFx에 디바이스를 등록하는 데 사용한 PO_FX_DEVICE 구조의 Components 배열에 대한 인덱스입니다. Components 배열에 N 요소가 포함된 경우 구성 요소 인덱스의 범위는 0에서 N-1까지입니다.

[in] Latency

지정된 구성 요소에서 허용할 수 있는 최대 대기 시간(100나노초 단위)입니다. 자세한 내용은 설명 부분을 참조하세요.

반환 값

없음

설명

호출 드라이버는 디바이스의 클라이언트가 지정된 구성 요소에서 허용할 수 있는 최대 대기 시간을 제공합니다. 이 대기 시간은 유휴 상태에서 활성 상태로의 전환을 완료하는 데 필요한 시간입니다. PoFx는 성능 향상을 위해 이 대기 시간을 힌트로 사용합니다.

구성 요소가 활성 조건에서 유휴 상태로 전환되면 PoFx는 구성 요소가 입력할 적절한 저전력 Fx 상태를 선택합니다. 이 전환이 완료되면 활성 조건으로 다시 전환하는 데 필요한 시간은 선택한 Fx 상태에 따라 달라집니다. PoFx는 최대 대기 시간 요구 사항을 위반하지 않는 Fx 상태를 선택하려고 합니다.

예를 들어 드라이버가 지정된 구성 요소에서 F0, F1 및 F2 전원 상태를 지원하는 경우 F2 상태는 F1 상태보다 낮은 전원 설정을 나타냅니다. 일반적으로 T2가 F2에서 절전 모드 해제하는 데 필요한 시간(전체 상태, F0)은 T1이 F1에서 절전 모드 해제하는 데 필요한 시간보다 깁니다. 최대 대기 시간이 T1보다 크지만 T2보다 작은 경우 PoFx는 구성 요소를 F1 상태로 안전하게 전환하고 최대 대기 시간 요구 사항을 충족할 수 있습니다. 그러나 PoFx는 이 요구 사항을 위반하기 때문에 구성 요소를 F2 상태로 전환하지 않습니다.

디바이스 드라이버는 조건이 변경될 때마다 최대 대기 시간을 변경해야 할 때마다 PoFxSetComponentLatency 를 호출할 수 있습니다. 각 호출 후 드라이버가 PoFxSetComponentLatency 를 다시 호출하여 업데이트할 때까지 새 최대 대기 시간이 계속 적용됩니다.

PoFxSetComponentLatency가 호출될 때 구성 요소가 유휴 상태에 있는 경우 PoFx는 호출자가 지정한 새로운 최대 대기 시간을 수용하도록 구성 요소의 현재 Fx 상태를 변경할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 사용하여 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 wdm.h
라이브러리 Ntoskrnl.lib
DLL Ntoskrnl.exe
IRQL <= DISPATCH_LEVEL

추가 정보

PO_FX_DEVICE

PoFxRegisterDevice