共用方式為


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

概觀

本主題指定行動寬頻介面模型 (MBIM) 介面的延伸模組,以允許存取 UICC 智慧卡應用程式和檔案系統。 MBIM 的這個延伸模組會公開 UICC ETSI TS 102 221 技術規格相容應用程式和文件系統的邏輯存取權,而且支援 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),其中包含保存各種資訊類型的元素檔案 (EFs)。 SIM 會在 MF 下定義 DF,其中一個 DFTelecom 包含多個存取類型通用的資訊,例如一般電話簿。 其他應用程式實際上會實作為個別的樹狀結構,每個樹狀結構都植根於自己的應用程式目錄檔案 (ADF)。 每個ADF都是由應用程式標識碼來識別,長度最多可達128位。 卡片根目錄下的檔案(圖表中 MF 底下的 EFDir)包含應用程式名稱和對應的標識碼。 在樹狀結構中(MF 或 ADF),DF 和 EF 可以透過檔案識別碼的路徑來識別,其中檔案標識碼是 16 位整數。

NDIS 介面延伸模組

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

MBIM 服務和 CID 值

服務名稱 UUID UUID 值
Microsoft低階 UICC 存取 UUID_MS_UICC_LOW_LEVEL C2F6588E-F037-4BC9-8665-F4D44BD09367
Microsoft基本IP連線延伸模組 UUID_BASIC_CONNECT_EXTENSIONS 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF

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

CID UUID 命令程序代碼 設定 查詢 Notify
MBIM_CID_MS_UICC_APP_LIST UUID_MS_UICC_LOW_LEVEL 7 Y
MBIM_CID_MS_UICC_FILE_STATUS UUID_MS_UICC_LOW_LEVEL 8 Y
MBIM_CID_MS_UICC_ACCESS_BINARY UUID_MS_UICC_LOW_LEVEL 9 Y Y
MBIM_CID_MS_UICC_ACCESS_RECORD UUID_MS_UICC_LOW_LEVEL 10 Y Y
MBIM_CID_MS_PIN_EX UUID_BASIC_CONNECT_EXTENSIONS 14 Y Y

MBIM_CID_MS_UICC_APP_LIST

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

參數

作業 設定 查詢 通知
Command 不適用 空的 不適用
回應 不適用 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 AppCount UINT32 在此回應中傳回的UICC應用程式 MBIM_UICC_APP_INFO 結構數目。
8 4 ActiveAppIndex UINT32(0..NumApp - 1) 數據機選取的應用程式索引,以便向行動網路註冊。 此欄位必須介於 0AppCount - 1 之間。 它會為這個回應所傳回之應用程式的數位編製索引。 如果未選取任何應用程式進行註冊,此欄位會 包含0xFFFFFFFF
12 4 AppListSize UINT32 應用程式清單數據的大小,以位元組為單位。
8*AppCount AppList OL_PAIR_LIST 配對的第一個專案是具有 DataBuffer 中應用程式資訊位移的 4 位元組欄位。 配對的第二個元素是具有應用程式資訊大小的 4 位元組欄位段。
AppListSize DataBuffer DATABUFFER AppCount * MBIM_UICC_APP_INFO 結構的陣列。

MBIM_UICC_APP_INFO

Offset 大小 欄位 類型 描述
0 4 AppType MBIM_UICC_APP_TYPE UICC 應用程式的類型。
4 4 AppIdOffset OFFSET databuffer 中應用程式識別碼的位移。 只有第一個 AppIdSize 位元組才有意義。 如果應用程式標識碼超過MBIM_MAXLENGTH_APPID個字節,則 AppIdSize 會指定實際長度,但此欄位中只有第一個MBIM_MAXLENGTH_APPID個字節。 只有當 AppType 不是 MBIMUiccAppTypeMf、MBIMUiccAppTypeMfSIM 或 MBIMUiccAppTypeMfRUIM 時,此字段才有效。
8 4 AppIdSize SIZE (0..16) 依 ETSI TS 102 221 技術規格第 8.3 節所定義的應用程式識別碼大小,以位元組為單位。 AppIdSize 可能包含大於 16 的數位,但在此情況下,只有前 16 個 (MBIM_MAXLENGTH_APPID) 個字節位於 databuffer 中。 此欄位會針對 MBIMUiccAppTypeMf、MBIMUiccAppTypeMfSIM 或 MBIMUiccAppTypeMfRUIM 應用程式類型設定為零。
12 AppNameOffset OFFSET databuffer 中應用程式名稱的位移。 指定應用程式名稱的 UTF-8 字串。 此欄位的長度是由 AppNameLength 指定。 如果長度大於或等於MBIM_MAXLENGTH_APPNAME個字節,此位元段會包含名稱的第一個MBIM_MAXLENGTH_APPNAME - 1 個字節。 字串一律會以 Null 結束。
16 4 AppNameLength SIZE (0..256) 應用程式名稱的長度,以位元組為單位。 AppNameLength 可能包含等於或大於 256 的數位,但在這些情況下,只有前 255 個 (MBIM_MAXLENGTH_APPNAME - 1) 個字節位於 databuffer 中。
20 4 NumPinKeyRefs SIZE (0..8) 應用程式 PIN 金鑰參考的數目。 換句話說,有效的 PinKeyRef 項目數目。 虛擬 R-UIM 上的應用程式沒有 PIN 金鑰參考。
24 4 KeyRefOffset OFFSET 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 KeyRefSize SIZE (0..8) PinKeyRef 的大小。
32 DataBuffer DATABUFFER 包含單一驗證卡之 AppId、AppName 和 PinKeyRef 的數據緩衝區,或是不支援不同應用程式不同應用程式密鑰的 MBB 驅動程式和/或數據機,此字段必須 0x01

MBIM_UICC_APP_TYPE

類型 Description
MBIMUiccAppTypeUnknown 0 未知的類型。
MBIMUiccAppTypeMf 1 根目錄在 MF 的舊版 SIM 卡目錄。
MBIMUiccAppTypeMfSIM 2 根目錄位於DF_GSM的舊版 SIM 卡目錄。
MBIMUiccAppTypeMfRUIM 3 在DF_CDMA根目錄的舊版 SIM 卡目錄。
MBIMUiccAppTypeUSIM 4 USIM 應用程式。
MBIMUiccAppTypeCSIM 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_STATUS_NO_DEVICE_SUPPORT 針對所有命令所定義的基本 MBIM 狀態。
MBIM_STATUS_SIM_NOT_INSERTED 無法執行 UICC 作業,因為缺少 UICC。
MBIM_STATUS_BAD_SIM 無法執行 UICC 作業,因為 UICC 處於錯誤狀態。
MBIM_STATUS_NOT_INITIALIZED 無法執行 UICC 作業,因為 UICC 尚未完全初始化。

MBIM_CID_MS_UICC_FILE_STATUS

此 CID 會擷取指定 UICC 檔案的相關信息。

參數

作業 設定 查詢 通知
Command 不適用 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 OFFSET 從這個 結構的開頭到包含應用程式標識符的緩衝區,以位元組為單位計算的位移。
8 4 AppIdSize SIZE (0..16) 依 ETSI TS 102 221 技術規格第 8.3 節所定義的應用程式識別碼大小,以位元組為單位。 對於 2G 卡片,此字段必須設定為零 (0)。
12 4 FilePathOffset OFFSET 從這個 結構的開頭到包含檔案路徑的緩衝區,以位元組為單位計算的位移。 檔案路徑是16位檔案標識碼的陣列。 第一個標識碼必須是 0x7FFF0x3F00。 如果第一個標識碼是0x7FFF,則路徑會相對於AppId指定應用程式的ADF。 否則,它是從 MF 開始的絕對路徑。
16 4 FilePathSize SIZE (0..8) 檔案路徑的大小,以位元組為單位。
20 DataBuffer DATABUFFER 包含 AppId 和 FilePath 的數據緩衝區。

設定

不適用。

回應

InformationBuffer 中使用下列MBIM_UICC_FILE_STATUS結構。

MBIM_UICC_FILE_STATUS (第 1 版)

Offset 大小 欄位 類型 描述
0 4 版本 UINT32 後續結構的版本號碼。 此欄位必須是 此結構第 1 版的 1
4 4 StatusWord1 UINT32(0..256) UICC 命令專屬的傳回參數。
8 4 StatusWord2 UINT32(0..256) UICC 命令專屬的傳回參數。
12 4 FileAccessibility MBIM_UICC_FILE_ACCESSIBILITY UICC 檔案輔助功能。
16 4 FileType MBIM_UICC_FILE_TYPE UICC 檔案類型。
20 4 FileStructure MBIM_UICC_FILE_STRUCTURE UICC 檔案結構。
24 4 ItemCount UINT32 UICC 檔案中的項目數。 對於透明和 TLV 檔案,這會設定為 1
28 4 大小 UINT32 每個專案的大小,以位元組為單位。 對於透明或 TLV 檔案,這是整個 EF 的大小。 對於記錄型檔案,這代表記錄總數。
32 16 FileLockStatus MBIM_PIN_TYPE_EX[4] 類型為 MBIM_PIN_TYPE_EX 的陣列,描述該檔案上每個作業的存取條件 (READ、UPDATE、ACTIVATE 和 DEACTIVATE)。

MBIM_UICC_FILE_ACCESSIBILITY

上述MBIM_UICC_FILE_STATUS 結構中會使用MBIM_UICC_FILE_ACCESSIBILITY列舉。

類型 Description
MBIMUiccFileAccessibilityUnknown 0 檔案共用性未知。
MBIMUiccFileAccessibilityNotShareable 1 不可共享的檔案。
MBIMUiccFileAccessibilityShareable 2 可共用檔案。

MBIM_UICC_FILE_TYPE

上述MBIM_UICC_FILE_STATUS 結構中會使用MBIM_UICC_FILE_TYPE列舉。

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

MBIM_UICC_FILE_STRUCTURE

上述MBIM_UICC_FILE_STATUS 結構中會使用MBIM_UICC_FILE_STRUCTURE列舉。

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

MBIM_PIN_TYPE_EX

上述MBIM_UICC_FILE_STATUS 結構中使用MBIM_PIN_TYPE_EX列舉。

類型 Description
MBIMPinTypeNone 0 未擱置任何 PIN 才能輸入。
MBIMPinTypeCustom 1 PIN 類型是自定義類型,而且不是此列舉中所列的其他 PIN 類型。
MBIMPinTypePin1 2 PIN1 金鑰。
MBIMPinTypePin2 3 PIN2 金鑰。
MBIMPinTypeDeviceSimPin 4 裝置到 SIM 鍵。
MBIMPinTypeDeviceFirstSimPin 5 第一個 SIM 鍵的裝置。
MBIMPinTypeNetworkPin 6 網路個人化金鑰。
MBIMPinTypeNetworkSubsetPin 7 網路子集個人化金鑰。
MBIMPinTypeServiceProviderPin 8 服務提供者 (SP) 個人化金鑰。
MBIMPinTypeCorporatePin 9 公司個人化金鑰。
MBIMPinTypeSubsidyLock 10 補貼解除鎖定金鑰。
MBIMPinTypePuk1 11 個人標識碼 1 解除鎖定金鑰 (PUK1)。
MBIMPinTypePuk2 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_STATUS_SIM_NOT_INSERTED 無法執行 UICC 作業,因為缺少 UICC。
MBIM_STATUS_BAD_SIM 無法執行 UICC 作業,因為 UICC 處於錯誤狀態。
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR 無法選取檔案,因為它無法共用,而且目前正由另一個應用程式存取。 SIM 傳回的狀態字是 6985。

MBIM_CID_MS_UICC_ACCESS_BINARY

此 CID 會傳送特定命令來存取 UICC 二進制檔,其結構類型 為 MBIMUiccFileStructureTransparentMBIMUiccFileStructureBerTLV

參數

作業 設定 查詢 通知
Command 不適用 MBIM_UICC_ACCESS_BINARY 不適用
回應 不適用 MBIM_UICC_RESPONSE 不適用

查詢

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

MBIM_UICC_ACCESS_BINARY (第 1 版)

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

設定

不適用。

回應

下列MBIM_UICC_RESPONSE結構用於 InformationBuffer 中。

MBIM_UICC_RESPONSE (第 1 版)

Offset 大小 欄位 類型 描述
0 4 版本 UINT32 後續結構的版本號碼。 此欄位必須是 此結構第 1 版的 1
4 4 StatusWord1 UINT32(0..256) UICC 命令專屬的傳回參數。
8 4 StatusWord2 UINT32(0..256) UICC 命令專屬的傳回參數。
12 4 ResponseDataOffset OFFSET 從這個 結構的開頭到包含響應數據的緩衝區,以位元組為單位計算的位移。 回應數據僅用於 QUERY 作業。
16 4 ResponseDataSize SIZE (0..32768) 數據的大小,以位元組為單位。
20 DataBuffer DATABUFFER 包含 ResponseData 的數據緩衝區。

未請求的事件

不適用。

狀態碼

下列狀態代碼適用:

狀態碼 描述
MBIM_STATUS_BUSY 針對所有命令所定義的基本 MBIM 狀態。
MBIM_STATUS_FAILURE 針對所有命令所定義的基本 MBIM 狀態。
MBIM_STATUS_SIM_NOT_INSERTED 無法執行 UICC 作業,因為缺少 UICC。
MBIM_STATUS_BAD_SIM 無法執行 UICC 作業,因為 UICC 處於錯誤狀態。
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR 無法選取檔案,因為它無法共用,而且目前正由另一個應用程式存取。 SIM 傳回的狀態字是 6985。
MBIM_STATUS_PIN_FAILURE 作業因為 PIN 錯誤而失敗。

MBIM_CID_MS_UICC_ACCESS_RECORD

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

參數

作業 設定 查詢 通知
Command 不適用 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 OFFSET 位移,以位元組為單位,從這個結構的開頭到包含應用程式標識碼的緩衝區。
8 4 AppIdSize SIZE (0..16) 依 ETSI TS 102 221 技術規格第 8.3 節所定義的應用程式識別碼大小,以位元組為單位。 對於 2G 卡片,此字段必須設定為零 (0)。
12 4 FilePathOffset OFFSET 從這個 結構的開頭到包含檔案路徑的緩衝區,以位元組為單位計算的位移。 檔案路徑是16位檔案標識碼的陣列。 第一個標識碼必須是 0x7FFF0x3F00。 如果第一個標識碼是0x7FFF,則路徑會相對於AppId指定應用程式的ADF。 否則,它是從 MF 開始的絕對路徑。
16 4 FilePathSize SIZE 檔案路徑的大小,以位元組為單位。
20 4 RecordNumber UINT32(0..256) 記錄編號。 這代表所有時間的絕對記錄索引。 不支援相對記錄存取,因為數據機可以在檔案上執行多個存取權(NEXT、PREVIOUS)。
24 4 LocalPinOffset OFFSET 以位元組為單位的位移,從這個結構的開頭計算到包含密碼的緩衝區。 鎖定密碼是以 Null 結束的 UTF-8 字串十進位數。
28 4 LocalPinSize SIZE (0..16) 密碼的大小,以位元組為單位。
32 4 RecordDataOffset OFFSET 從這個 結構的開頭計算到包含命令特定數據的緩衝區,以位元組為單位的位移。 記錄數據僅用於 SET 作業。
36 4 RecordDataSize SIZE (0..256) 數據的大小,以位元組為單位。
40 DataBuffer DATABUFFER 包含 AppId、FilePath、LocalPin 和 RecordData 的數據緩衝區。

設定

不適用。

回應

informationBuffer 中使用MBIM_UICC_RESPONSE結構。

未請求的事件

不適用。

狀態碼

下列狀態代碼適用:

狀態碼 描述
MBIM_STATUS_BUSY 針對所有命令所定義的基本 MBIM 狀態。
MBIM_STATUS_FAILURE 針對所有命令所定義的基本 MBIM 狀態。
MBIM_STATUS_SIM_NOT_INSERTED 無法執行 UICC 作業,因為缺少 UICC。
MBIM_STATUS_BAD_SIM 無法執行 UICC 作業,因為 UICC 處於錯誤狀態。
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR 無法選取檔案,因為它無法共用,而且目前正由另一個應用程式存取。 SIM 傳回的狀態字是 6985。
MBIM_STATUS_PIN_FAILURE 作業因為 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 卡的 PIN1,則只有在成功驗證 PIN1 之後,才會在後續的查詢要求中報告補貼鎖定 PIN。 允許空白 PIN 與 MBIMPinOperationEnter 一起使用。 將 PinSize 設定為零,以指定空 PIN。 在此情況下,SET 命令類似於 QUERY,並傳回參考之 PIN 的狀態。 這完全符合 ETSI TS 102 221 技術規格第 11.1.9 節中指定的 VERIFY 命令行為。

參數

作業 設定 查詢 通知
Command 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 OFFSET 位移,以位元組為單位,從這個結構的開頭到包含應用程式標識碼的緩衝區。
8 4 AppIdSize SIZE (0..16) 依 ETSI TS 102 221 技術規格第 8.3 節所定義的應用程式識別碼大小,以位元組為單位。 對於 2G 卡片,此字段必須設定為零 (0)。
12 DataBuffer 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 PinOperation MBIM_PIN_OPERATION PIN 作業。 請參閱 MBIM 1.0。
8 4 PinOffset OFFSET 以位元組為單位的位移,從這個結構的開頭計算到字串 PIN,代表用來執行動作的 PIN 值,或啟用或停用 PIN 設定所需的 PIN 值。 此欄位適用於 PinOperation 的所有值
12 4 PinSize SIZE (0..32) 用於 PIN 的大小,以位元組為單位。
16 4 NewPinOffset OFFSET 從這個結構的開頭計算到 NewPin 字串的位移,代表 PinOperation 為 MBIMPinOperationChange 或 MBIMPinOperationEnter 時要設定的新 PIN 值,適用於 PinTypeMBIMPinTypePuk1 或 PinTypeMBIMPinTypePuk2。
20 4 NewPinSize SIZE (0..32) 用於 NewPin 的大小,以位元組為單位。
24 4 AppIdOffset OFFSET 從這個 結構的開頭到包含應用程式標識符的緩衝區,以位元組為單位計算的位移。
28 4 AppIdSize SIZE (0..16) 依 ETSI TS 102 221 技術規格第 8.3 節所定義的應用程式識別碼大小,以位元組為單位。 對於 2G 卡片,此字段必須設定為零 (0)。
32 DataBuffer DATABUFFER 包含 Pin、NewPin 和 AppId 的數據緩衝區。

回應

InformationBuffer 中使用下列MBIM_PIN_INFO_EX結構。

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 RemainingAttempts UINT32 任何 PIN 相關作業的剩餘嘗試次數,例如輸入、啟用或停用。 不支援這項資訊的裝置必須將此成員設定為 0xFFFFFFFF。

未請求的事件

不適用。

狀態碼

下列狀態代碼適用:

狀態碼 描述
MBIM_STATUS_BUSY 針對所有命令所定義的基本 MBIM 狀態。
MBIM_STATUS_FAILURE 針對所有命令所定義的基本 MBIM 狀態。
MBIM_STATUS_SIM_NOT_INSERTED 無法執行 UICC 作業,因為缺少 UICC。
MBIM_STATUS_BAD_SIM 無法執行 UICC 作業,因為 UICC 處於錯誤狀態。
MBIM_STATUS_PIN_DISABLED 作業失敗,因為 PIN 已停用。
MBIM_STATUS_PIN_REQUIRED 作業失敗,因為必須輸入 PIN 才能繼續。
MBIM_STATUS_NO_DEVICE_SUPPORT 作業失敗,因為裝置不支持對應 PIN 類型的 SET。