Stati di alimentazione NFC
Il driver di estensione della classe NFC funge da proprietario di power policy per il dispositivo, quindi chiama WdfDeviceInitSetPowerPolicyOwnership(TRUE) durante la routine di inizializzazione del dispositivo.
Il driver NFC CX supporta gli stati di alimentazione del dispositivo D0 e D3. Il diagramma dello stato seguente mostra la transizione tra i due stati di alimentazione. Il dispositivo inattiva si trova nello stato di alimentazione D3 in cui nfcC non ha alimentazione. Quando la modalità radio è attiva e tutti i moduli come NFP (pubblicazioni attive o sottoscrizioni da NFP DDI), SE (elementi sicuri attivi in modalità di emulazione da NFCSE DDI) o SmartCard è attivo, lo stato passa a D0. Durante questa transizione, lo stato di polling del dispositivo viene aggiornato per soddisfare i requisiti di tutti i moduli attivi.
Inoltre, la logica di rilevamento inattiva predefinita di UMDF viene usata per gestire il dispositivo. Durante l'inizializzazione, WdfDevice viene assegnato alle impostazioni di idle S0 come indicato di seguito:
WdfDeviceAssignS0IdleSettings(
IdleCannotWakeFromS0,
PowerDeviceD3,
IdleTimeout,
IdleAllowUserControl,
WdfUseDefault
);
IdleTimeout viene predefinito a 1 secondo. Questa impostazione è configurabile tramite il parametro PowerIdleTimeout in NFC_CX_CLIENT_CONFIG. Il diagramma dello stato seguente illustra le varie transizioni di alimentazione implicite dall'uso del metodo di rilevamento inattive WDF.
Il driver client può scegliere di essere il proprietario del criterio di alimentazione dello stack tramite il membro IsPowerPolicyOwner della struttura NFC_CX_CLIENT_CONFIG . Ciò potrebbe essere utile per i trasporti, ad esempio USB, in cui è necessario configurare altri stati di alimentazione del dispositivo.