NFC 電源狀態
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秒。 此設定可透過 NFC_CX_CLIENT_CONFIG 中的PowerIdleTimeout參數進行設定。 下圖說明使用WDF閑置偵測方法所隱含的各種電源轉換。
用戶端驅動程式可以選擇為堆疊的電源原則擁有者,透過NFC_CX_CLIENT_CONFIG結構的IsPowerPolicyOwner成員。 這對於USB等傳輸可能很有用,例如必須設定其他裝置電源狀態的USB。