共用方式為


NFC CX 順序處理

來自不同廠商的 NFCC 韌體所實作的大部分非標準 NCI 功能和延伸模組,都與晶片組設定、韌體下載和硬體微調有關。 NFC 用戶端驅動程式可以註冊 NFC CX 公開的特定驅動程式序列,以支援這些非標準延伸模組。 用戶端驅動程式會透過 NfcCxRegisterSequenceHandler 函式註冊特定序列處理程式。 它通常是在初始化期間完成,而且應在 NfcCxDeviceInitialize 之後叫用。 這些處理程式會在裝置關機期間呼叫 NfcCxUnRegisterSequenceHandler 來取消註冊。 在叫用用戶端驅動程式的序列處理程式回呼之後,NFC CX 驅動程式將不會發出任何 NCI 命令,直到 NFC 用戶端驅動程式完成其處理為止。 這些順序處理程式回呼的設計目的是要異步,因此,用戶端可以在通知 NFC CX 完成之前,向控制器發出任意數目的 I/O 要求。 NFC CX 會使用監視程式定時器機制來判斷無響應狀態。 如果監視程式定時器在用戶端完成時序處理程式之前到期,就會觸發錯誤檢查,而且 UMDF 主機進程會由 UMDF 架構終止。

以下是在序列處理程式中實作任何其他邏輯之 NFC 用戶端驅動程式的需求:

  • 處理這些序列時,NFC 用戶端所傳送的任何 NCI 命令都應該確保不會違反 NFC CX 所指定的目前狀態完整性。 因此,NFC 客戶端必須負責此需求,以確保 NFC 裝置正常運作。 例如,處理初始化完成序列時,用戶端驅動程式不應該發出 NCI CORE_RESET_CMD來重設晶片組。
  • NFC 用戶端驅動程式必須確保 NCI 回應和 NCI 命令所產生的通知,不會傳送至控制器的 NFC CX 的 NfcCxNciReadNotification 函式。 這是必要的,因為 NFC CX NCI 狀態機器會與它與 NFCC 交換的命令不同步。