共用方式為


IOCTL_NFCSE_SET_CARD_EMULATION_MODE IOCTL (nfcsedev.h)

IOCTL_NFCSE_SET_CARD_EMULATION_MODE 控件程式代碼會設定指定的安全元素是否以卡片模擬模式公開。 當安全元素「公開」作為卡片模擬時,表示當裝置被帶到外部讀取器時,可讓讀取器存取安全元素。 IOCTL 會在以相對檔名 'SEManage' 開啟的檔案句柄上發出。 驅動程式必須授與客戶端的獨佔存取權來管理卡片模擬模式,也就是說,使用相對檔名 'SEManage' 開啟檔案句柄的後續呼叫將會失敗,STATUS_ACCESS_DENIED,直到具有獨佔存取權的用戶端關閉其檔句柄為止。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

SECURE_ELEMENT_SET_CARD_EMULATION_MODE_INFO 結構。

輸出緩衝區

沒有

狀態區塊

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

傳回碼 描述
STATUS_INVALID_PARAMETER 如果安全元素 GUID 無效,或輸出緩衝區為非零。
STATUS_INVALID_DEVICE_STATE 如果 IOCTL 是以相對名稱 『SEManage』 以外的句柄傳送。

言論

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

  • 這個 IOCTL 必須在具有 SEEvents 相對檔名的句柄上呼叫;否則,驅動程式會傳回STATUS_INVALID_DEVICE_STATE。
  • 如果卡片模擬模式針對附加至 NFC 控制器的所有安全元素設定為 EmulationOff,則必須停用輪詢迴圈的模擬模式。 如果也停用鄰近功能,驅動程式應轉換為低功率模式。
  • 如果卡片模擬模式設定為 EmulationOff 以外的值,則驅動程式必須繼續處於 D0 狀態,而且輪詢迴圈的模擬模式應該啟用(可偵測到外部讀取器)。
  • 當 SEManage 開啟的檔案句柄關閉時,驅動程式必須將所有安全元素的卡片模擬模式設定設定設為 EmulationOff,但上次設定的卡片模擬模式狀態為 EmulationOnPowerIndependent 時除外。 如果最後一個設定的卡片模擬模式狀態為EmulationOnPowerIndependent,驅動程式就必須將卡片模擬模式設定保留為 [開啟],且具有特定安全元素的 PbF 選項。
  • 驅動程式必須授與客戶端的獨佔存取權,才能管理卡片模擬模式。 使用相對檔名 SEManage 開啟檔案句柄的後續呼叫會失敗,STATUS_ACCESS_DENIED直到具有獨佔存取權的用戶端關閉其檔句柄為止。

要求

要求 價值
標頭 nfcsedev.h