IOCTL_NFCSE_SET_ROUTING_TABLE IOCTL (nfcsedev.h)

設定 NFC 控制器接聽模式路由表。 請注意,呼叫端必須傳送單一通話中的完整接聽模式路由資訊。 呼叫端應該確保路由表小於 4.2.5.1 中定義的 cbMaxRoutingTableSize 值。 根據 NFC NCI 標準秒 6.3.2 計算大小總計,且等於 AID 型路由數目 x 4 + cbAid + 技術型路由數目 x 5 + 通訊協定型路由 x 5。 呼叫端應確保技術與通訊協定型路由的值符合 NCI NFC 規格秒 6.3.2。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

SECURE_ELEMENT_ROUTING_TABLE 包含所有目前設定的路由專案。

輸出緩衝區

狀態區塊

Irp->如果要求成功,IoStatus.Status 會設定為 STATUS_SUCCESS 。 可能的錯誤碼如下:

傳回碼 Description
STATUS_INVALID_BUFFER_SIZE 提供的緩衝區大於 NFC 控制器MAX_ROUTING_TABLE_SIZE。
STATUS_FEATURE_NOT_SUPPORTED NFCC 不支援接聽模式路由設定。
STATUS_INVALID_PARAMETER 如果輸出緩衝區不是零,或用於技術或通訊協定的值符合NFC NCI 規格秒 6.3.2,或是使用重複的 AID,或是使用目前 NFC 控制器功能不支援的路由模式時,就會傳回此狀態。
STATUS_INVALID_DEVICE_STATE 如果 IOCTL 是以相對名稱 『SEManage』 以外的句柄傳送,就會傳回此程序代碼。

備註

以下是驅動程序必須遵守的需求。

  • 此 IOCTL 會在具有 'SEManage' 相對檔名的句柄上傳送,否則驅動程式必須以STATUS_INVALID_DEVICE_STATE完成。
  • 如果存在,驅動程式應具有初始默認接聽模式路由表專案,這些專案會路由 RF 技術 A、B 和 F 和 / 或 ISO-DEP 通訊協定路由傳送至 UICC SE。 這些路由專案稍後可能會由裝置主機起始的新接聽模式路由表組態覆寫。
  • 驅動程式應確保通訊協定 NFC-DEP 隨時都對應到裝置主機。 即使呼叫端未指定此專案,驅動程式也需要隱含地新增此規則。
  • 如果 NFCC 處於 RF 探索狀態時發出這個 IOCTL,驅動程式必須讓 NFCC 進入 RF 閑置狀態、設定路由表,然後重新啟動 RF 探索。

規格需求

需求
標頭 nfcsedev.h