NFC 클래스 확장 드라이버는 디바이스의 전원 정책 소유자 역할을 하므로 디바이스 초기화 루틴 중에 WdfDeviceInitSetPowerPolicyOwnership(TRUE) 을 호출합니다.
NFC CX 드라이버는 디바이스 전원 상태 D0 및 D3를 지원합니다. 아래 상태 다이어그램은 두 전원 상태 간의 전환을 보여줍니다. 유휴 상태의 디바이스는 NFCC에 전원이 없는 D3 전원 상태입니다. 라디오 모드가 활성 상태이고 NFP(NFP DDI의 활성 게시 또는 구독), SE(NFCSE DDI의 에뮬레이션 모드에서 활성 보안 요소) 또는 SmartCard와 같은 모듈이 활성 상태인 경우 상태는 D0으로 전환됩니다. 이 전환 중에 디바이스의 폴링 상태가 모든 활성 모듈의 요구 사항을 충족하도록 업데이트됩니다.
또한 UMDF의 기본 제공 유휴 감지 논리는 디바이스의 전원 관리를 위해 사용됩니다. 초기화 중에 WdfDevice에는 다음과 같이 S0 유휴 설정이 할당됩니다.
WdfDeviceAssignS0IdleSettings(
IdleCannotWakeFromS0,
PowerDeviceD3,
IdleTimeout,
IdleAllowUserControl,
WdfUseDefault
);
IdleTimeout의 기본값은 1초입니다. 이 설정은 NFC_CX_CLIENT_CONFIGPowerIdleTimeout 매개 변수를 통해 구성할 수 있습니다. 아래 상태 다이어그램은 WDF 유휴 검출 방법을 사용하여 의미하는 다양한 전력 전환을 보여 줍니다.
클라이언트 드라이버는 NFC_CX_CLIENT_CONFIG 구조의 IsPowerPolicyOwner 멤버를 통해 스택의 전원 정책 소유자로 선택할 수 있습니다. 이는 추가 디바이스 전원 상태를 구성해야 하는 USB와 같은 전송에 유용할 수 있습니다.