다음을 통해 공유


PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK 콜백 함수(wdm.h)

ComponentIdleConditionCallback 콜백 루틴은 지정된 구성 요소가 활성 상태에서 유휴 상태로의 전환을 완료했음을 드라이버에 알릴 수 있습니다.

통사론

PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK PoFxComponentIdleConditionCallback;

void PoFxComponentIdleConditionCallback(
  [in] PVOID Context,
  [in] ULONG Component
)
{...}

매개 변수

[in] Context

디바이스 컨텍스트에 대한 포인터입니다. 디바이스 드라이버는 이 컨텍스트를 사용하여 디바이스의 현재 전원 상태에 대한 정보를 저장합니다. 디바이스 드라이버는 드라이버가 PoFx(전원 관리 프레임워크)에 디바이스를 등록하는 데 사용한 PO_FX_DEVICE 구조체의 DeviceContext 멤버에 이 포인터를 지정했습니다. 이 컨텍스트는 PoFx에 불투명합니다.

[in] Component

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

반환 값

없음

발언

드라이버가 더 이상 활성 상태인 구성 요소에 액세스할 필요가 없는 경우 드라이버는 PoFxIdleComponent 루틴을 호출하여 구성 요소를 유휴 상태로 전환해야 합니다. PoFxIdleComponent 호출에 대한 응답으로 PoFx는 유휴 상태로의 전환을 시작한 다음 ComponentIdleConditionCallback 루틴을 호출하여 이 전환이 완료되면 드라이버에 알립니다.

드라이버는 모든 ComponentIdleConditionCallback 콜백에 대한 응답으로 PoFxCompleteIdleCondition 호출해야 합니다. PoFxCompleteIdleCondition 호출은 ComponentIdleConditionCallback 콜백 중에 또는 콜백이 반환된 후에 발생할 수 있습니다. 드라이버는 PoFxCompleteIdleCondition호출하기 전에 하드웨어 구성 요소에 대한 액세스가 필요한 모든 작업을 완료해야 합니다. 이 호출 후에는 구성 요소가 F0 전원 상태로 유지되지 않을 수 있습니다.

구성 요소가 활성 상태인 경우에만 구성 요소에 안전하게 액세스할 수 있습니다. 구성 요소의 Fx 전원 상태를 사용하여 구성 요소에 액세스할 수 있는지 여부를 결정하지 마세요. 구성 요소가 F0 상태이고 유휴 상태인 경우 구성 요소가 다른 Fx 상태로 전환하려고 할 수 있습니다.

예제

ComponentIdleConditionCallback 콜백 루틴을 정의하려면 먼저 정의하는 콜백 루틴의 형식을 식별하는 함수 선언을 제공해야 합니다. Windows는 드라이버에 대한 콜백 함수 형식 집합을 제공합니다. 콜백 함수 형식을 사용하여 함수를 선언하면 드라이버 , SDV(정적 드라이버 검증 도구) 및 기타 확인 도구에 대한 코드 분석을데 도움이 되며 Windows 운영 체제용 드라이버를 작성하기 위한 요구 사항입니다.

예를 들어 MyComponentIdleConditionCallback명명된 ComponentIdleConditionCallback 콜백 루틴을 정의하려면 다음 코드 예제와 같이 PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK 형식을 사용합니다.

PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK MyComponentIdleConditionCallback;

그런 다음 다음과 같이 콜백 루틴을 구현합니다.

_Use_decl_annotations_
VOID
  MyComponentIdleConditionCallback(
    PVOID Context,
    ULONG Component
    )
  {
      // Function body
  }

PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK 함수 형식은 Wdm.h 헤더 파일에 정의됩니다. 코드 분석 도구를 실행할 때 오류를 보다 정확하게 식별하려면 함수 정의에 _Use_decl_annotations_ 주석을 추가해야 합니다. _Use_decl_annotations_ 주석은 헤더 파일의 PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK 함수 형식에 적용되는 주석이 사용되는지 확인합니다. 함수 선언 요구 사항에 대한 자세한 내용은 WDM 드라이버함수 역할 형식을 사용하여 함수 선언을 참조하세요. _Use_decl_annotations_대한 자세한 내용은 함수 동작 주석참조하세요.

요구 사항

요구
지원되는 최소 클라이언트 Windows 8부터 지원됩니다.
대상 플랫폼 바탕 화면
헤더 wdm.h(Wudfwdm.h 포함)
IRQL IRQL <= DISPATCH_LEVEL 호출합니다.

참고 항목

PO_FX_DEVICE

PoFxCompleteIdleCondition