Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Драйвер расширения класса NFC служит владельцем политики питания для устройства, поэтому он вызывает WdfDeviceInitSetPowerPolicyOwnership(TRUE) во время процедуры инициализации устройства.
Драйвер NFC CX поддерживает состояния питания устройств D0 и D3. На схеме состояния ниже показан переход между двумя состояниями питания. Устройство в режиме простоя находится в состоянии питания D3, где NFCC не имеет питания. Если активен радиорежим и какие-либо из модулей, такие как NFP (активные публикации или подписки из NFP DDI), SE (активные безопасные элементы в режиме эмуляции из NFCSE DDI) или SmartCard, активны, состояние переходит в D0. Во время этого перехода состояние опроса устройства обновляется в соответствии с требованием всех активных модулей.
Кроме того, встроенная логика обнаружения бездействия в рамках UMDF используется для управления энергопотреблением устройства. Во время инициализации WdfDevice назначаются его параметры S0 для простоя следующим образом:
WdfDeviceAssignS0IdleSettings(
IdleCannotWakeFromS0,
PowerDeviceD3,
IdleTimeout,
IdleAllowUserControl,
WdfUseDefault
);
Значение по умолчанию IdleTimeout — 1 секунду. Этот параметр можно настроить с помощью параметра PowerIdleTimeout в NFC_CX_CLIENT_CONFIG. На диаграмме состояний ниже показаны различные переходы состояний питания, обусловленные использованием метода обнаружения простоя WDF.
Драйвер клиента может выбрать управление политикой энергопотребления стека через член IsPowerPolicyOwner структуры NFC_CX_CLIENT_CONFIG. Это может быть полезно для интерфейсов, таких как USB, где необходимо настроить дополнительные режимы питания устройства.