共用方式為


MB UICC 應用程式和檔案系統存取

概觀

本主題指定行動寬頻介面模型 (MBIM) 介面的延伸模組,以允許存取 UICC 智慧卡應用程式和檔案系統。 MBIM 的此延伸模組提供對符合 ETSI TS 102 221 技術規範的 UICC 應用程式和檔案系統的邏輯存取,而且在 Windows 10 版本 1903 及更高版本中皆受支援。

UICC 存取與安全性

UICC 提供檔案系統,並支援一組可並行執行的應用程式。 其中包括用於 UMTS 的 USIM、用於 CDMA 的 CSIM 和用於 IMS 的 ISIM。 SIM 是 UICC 的舊版部分,可建模為其中一個應用程式 (適用於 GSM) 。

ETSI TS 102 221 技術規範第 8.1 節中的下圖顯示了卡片應用結構範例。

顯示範例 UICC 應用程式結構的圖表。

UICC檔案系統可以看作是目錄樹的樹林。 舊版 SIM 樹狀結構植根於主檔案 (MF) ,最多包含兩個層級的子目錄 (專用檔案或 DF),其中包含包含各種類型資訊的元素檔案 (EF)。 SIM 在 MF 下定義了多個 DF,其中一個是 DFTelecom,它包含多種存取類型共用的資訊,例如一般電話簿。 其他應用程式會有效地實作為個別樹狀結構,每個應用程式都植根於自己的應用程式目錄檔案 (ADF)。 每個 ADF 都由應用程式識別碼識別,其長度最多可達 128 位。 卡片根目錄下的檔案 (圖表中 MF 下的 EFDir) 包含應用程式名稱和對應的識別碼。 在樹狀結構 (MF 或 ADF) 中,DF 和 EF 可能會由檔案標識碼的路徑來識別,其中檔案標識碼是 16 位整數。

NDIS 介面延伸模組

已定義下列 OID 以支援 UICC 應用程式和檔案系統存取。

MBIM 服務和 CID 值

服務名稱 通用唯一識別碼 (UUID) UUID 值
Microsoft Low-Level UICC 存取功能 UUID_MS_UICC_LOW_LEVEL C2F6588E-F037-4BC9-8665-F4D44BD09367
Microsoft基本IP連線延伸模組 UUID_基本連接擴展 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF

下表指定每個 CID 的 UUID 和命令程式代碼,以及 CID 是否支援 Set、Query 或 Event (notification) 要求。 如需參數、數據結構和通知的詳細資訊,請參閱本主題中的每個 CID 個別區段。

CID 通用唯一識別碼 (UUID) 命令碼 設定 查詢 通知
MBIM_CID_MS_UICC_APP_LIST UUID_MS_UICC_LOW_LEVEL 7 N N
MBIM_CID_MS_UICC_FILE_STATUS UUID_MS_UICC_LOW_LEVEL 8 N N
MBIM_CID_MS_UICC_ACCESS_BINARY UUID_MS_UICC_LOW_LEVEL 9 N
MBIM_CID_MS_UICC_ACCESS_RECORD UUID_MS_UICC_LOW_LEVEL 10 N
MBIM_CID_MS_PIN_EX UUID_基本連接擴展 14 N

MBIM_CID_MS_UICC_APP_LIST

此 CID 會擷取 UICC 中的應用程式清單,以及它們的相關資訊。 當數據機中的 UICC 已完全初始化並準備好向行動電信業者註冊時,必須選取 UICC 應用程式進行註冊,而且使用此 CID 的查詢應該會在回應中使用的 MBIM_UICC_APP_LIST 結構的 ActiveAppIndex 欄位中傳回選取的應用程式。

參數

行動 設定 查詢 通知
指令 不適用 不適用
回應 不適用 MBIM_UICC_APP_LIST 不適用

查詢

MBIM_COMMAND_MSG的 InformationBuffer 是空的。

設定

不適用。

回應

MBIM_COMMAND_DONE 中的 InformationBuffer 包含下列MBIM_UICC_APP_LIST結構。

MBIM_UICC_APP_LIST (版本 1)

Offset 大小 領域 類型 說明
0 4 版本 UINT32 後續結構的版本號碼。 此欄位必須設定為此結構第 1 版的 1
4 4 應用程序計數 UINT32 此回應中傳回的 UICC 應用程式 MBIM_UICC_APP_INFO 結構數目。
8 4 ActiveApp索引 UINT32(0..NumApp - 1) 數據機選取的應用程式索引,以便向行動網路註冊。 此欄位必須介於 0AppCount - 1 之間。 它會索引此回應所傳回的應用程式陣列。 如果未選取任何應用程式進行註冊,此欄位會包含 0xFFFFFFFF
12 4 應用程式清單大小 UINT32 應用程式清單數據的大小,以位元組為單位。
8*應用程式計數 應用程式清單 OL_PAIR_LIST 配對的第一個元素是 4 位元組欄位,其中包含 DataBuffer 中應用程式資訊的偏移量。 配對中的第二個元素是一個 4 位元組字段,表示應用程式資訊的大小。
應用程式清單大小 資料緩衝器 (DataBuffer) 資料緩衝器 AppCount * MBIM_UICC_APP_INFO結構的陣列。

MBIM_UICC_APP_INFO

Offset 大小 領域 類型 說明
0 4 應用程式類型 MBIM_UICC_APP_TYPE UICC 應用程式的類型。
4 4 AppIdOffset 抵消 資料緩衝區中應用程式識別碼的偏移量。 只有第一個 AppIdSize 位元組才有意義。 如果應用程式識別碼超過 MBIM_MAXLENGTH_APPID 個位元組,則 AppIdSize 會指定實際長度,但只有前 MBIM_MAXLENGTH_APPID 個位元組位於此欄位中。 只有在 AppType 不是 MBIMUiccAppTypeMf、MBIMUiccAppTypeMfSIM 或 MBIMUiccAppTypeMfRUIM 時,此欄位才有效。
8 4 AppIdSize (應用ID大小) 尺寸 (0..16) 應用程式識別碼的大小 (以位元組為單位),如 ETSI TS 102 221 技術規格第 8.3 節所定義。 AppIdSize 可能包含大於 16 的數字,但在此情況下,只有前 16 (MBIM_MAXLENGTH_APPID) 個位元組位於資料緩衝區中。 對於 MBIMUiccAppTypeMf、MBIMUiccAppTypeMfSIM 或 MBIMUiccAppTypeMfRUIM 應用程式類型,此欄位會設定為零。
12 應用程式名稱位移 抵消 資料緩衝區中應用程式名稱的位移量。 指定應用程式名稱的 UTF-8 字串。 此欄位的長度由 AppNameLength 指定。 如果長度大於或等於 MBIM_MAXLENGTH_APPNAME 個位元組,則此欄位會包含名稱的第一個MBIM_MAXLENGTH_APPNAME - 1 個位元組。 字串一律會以 Null 結束。
16 4 應用程式名稱長度 尺寸 (0..256) 應用程式名稱的長度 (以位元組為單位)。 AppNameLength 可能包含等於或大於 256 的數字,但在這些情況下,只有前 255 (MBIM_MAXLENGTH_APPNAME - 1) 個位元組位於資料緩衝區中。
20 4 NumPinKeyRefs 尺寸 (0..8) 應用程式 PIN 金鑰參照的數目。 換句話說,有效的 PinKeyRef 元素數目。 虛擬 R-UIM 上的應用程式沒有 PIN 金鑰參照。
24 4 索引鍵參考偏移 抵消 DataBuffer 中 PinKeyRef 的位移。 PinKeyRef 是一個位元組陣列,指定應用程式的 PIN 金鑰參考,以進行不同層級的驗證 (PIN1、PIN2 的金鑰,以及可能的通用 PIN),如 ETSI TS 102 221 技術規格的表 9.3 和第 9.4.2 節所定義。 如果是單一驗證卡,或不支援不同應用程式的不同應用程式金鑰的 MBB 驅動程式和/或數據機,PinKeyRef 欄位的第一個位元組必須是 0x01 (PIN1) ,第二個位元組必須是 0x81 (PIN2),如 ETSI TS 102 221 的第 9.5.1 節所述。
28 4 KeyRef大小 尺寸 (0..8) PinKeyRef 的大小。
32 資料緩衝器 (DataBuffer) 資料緩衝器 包含單一驗證卡的 AppId、AppName 和 PinKeyRef,或不支援不同應用程式之間不同應用程式金鑰的 MBB 驅動程式和/或數據機的數據緩衝區,該欄位必須是0x01

MBIM_UICC_APP_TYPE

類型 價值觀 說明
MBIMUiccAppTypeUnknown 0 未知的類型。
MBIMUiccAppTypeMf 1 根目錄在 MF 的舊版 SIM 卡目錄。
MBIMUiccAppTypeMfSIM 2 根目錄位於DF_GSM的舊版 SIM 卡目錄。
MBIMUiccAppTypeMfRUIM 3 在DF_CDMA根目錄的舊版 SIM 卡目錄。
MBIMUiccAppTypeUSIM 4 USIM 應用程序。
MBIMUicc應用類型CSIM 5 CSIM 應用程式。
MBIMUiccAppTypeISIM 6 ISIM 應用程序。

常數

下列常數會針對MBIM_CID_MS_UICC_APP_INFO定義。

const int MBIM_MAXLENGTH_APPID = 32
const int MBIM_MAXLENGTH_APPNAME = 256
const int MBIM_MAXNUM_PINREF = 8

未請求的事件

不適用。

狀態代碼

下列狀態代碼適用:

狀態代碼 說明
MBIM_STATUS_SUCCESS 針對所有命令所定義的基本 MBIM 狀態。
MBIM_STATUS_BUSY 針對所有命令所定義的基本 MBIM 狀態。
MBIM_STATUS_FAILURE(指示失敗狀態) 針對所有命令所定義的基本 MBIM 狀態。
MBIM狀態_不支持設備 針對所有命令所定義的基本 MBIM 狀態。
MBIM_狀態_SIM未插入 無法執行 UICC 作業,因為缺少 UICC。
MBIM_STATUS_SIM卡錯誤 無法執行 UICC 作業,因為 UICC 處於錯誤狀態。
MBIM_STATUS_NOT_INITIALIZED 無法執行 UICC 作業,因為 UICC 尚未完全初始化。

MBIM_CID_MS_UICC_FILE_STATUS

此 CID 會擷取指定 UICC 檔案的相關資訊。

參數

行動 設定 查詢 通知
指令 不適用 MBIM_UICC_FILE_PATH 不適用
回應 不適用 MBIM_UICC_FILE_STATUS 不適用

查詢

MBIM_COMMAND_MSG 的 InformationBuffer 包含目標 EF 作為MBIM_UICC_FILE_PATH結構。

MBIM_UICC_FILE_PATH (第 1 版)

Offset 大小 領域 類型 說明
0 4 版本 UINT32 後續結構的版本號碼。 此欄位在此結構的第 1 版中必須設為 1
4 4 AppIdOffset 抵消 位移量 (以位元組為單位),從此結構的開頭計算到包含應用程式識別碼的緩衝區。
8 4 AppIdSize (應用ID大小) 尺寸 (0..16) 應用程式識別碼的大小,以位元組為單位,如 ETSI TS 102 221 技術規格的第 8.3 節所定義,。 對於 2G 卡片,此字段必須設定為零 (0)。
12 4 檔案路徑位移 抵消 位移 (以位元組為單位) ,從此結構的開頭計算到包含檔案路徑的緩衝區。 檔案路徑是 16 位元檔案 ID 的陣列。 第一個識別碼必須是 0x7FFF0x3F00。 如果第一個標識碼是 0x7FFF,則路徑會相對於由 AppId所指定之應用程式的 ADF。 否則,它是從 MF 開始的絕對路徑。
16 4 檔案路徑大小 尺寸 (0..8) 檔案路徑的大小,以位元組為單位。
20 資料緩衝器 (DataBuffer) 資料緩衝器 包含 AppId 和 FilePath 的資料緩衝區。

設定

不適用。

回應

下列MBIM_UICC_FILE_STATUS結構會用於 InformationBuffer。

MBIM_UICC_FILE_STATUS (版本 1)

Offset 大小 領域 類型 說明
0 4 版本 UINT32 後續結構的版本號碼。 此欄位在此結構的第 1 版中必須設為 1
4 4 狀態字詞1 UINT32(0..256) UICC 命令專屬的傳回參數。
8 4 狀態字詞2 UINT32(0..256) UICC 命令專屬的傳回參數。
12 4 檔案可存取性 MBIM_UICC_FILE_ACCESSIBILITY UICC 檔案可存取性。
16 4 檔案類型 MBIM_UICC_FILE_TYPE UICC 檔案類型。
20 4 檔案結構 MBIM_UICC_FILE_STRUCTURE UICC 檔案結構。
24 4 項目數量 UINT32 UICC 檔案中的項目數。 對於透明和 TLV 檔案,這會設定為 1
28 4 大小 UINT32 每個專案的大小,以位元組為單位。 對於透明或 TLV 檔案,這是整個 EF 的大小。 對於記錄型檔案,這代表記錄總數。
32 16 檔案鎖定狀態 MBIM_PIN_TYPE_EX[4] 類型為 MBIM_PIN_TYPE_EX 的陣列,說明該檔案上每一個作業 (依該順序排列的 READ、UPDATE、ACTIVATE 及 DEACTIVATE) 的存取條件。

MBIM_UICC_FILE_ACCESSIBILITY

MBIM_UICC_FILE_ACCESSIBILITY列舉用於上述MBIM_UICC_FILE_STATUS結構中。

類型 價值觀 說明
MBIMUiccFileAccessibilityUnknown 0 檔案共用性未知。
MBIMUiccFileAccessibility無法共享 1 不可共用的檔案。
MBIMUiccFileAccessibilityShareable 2 可共用的檔案。

MBIM_UICC_FILE_TYPE

MBIM_UICC_FILE_TYPE列舉用於上述MBIM_UICC_FILE_STATUS結構中。

類型 價值觀 說明
MBIMUiccFileTypeUnknown 0 檔案類型未知。
MBIMUiccFileTypeWorkingEf 1 工作 EF.
MBIMUiccFileTypeInternalEf 2 內部 EF。
MBIMUiccFileTypeDfOrAdf 3 專用檔案,這是其他節點的父項目錄。 這可能是 DF 或 ADF。

MBIM_UICC_FILE_STRUCTURE

MBIM_UICC_FILE_STRUCTURE列舉用於上述MBIM_UICC_FILE_STATUS結構中。

類型 價值觀 說明
MBIMUiccFileStructureUnknown 0 未知的檔案結構。
MBIMUiccFileStructureTransparent 1 可變長度的單一記錄。
MBIMUiccFileStructureCyclic 2 一組循環的記錄,每一個長度相同。
MBIMUiccFileStructureLinear 3 一組線性記錄,每一個長度相同。
MBIMUiccFileStructureBerTLV 4 標記可存取的一組數據值。

MBIM_PIN_TYPE_EX

MBIM_PIN_TYPE_EX列舉會用於上述MBIM_UICC_FILE_STATUS結構中。

類型 價值觀 說明
MBIMPinType無 0 未擱置任何 PIN 才能輸入。
MBIMPinType自訂 1 PIN 類型是自定義類型,而且不是此列舉中所列的其他 PIN 類型。
MBIMPinType Pin1 2 PIN1 金鑰。
MBIMPin類型引腳2 3 PIN2 金鑰。
MBIMPinTypeDeviceSimPin 4 裝置到 SIM 鍵。
MBIMPinTypeDeviceFirstSimPin 5 第一個 SIM 鍵的裝置。
MBIMPinTypeNetworkPin 6 網路個人化金鑰。
MBIMPinTypeNetworkSubsetPin 7 網路子集個人化金鑰。
MBIMPinTypeServiceProviderPin 8 服務提供者 (SP) 個人化金鑰。
MBIMPinTypeCorporatePin 9 公司個人化金鑰。
MBIMPinTypeSubsidyLock 10 補貼解除鎖定金鑰。
MBIMPinTypePuk1 11 個人標識碼 1 解除鎖定金鑰 (PUK1)。
MBIMPin類型Puk2 12 個人識別號 2 解除鎖定金鑰 (PUK2) 。
MBIMPinTypeDeviceFirstSimPuk 13 第一個 SIM PIN 解除鎖定金鑰的裝置。
MBIMPinTypeNetworkPuk 14 網路個人化解除鎖定金鑰。
MBIMPinTypeNetworkSubsetPuk 15 網路子集個人化解除鎖定密鑰。
MBIMPinTypeServiceProviderPuk 16 服務提供者 (SP) 個人化解除鎖定金鑰。
MBIMPinTypeCorporatePuk 17 公司個人化解除鎖定金鑰。
MBIMPinTypeNev 18 NEV 金鑰。
MBIMPinTypeAdm 19 系統管理金鑰。

未請求的事件

不適用。

狀態代碼

下列狀態代碼適用:

狀態代碼 說明
MBIM_STATUS_BUSY 針對所有命令所定義的基本 MBIM 狀態。
MBIM_STATUS_FAILURE(指示失敗狀態) 針對所有命令所定義的基本 MBIM 狀態。
MBIM_狀態_SIM未插入 無法執行 UICC 作業,因為缺少 UICC。
MBIM_STATUS_SIM卡錯誤 無法執行 UICC 作業,因為 UICC 處於錯誤狀態。
MBIM_狀態_共享性_條件_錯誤 無法選取檔案,因為它不可共用,且目前正在由其他應用程式存取。 SIM 卡傳回的狀態字是 6985。

MBIM_CID_MS_UICC_ACCESS_BINARY

此 CID 會傳送特定命令來存取結構類型為 MBIMUiccFileStructureTransparentMBIMUiccFileStructureBerTLV 的 UICC 二進位檔。

參數

行動 設定 查詢 通知
指令 不適用 MBIM_UICC_ACCESS_BINARY 不適用
回應 不適用 MBIM_UICC_RESPONSE 不適用

查詢

讀取二進位檔案。 MBIM_COMMAND_MSG 的 InformationBuffer 包含 MBIM_UICC_ACCESS_BINARY 結構。 MBIM_UICC_RESPONSE結構會在 MBIM_COMMAND_DONE 的 InformationBuffer 中傳回。

MBIM_UICC_ACCESS_BINARY (版本 1)

Offset 大小 領域 類型 說明
0 4 版本 UINT32 後續結構的版本號碼。 此欄位必須設定為此結構第 1 版的 1
4 4 AppIdOffset 抵消 從此結構開頭到包含應用程式標識碼的緩衝區的位移量 (以位元組為單位)。
8 4 AppIdSize (應用ID大小) 尺寸 (0..16) 應用程式識別碼的大小,以位元組為單位,如 ETSI TS 102 221 技術規格的第 8.3 節所定義,。 對於 2G 卡片,此字段必須設定為零 (0)。
12 4 檔案路徑位移 抵消 位移 (以位元組為單位) ,從此結構的開頭計算到包含檔案路徑的緩衝區。 檔案路徑是 16 位元檔案 ID 的陣列。 第一個識別碼必須是 0x7FFF0x3F00。 如果第一個標識碼是 0x7FFF,則路徑會相對於由 AppId所指定之應用程式的 ADF。 否則,它是從 MF 開始的絕對路徑。
16 4 檔案路徑大小 大小 檔案路徑的大小,以位元組為單位。
20 4 FileOffset UINT32 從檔案讀取時要使用的偏移量。 此欄位可以大於 256,並且結合 ETSI TS 102 221 技術規格中所定義的位移高和位移低
24 4 NumberOfBytes UINT32 要讀取的位元組數目。 例如,用戶端驅動程式可以使用此函式來讀取大於 256 個字節的透明(二進位)檔案,不過單一 UICC 作業中可讀取或寫入的最大數量是每個 ETSI TS 102 221 技術規格256 個字節。 函數有責任將其拆分為多個APDU,並在單個回應中將結果傳回。
28 4 本地引腳偏移 抵消 位移量 (以位元組為單位),從此結構的開頭計算到包含密碼的緩衝區。 這是本機 PIN (PIN2),用於作業需要本機 PIN 驗證的情況下使用。
32 4 LocalPin大小 尺寸 (0..16) 密碼的大小,以位元組為單位。
36 4 BinaryDataOffset (二進位數據偏移量) 抵消 位移 (以位元組為單位) 從此結構的開頭計算到包含命令特定資料的緩衝區。 二進位資料僅用於 SET 作業。
40 4 二進位資料大小 尺寸 (0..32768) 資料大小 (以位元組為單位)。
44 資料緩衝器 (DataBuffer) 資料緩衝器 包含 AppId、FilePath、LocalPin 和 BinaryData 的資料緩衝區。

設定

不適用。

回應

下列MBIM_UICC_RESPONSE結構會用於 InformationBuffer。

MBIM_UICC_RESPONSE (版本 1)

Offset 大小 領域 類型 說明
0 4 版本 UINT32 後續結構的版本號碼。 此欄位在此結構的第 1 版中必須設為 1
4 4 狀態字詞1 UINT32(0..256) UICC 命令專屬的傳回參數。
8 4 狀態字詞2 UINT32(0..256) UICC 命令專屬的傳回參數。
12 4 回應資料偏移 抵消 偏移量以位元組為單位,從此結構的開頭計算至包含回應資料的緩衝區。 回應資料僅用於 QUERY 作業。
16 4 回應資料大小 尺寸 (0..32768) 資料大小 (以位元組為單位)。
20 資料緩衝器 (DataBuffer) 資料緩衝器 包含 ResponseData 的資料緩衝區。

未請求的事件

不適用。

狀態代碼

下列狀態代碼適用:

狀態代碼 說明
MBIM_STATUS_BUSY 針對所有命令所定義的基本 MBIM 狀態。
MBIM_STATUS_FAILURE(指示失敗狀態) 針對所有命令所定義的基本 MBIM 狀態。
MBIM_狀態_SIM未插入 無法執行 UICC 作業,因為缺少 UICC。
MBIM_STATUS_SIM卡錯誤 無法執行 UICC 作業,因為 UICC 處於錯誤狀態。
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR(狀態共用條件錯誤) 無法選取檔案,因為它不可共用,且目前正在由其他應用程式存取。 SIM 卡傳回的狀態字是 6985。
MBIM_STATUS_PIN_FAILURE(PIN碼驗證失敗) 由於 PIN 錯誤,作業失敗。

MBIM_CID_MS_通用集成電路卡存取記錄

此 CID 會傳送特定命令來存取 UICC 線性固定或循環檔案,其結構類型為 MBIMUiccFileStructureCyclicMBIMUIccFileStructureLinear

參數

行動 設定 查詢 通知
指令 不適用 MBIM_UICC_ACCESS_RECORD 不適用
回應 不適用 MBIM_UICC_RESPONSE 不適用

查詢

讀取記錄的內容。 MBIM_COMMAND_MSG 的 InformationBuffer 包含下列 MBIM_UICC_ACCESS_RECORD 結構。 MBIM_UICC_RESPONSE會在 MBIM_COMMAND_DONE 的 InformationBuffer 中傳回。

MBIM_UICC_ACCESS_RECORD (第 1 版)

Offset 大小 領域 類型 說明
0 4 版本 UINT32 後續結構的版本號碼。 此欄位必須設定為此結構第 1 版的 1
4 4 AppIdOffset 抵消 從此結構開頭到包含應用程式標識碼的緩衝區的位移量 (以位元組為單位)。
8 4 AppIdSize (應用ID大小) 尺寸 (0..16) 應用程式識別碼的大小,以位元組為單位,如 ETSI TS 102 221 技術規格的第 8.3 節所定義,。 對於 2G 卡片,此字段必須設定為零 (0)。
12 4 檔案路徑位移 抵消 位移 (以位元組為單位) ,從此結構的開頭計算到包含檔案路徑的緩衝區。 檔案路徑是 16 位元檔案 ID 的陣列。 第一個識別碼必須是 0x7FFF0x3F00。 如果第一個標識碼是 0x7FFF,則路徑會相對於由 AppId所指定之應用程式的 ADF。 否則,它是從 MF 開始的絕對路徑。
16 4 檔案路徑大小 大小 檔案路徑的大小,以位元組為單位。
20 4 記錄號碼 UINT32(0..256) 記錄編號。 這代表所有時間的絕對記錄索引。 不支援相對記錄存取,因為數據機可以在檔案上執行多個存取權(NEXT、PREVIOUS)。
24 4 本地引腳偏移 抵消 位移量 (以位元組為單位),從此結構的開頭計算到包含密碼的緩衝區。 鎖定密碼是以空值結尾的 UTF-8 十進位數字字串。
28 4 LocalPin大小 尺寸 (0..16) 密碼的大小,以位元組為單位。
32 4 記錄數據偏移量 抵消 位移 (以位元組為單位) 從此結構的開頭計算到包含命令特定資料的緩衝區。 記錄資料僅用於 SET 作業。
36 4 記錄資料大小 尺寸 (0..256) 資料大小 (以位元組為單位)。
40 資料緩衝器 (DataBuffer) 資料緩衝器 包含 AppId、FilePath、LocalPin 和 RecordData 的資料緩衝區。

設定

不適用。

回應

MBIM_UICC_RESPONSE結構會用於 InformationBuffer。

未請求的事件

不適用。

狀態代碼

下列狀態代碼適用:

狀態代碼 說明
MBIM_STATUS_BUSY 針對所有命令所定義的基本 MBIM 狀態。
MBIM_STATUS_FAILURE(指示失敗狀態) 針對所有命令所定義的基本 MBIM 狀態。
MBIM_狀態_SIM未插入 無法執行 UICC 作業,因為缺少 UICC。
MBIM_STATUS_SIM卡錯誤 無法執行 UICC 作業,因為 UICC 處於錯誤狀態。
MBIM_狀態_共享性_條件_錯誤 無法選取檔案,因為它不可共用,且目前正在由其他應用程式存取。 SIM 卡傳回的狀態字是 6985。
MBIM_STATUS_PIN_FAILURE (PIN 驗證失敗) 由於 PIN 錯誤,作業失敗。

MBIM_CID_MS_PIN_EX

此 CID 用於執行 ETSI TS 102 221 技術規範第 9 節中定義的所有 PIN 安全操作。 CID 類似於 MBIM_CID_MS_PIN,但將其擴展為支持多應用程序 UICC 卡。 僅支援具有單一驗證功能的 UICC。 不支援支援多個應用程式 PIN 的多驗證支援 UIC。 一個應用程式 PIN (PIN1) 會指派給 UICC 上的所有 ADF/DF 和檔案。 不過,每個應用程式都可以將本機 PIN (PIN2) 指定為層級 2 用戶驗證需求,進而產生每個存取命令的額外驗證需求。 此案例是MBIM_CID_MS_PIN_EX支援的。

就像 MBIM_CID_MS_PIN 一樣,使用 MBIM_CID_MS_PIN_EX設備一次只報告一個 PIN。 如果已啟用多個 PIN 碼,且也已啟用報告多個 PIN,則函式必須先報告 PIN1。 例如,如果已啟用補貼鎖定報告,且已啟用 SIM 卡的 PIN 1,則只有在成功驗證 PIN1 之後,才應該在後續查詢要求中報告補貼鎖定 PIN。 允許空的 PIN 與 MBIMPinOperationEnter 一起使用。 將 PinSize 設定為零,即可指定空 PIN。 在此情況下,SET 命令類似於 QUERY,並傳回所參考 PIN 的狀態。 這完全符合 ETSI TS 102 221 技術規格第 11.1.9 節中所指定 VERIFY 命令的行為

參數

行動 設定 查詢 通知
指令 MBIM_SET_PIN_EX MBIM_PIN_APP 不適用
回應 MBIM_PIN_INFO_EX MBIM_PIN_INFO_EX 不適用

查詢

下列MBIM_PIN_APP結構會用於 InformationBuffer。

MBIM_PIN_APP (第 1 版)

Offset 大小 領域 類型 說明
0 4 版本 UINT32 後續結構的版本號碼。 此欄位必須設定為此結構第 1 版的 1
4 4 AppIdOffset 抵消 從此結構開頭到包含應用程式標識碼的緩衝區的位移量 (以位元組為單位)。
8 4 AppIdSize (應用ID大小) 尺寸 (0..16) 應用程式識別碼的大小,以位元組為單位,如 ETSI TS 102 221 技術規格的第 8.3 節所定義,。 對於 2G 卡片,此字段必須設定為零 (0)。
12 資料緩衝器 (DataBuffer) 資料緩衝器 ETSI TS 102 221 技術規格中定義的 AppId。

設定

下列MBIM_SET_PIN_EX結構會用於 InformationBuffer。

MBIM_SET_PIN_EX

Offset 大小 領域 類型 說明
0 4 PinType MBIM_PIN_TYPE_EX PIN 類型。 請參閱本主題中的MBIM_PIN_TYPE_EX表格。
4 4 引腳操作 MBIM_PIN_OPERATION(MBIM 密碼操作) PIN 操作 請參閱 MBIM 1.0。
8 4 引腳偏移 抵消 位移 (以位元組為單位) 從此結構的開頭計算到字串 PIN ,代表要執行動作的 PIN 值,或啟用或停用 PIN 設定所需的 PIN 值。 此欄位適用於 PinOperation的所有值。
12 4 針腳大小 尺寸 (0..32) 用於 PIN 的大小 (以位元組為單位)。
16 4 NewPinOffset (新引腳偏移) 抵消 位移 (以位元組為單位) 從此結構的開頭計算到 NewPin 字串,代表 PinOperation 為 MBIMPinOperationChange 或 MBIMPinOperationEnter 時要針對 PinTypeMBIMPinTypePuk1 或 PinTypeMBIMPinTypePuk2 設定的新 PIN 值。
20 4 NewPin大小 尺寸 (0..32) 用於 NewPin 的大小 (以位元組為單位)。
24 4 AppIdOffset 抵消 位移量 (以位元組為單位),從此結構的開頭計算到包含應用程式識別碼的緩衝區。
28 4 AppIdSize (應用ID大小) 尺寸 (0..16) 應用程式識別碼的大小,以位元組為單位,如 ETSI TS 102 221 技術規格的第 8.3 節所定義,。 對於 2G 卡片,此字段必須設定為零 (0)。
32 資料緩衝器 (DataBuffer) 資料緩衝器 包含 Pin、NewPin 和 AppId 的資料緩衝區。

回應

下列MBIM_PIN_INFO_EX結構會用於 InformationBuffer。

Offset 大小 領域 類型 說明
0 4 PinType MBIM_PIN_TYPE_EX PIN 類型。 請參閱本主題中的MBIM_PIN_TYPE_EX表格。
4 4 PinState MBIM_PIN_STATE PIN 狀態。 請參閱 MBIM 1.0。
8 4 剩餘嘗試次數 UINT32 任何 PIN 相關作業 (例如 enter、啟用或停用) 的剩餘嘗試次數。 不支援此資訊的裝置必須將此成員設定為0xFFFFFFFF。

未請求的事件

不適用。

狀態代碼

下列狀態代碼適用:

狀態代碼 說明
MBIM_STATUS_BUSY 針對所有命令所定義的基本 MBIM 狀態。
MBIM_STATUS_FAILURE(指示失敗狀態) 針對所有命令所定義的基本 MBIM 狀態。
MBIM_狀態_SIM未插入 無法執行 UICC 作業,因為缺少 UICC。
MBIM_STATUS_SIM卡錯誤 無法執行 UICC 作業,因為 UICC 處於錯誤狀態。
MBIM_STATUS_PIN已停用 作業失敗,因為 PIN 已停用。
MBIM_STATUS_需要PIN碼 作業失敗,因為必須輸入 PIN 才能繼續。
MBIM狀態_不支持設備 作業失敗,因為裝置不支援對應 PIN 類型的 SET。