Udostępnij za pośrednictwem


Dostęp do aplikacji MB UICC i systemu plików

Przegląd

Temat ten określa rozszerzenie interfejsu Mobile Broadband Interface Model (MBIM) umożliwiające dostęp do aplikacji i systemów plików kart inteligentnych UICC. To rozszerzenie MBIM zapewnia logiczny dostęp do aplikacji i systemów plików zgodnych ze specyfikacją techniczną ETSI TS 102 221i jest obsługiwane w systemie Windows 10 wersji 1903 i nowszych.

Dostęp i zabezpieczenia UICC

UICC udostępnia system plików i obsługuje zestaw aplikacji, które mogą działać współbieżnie. Należą do nich usIM dla UMTS, CSIM dla CDMA i ISIM dla imS. Sim jest starszą częścią interfejsu użytkownika UICC, którą można modelować jako jedną z tych aplikacji (dla SYSTEMU GSM).

Na poniższym diagramie z sekcji 8.1 ETSI TS 102 221 specyfikacji technicznej przedstawiono przykładową strukturę aplikacji kart.

Diagram przedstawiający przykładową strukturę aplikacji UICC.

System plików UICC może być uważany za las drzew katalogu. Starsze drzewo SIM jest zakorzenione w pliku głównym (MF) i zawiera maksymalnie dwa poziomy podkatalogów (dedykowanych plików lub plików DFs) zawierających pliki elementalne (EFs), które przechowują różne typy informacji. SIM definiuje pliki danych DFs w ramach MF, z których jeden, DFTelecom, zawiera informacje wspólne dla wielu typów dostępu, takich jak wspólna książka telefoniczna. Dodatkowe aplikacje są skutecznie implementowane jako oddzielne drzewa, z których każdy jest zakorzeniony we własnym pliku katalogu aplikacji (ADF). Każda usługa ADF jest identyfikowana przez identyfikator aplikacji, który może mieć długość do 128 bitów. Plik w katalogu głównym karty (EFDir w ramach MF na diagramie) zawiera nazwy aplikacji i odpowiednie identyfikatory. W drzewie (MF lub ADF) pliki DFs i EFs mogą być identyfikowane przez ścieżkę identyfikatorów plików, gdzie identyfikator pliku jest 16-bitową liczbą całkowitą.

Rozszerzenia interfejsu NDIS

Następujące identyfikatory operacyjnego zostały zdefiniowane w celu obsługi dostępu do aplikacji UICC i systemu plików.

Wartości usługi MBIM i CID

Nazwa usługi Identyfikator UUID Wartość UUID
Microsoft Low-Level UICC Access UUID_MS_UICC_LOW_LEVEL C2F6588E-F037-4BC9-8665-F4D44BD09367
Podstawowe Rozszerzenia Łączności IP firmy Microsoft UUID_BASIC_CONNECT_EXTENSIONS 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF

W poniższej tabeli określono identyfikator UUID i kod polecenia dla każdego identyfikatora CID, a także informację, czy CID obsługuje żądania Set, Query lub Event (powiadomienie). Zobacz poszczególne sekcje CID w ramach tego tematu, aby uzyskać więcej informacji na temat ich parametrów, struktur danych i powiadomień.

CID Identyfikator UUID Kod polecenia Zbiór Zapytanie Powiadom
MBIM_CID_MS_UICC_APP_LIST UUID_MS_UICC_LOW_LEVEL 7 N Y N
MBIM_CID_MS_UICC_FILE_STATUS UUID_MS_UICC_LOW_LEVEL 8 N Y N
MBIM_CID_MS_UICC_ACCESS_BINARY UUID_MS_UICC_LOW_LEVEL 9 Y Y N
MBIM_CID_MS_UICC_ACCESS_RECORD UUID_MS_UICC_LOW_LEVEL 10 Y Y N
MBIM_CID_MS_PIN_EX UUID_BASIC_CONNECT_EXTENSIONS 14 Y Y N

MBIM_CID_MS_UICC_APP_LIST

Ten identyfikator CID pobiera listę aplikacji w UICC i informacje o nich. Gdy UICC w modemie jest w pełni zainicjowany i gotowy do rejestracji w sieci komórkowej operatora, należy wybrać aplikację UICC do rejestracji, a zapytanie z tym CID powinno zwrócić wybraną aplikację w polu ActiveAppIndex w strukturze MBIM_UICC_APP_LIST stosowanej w odpowiedzi.

Parametry

Operacja Zbiór Zapytanie Powiadomienie
Polecenie Nie dotyczy Pusty Nie dotyczy
Odpowiedź Nie dotyczy MBIM_UICC_APP_LIST Nie dotyczy

Zapytanie

Bufor informacyjny MBIM_COMMAND_MSG jest pusty.

Zbiór

Nie dotyczy.

Odpowiedź

InformationBuffer w MBIM_COMMAND_DONE zawiera następującą strukturę MBIM_UICC_APP_LIST.

MBIM_UICC_APP_LIST (wersja 1)

Przesunięcie Rozmiar Pole Typ Opis
0 4 Wersja UINT32 Numer wersji poniższej struktury. To pole musi być ustawione na 1 dla wersji 1 tej struktury.
4 4 AppCount UINT32 Liczba struktur aplikacji UICC MBIM_UICC_APP_INFO zwracanych w tej odpowiedzi.
8 4 ActiveAppIndex UINT32(0.NumApp - 1) Indeks aplikacji wybranej przez modem do rejestracji w sieci komórkowej. To pole musi zawierać się między 0 a AppCount — 1. Indeksuje w tablicy aplikacji zwróconych przez tę odpowiedź. Jeśli do rejestracji nie wybrano żadnej aplikacji, to pole zawiera 0xFFFFFFFF.
12 4 Rozmiar listy aplikacji UINT32 Rozmiar danych listy aplikacji w bajtach.
8*LiczbaAplikacji Lista aplikacji OL_PAIR_LIST Pierwszym elementem pary jest 4-bajtowe pole z przesunięciem informacji o aplikacji w DataBufferze. Drugim elementem pary jest pole 4-bajtowe o rozmiarze informacji o aplikacji.
Rozmiar listy aplikacji Bufor danych DATABUFFER Tablica zawierająca struktury AppCount * MBIM_UICC_APP_INFO.

MBIM_UICC_APP_INFO (informacje o aplikacji UICC w MBIM)

Przesunięcie Rozmiar Pole Typ Opis
0 4 Typ aplikacji MBIM_UICC_APP_TYPE Typ aplikacji UICC.
4 4 AppIdOffset PRZESUNIĘCIE Przesunięcie identyfikatora aplikacji w buforze danych. Tylko pierwsze bajty AppIdSize mają znaczenie. Jeśli identyfikator aplikacji jest dłuższy niż MBIM_MAXLENGTH_APPID bajtów, parametr AppIdSize określa rzeczywistą długość, ale w tym polu znajdują się tylko pierwsze MBIM_MAXLENGTH_APPID bajty. To pole jest prawidłowe tylko wtedy, gdy parametr AppType nie jest MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM lub MBIMUiccAppTypeMfRUIM.
8 4 AppIdSize ROZMIAR (0..16) Rozmiar identyfikatora aplikacji w bajtach, zgodnie z definicją w sekcji 8.3 specyfikacji technicznej ETSI TS 102 221. Parametr AppIdSize może zawierać liczbę większą niż 16, ale w tym przypadku tylko pierwsze 16 (MBIM_MAXLENGTH_APPID) bajtów znajduje się w magazynie danych. To pole ma wartość zero dla typów aplikacji MBIMUiccAppTypeMf, MBIMUiccAppTypeMFSIM lub MBIMUiccAppTypeMfRUIM.
12 AppNameOffset PRZESUNIĘCIE Przesunięcie nazwy aplikacji w obrębie bufera danych. Ciąg UTF-8 określający nazwę aplikacji. Długość tego pola jest określana przez parametr AppNameLength. Jeśli długość jest większa lub równa MBIM_MAXLENGTH_APPNAME bajtów, to pole zawiera pierwszą MBIM_MAXLENGTH_APPNAME — 1 bajty nazwy. Ciąg jest zawsze zakończony wartością null.
16 4 DługośćNazwyAplikacji ROZMIAR (0..256) Długość w bajtach nazwy aplikacji. AppNameLength może zawierać liczbę równą lub większą niż 256, ale w tych przypadkach tylko pierwsze 255 (MBIM_MAXLENGTH_APPNAME – 1) bajtów znajduje się w magazynie danych.
20 4 NumPinKeyRefs ROZMIAR (0..8) Liczba odniesień do klucza PIN aplikacji. Innymi słowy, liczba elementów PinKeyRef, które są prawidłowe. Aplikacje w wirtualnym interfejsie użytkownika języka R nie mają odwołań do klucza PIN.
24 4 KeyRefOffset PRZESUNIĘCIE Przesunięcie PinKeyRef w DataBuffer. PinKeyRef to tablica bajtów określająca odwołania do klucza PIN aplikacji dla różnych poziomów weryfikacji (klucze dla numeru PIN1, NUMERU PIN2 i ewentualnie uniwersalnego numeru PIN), zgodnie z definicją w tabeli 9.3 i sekcji 9.4.2 specyfikacji technicznej ETSI TS 102 221. W przypadku jednej karty weryfikacyjnej lub sterownika MBB i/lub modemu, który nie obsługuje różnych kluczy aplikacji dla różnych aplikacji, pierwszy bajt pola PinKeyRef musi być 0x01 (PIN1), a drugi bajt musi być 0x81 (PIN2), zgodnie z opisem w sekcji 9.5.1 z ETSI TS 102 221.
28 4 KeyRefSize ROZMIAR (0..8) Rozmiar PinKeyRef.
32 Bufor danych DATABUFFER Bufor danych zawierający identyfikator AppId, AppName i PinKeyRef. w przypadku pojedynczej karty weryfikacyjnej lub sterownika MBB i/lub modemu, który nie obsługuje różnych kluczy aplikacji dla różnych aplikacji, to pole musi być ustawione na 0x01.

MBIM_UICC_APP_TYPE

Typ Wartość Opis
MBIMUiccAppTypeUnknown 0 Nieznany typ.
MBIMUiccAppTypeMf 1 Starsze katalogi SIM osadzone w MF.
MBIMUiccAppTypeMfSIM 2 Starsze katalogi SIM umiejscowione w DF_GSM.
MBIMUiccAppTypeMfRUIM 3 Starsze katalogi SIM zakorzenione w DF_CDMA.
MBIMUiccAppTypeUSIM 4 Aplikacja USIM.
MBIMUiccAppTypeCSIM 5 Aplikacja CSIM.
MBIMUiccAppTypeISIM 6 Aplikacja ISIM.

Stałe

Następujące stałe są definiowane dla MBIM_CID_MS_UICC_APP_INFO.

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

Zdarzenia niezamówione

Nie dotyczy.

Kody stanu

Mają zastosowanie następujące kody stanu:

Kod stanu Opis
MBIM_STATUS_SUKCES Podstawowy status MBIM zdefiniowany dla wszystkich poleceń.
MBIM_STATUS_BUSY Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń.
MBIM_STATUS_FAILURE Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń.
MBIM_STATUS_BRAK_WSPARCIA_URZĄDZENIA Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń.
MBIM_STATUS_SIM_NOT_INSERTED Nie można wykonać operacji UICC, ponieważ brakuje karty UICC.
MBIM_STATUS_BAD_SIM Nie można wykonać operacji UICC, ponieważ UICC jest w stanie błędu.
MBIM_STATUS_NOT_INITIALIZED Nie można wykonać operacji UICC, ponieważ UICC nie został jeszcze w pełni zainicjowany.

MBIM_CID_MS_UICC_FILE_STATUS

Ten identyfikator CID pobiera informacje o określonym pliku UICC.

Parametry

Operacja Zestaw Zapytanie Powiadomienie
Polecenie Nie dotyczy MBIM_UICC_FILE_PATH Nie dotyczy
Odpowiedź Nie dotyczy MBIM_UICC_FILE_STATUS Nie dotyczy

Zapytanie

Bufor informacji MBIM_COMMAND_MSG zawiera docelowy EF jako strukturę MBIM_UICC_FILE_PATH.

MBIM_UICC_FILE_PATH (wersja 1)

Przesunięcie Rozmiar Pole Typ Opis
0 4 Wersja UINT32 Numer wersji poniższej struktury. To pole musi być 1 dla wersji 1 tej struktury.
4 4 AppIdOffset PRZESUNIĘCIE Przesunięcie w bajtach obliczone od początku tej struktury do buforu zawierającego identyfikator aplikacji.
8 4 AppIdSize ROZMIAR (0..16) Rozmiar identyfikatora aplikacji w bajtach, zgodnie z definicją w sekcji 8.3 ETSI TS 102 221 specyfikacji technicznej. W przypadku kart 2G to pole musi być ustawione na zero (0).
12 4 FilePathOffset PRZESUNIĘCIE Przesunięcie w bajtach obliczane od początku tej struktury do buforu zawierającego ścieżkę pliku. Ścieżka pliku jest tablicą 16-bitowych identyfikatorów plików. Pierwszy identyfikator musi być 0x7FFF lub 0x3F00. Jeśli pierwszy identyfikator jest 0x7FFF, to ścieżka jest względna wobec pliku ADF aplikacji określonej przez AppId. W przeciwnym razie jest to ścieżka bezwzględna rozpoczynająca się od MF.
16 4 RozmiarŚcieżkiPliku ROZMIAR (0..8) Rozmiar ścieżki pliku w bajtach.
20 Bufor danych DATABUFFER Bufor danych zawierający identyfikatory AppId i FilePath.

Zbiór

Nie dotyczy.

Odpowiedź

Następująca struktura MBIM_UICC_FILE_STATUS jest używana w usłudze InformationBuffer.

MBIM_UICC_FILE_STATUS (wersja 1)

Przesunięcie Rozmiar Pole Typ Opis
0 4 Wersja UINT32 Numer wersji poniższej struktury. To pole musi być 1 dla wersji 1 tej struktury.
4 4 StatusWord1 UINT32(0..256) Parametr zwrotny charakterystyczny dla polecenia UICC.
8 4 StatusWord2 UINT32(0..256) Parametr charakterystyczny zwracany dla polecenia UICC.
12 4 Funkcja dostępu do pliku MBIM_UICC_FILE_ACCESSIBILITY Dostępność pliku UICC.
16 4 Typ pliku MBIM_UICC_FILE_TYPE Typ pliku UICC.
20 4 Struktura pliku MBIM_UICC_FILE_STRUCTURE Struktura pliku UICC.
24 4 LiczbaPrzedmiotów UINT32 Liczba elementów w pliku UICC. W przypadku plików przezroczystych i TLV ustawiono wartość 1.
28 4 Rozmiar UINT32 Rozmiar każdego elementu w bajtach. W przypadku plików przezroczystych lub TLV jest to rozmiar całego pliku EF. W przypadku plików opartych na rekordach reprezentuje łączną liczbę rekordów.
32 16 Status blokady pliku MBIM_PIN_TYPE_EX[4] Tablica typu MBIM_PIN_TYPE_EX opisująca warunek dostępu dla każdej operacji (ODCZYT, AKTUALIZACJA, AKTYWACJA i DEZAKTYWACJA w tej kolejności) w tym pliku.

Dostępność pliku UICC MBIM

Wyliczenie MBIM_UICC_FILE_ACCESSIBILITY jest używane w poprzedniej strukturze MBIM_UICC_FILE_STATUS.

Typ Wartość Opis
MBIMUiccFileAccessibilityUnknown 0 Nieznana możliwość udostępniania plików.
MBIMUiccFileAccessibilityNotShareable 1 Nieudzielny plik.
MBIMUiccFileAccessibilityShareable 2 Plik z możliwością udostępniania.

MBIM_UICC_FILE_TYPE

Wyliczenie MBIM_UICC_FILE_TYPE jest używane w poprzedniej strukturze MBIM_UICC_FILE_STATUS.

Typ Wartość Opis
MBIMUiccFileTypeNieznany 0 Nieznany typ pliku.
MBIMUiccFileTypeWorkingEf 1 Praca EF.
MBIMUiccFileTypeInternalEf 2 Wewnętrzny EF.
MBIMUiccFileTypeDfOrAdf 3 Dedykowany plik — katalog, będący rodzicem innych węzłów. Może to być system plików DF lub ADF.

MBIM_UICC_FILE_STRUCTURE

Wyliczenie MBIM_UICC_FILE_STRUCTURE jest używane w poprzedniej strukturze MBIM_UICC_FILE_STATUS.

Typ Wartość Opis
Nieznana struktura pliku MBIM UICC 0 Nieznana struktura plików.
MBIMUiccFileStructureTransparent 1 Pojedynczy rekord o zmiennej długości.
MBIMUiccFileStructureCyclic 2 Cykliczny zestaw rekordów o tej samej długości.
MBIMUiccFileStructureLinear 3 Liniowy zestaw rekordów o tej samej długości.
MBIMUiccFileStructureBerTLV 4 Zestaw wartości danych dostępnych za pomocą tagu.

MBIM_PIN_TYPE_EX

Wyliczenie MBIM_PIN_TYPE_EX jest używane w poprzedniej strukturze MBIM_UICC_FILE_STATUS.

Typ Wartość Opis
MBIMPinTypeNone 0 Żaden PIN nie oczekuje na wprowadzenie.
MBIMPinTypeCustom 1 Typ numeru PIN jest typem niestandardowym i nie jest żadnym z innych typów numerów PIN wymienionych w tym wyliczeniem.
MBIMPinTypePin1 2 Klucz PIN1.
MBIMPinTypePin2 3 Klucz PIN2.
MBIMPinTypeDeviceSimPin 4 Urządzenie do klucza SIM.
MBIMPinTypeDeviceFirstSimPin 5 Urządzenie do pierwszego klucza SIM.
MBIMPinTypeNetworkPin 6 Klucz personalizacji sieci.
MBIMPinTypeNetworkSubsetPin 7 Klucz personalizacji podzestawu sieci.
MBIMPinTypeServiceProviderPin 8 Klucz personalizacji dostawcy usług (SP).
MBIMPinTypeCorporatePin 9 Klucz personalizacji firmowej.
MBIMPinTypeSubsidyLock (blokada subsydiów) 10 Klucz odblokowania dotacji.
MBIMPinTypePuk1 11 Klucz odblokowujący osobistego numeru identyfikacyjnego 1 (PUK1).
MBIMPinTypePuk2 12 Numer identyfikacyjny osobisty 2 - klucz odblokowujący (PUK2).
MBIMPinTypeDeviceFirstSimPuk 13 Urządzenie do odblokowywania SIM PIN za pomocą pierwszego klucza.
MBIMPinTypeNetworkPuk 14 Klucz odblokowywania personalizacji sieci.
MBIMPinTypeNetworkSubsetPuk 15 Klucz personalizacji odblokowywania podzestawu sieci.
MBIMPinTypeServiceProviderPuk 16 Klucz odblokowywania personalizacji dostawcy usług (SP).
MBIMPinTypeCorporatePuk 17 Klucz odblokowujący personalizację firmową.
MBIMPinTypeNev 18 Klucz NEV.
MBIMPinTypeAdm 19 Klucz administracyjny.

Zdarzenia niezamówione

Nie dotyczy.

Kody stanu

Mają zastosowanie następujące kody stanu:

Kod stanu Opis
MBIM_STATUS_BUSY Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń.
MBIM_STATUS_FAILURE Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń.
MBIM_STATUS_KARTA_SIM_NIE_WŁOŻONA Nie można wykonać operacji UICC, ponieważ brakuje karty UICC.
MBIM_STATUS_BAD_SIM Nie można wykonać operacji UICC, ponieważ UICC jest w stanie błędu.
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR Nie można wybrać pliku, ponieważ nie można go udostępnić i jest obecnie uzyskiwany przez inną aplikację. Słowo stanu zwrócone przez kartę SIM to 6985.

MBIM_CID_MS_UICC_ACCESS_BINARY

Ten CID wysyła określone polecenie, aby uzyskać dostęp do pliku binarnego UICC o typie struktury MBIMUiccFileStructureTransparent lub MBIMUiccFileStructureBerTLV.

Parametry

Operacja Zestaw Zapytanie Powiadomienie
Polecenie Nie dotyczy MBIM_UICC_ACCESS_BINARY Nie dotyczy
Odpowiedź Nie dotyczy MBIM_UICC_RESPONSE Nie dotyczy

Zapytanie

Odczytuje plik binarny. InformationBuffer for MBIM_COMMAND_MSG zawiera strukturę MBIM_UICC_ACCESS_BINARY. Struktura MBIM_UICC_RESPONSE jest zwracana w buforze informacji MBIM_COMMAND_DONE.

MBIM_UICC_ACCESS_BINARY (wersja 1)

Przesunięcie Rozmiar Pole Typ Opis
0 4 Wersja UINT32 Numer wersji poniższej struktury. To pole musi być ustawione na 1 dla wersji 1 tej struktury.
4 4 AppIdOffset PRZESUNIĘCIE Przesunięcie w bajtach od początku tej struktury do buforu zawierającego identyfikator aplikacji.
8 4 AppIdSize ROZMIAR (0..16) Rozmiar identyfikatora aplikacji w bajtach, zgodnie z definicją w sekcji 8.3 ETSI TS 102 221 specyfikacji technicznej. W przypadku kart 2G to pole musi być ustawione na zero (0).
12 4 FilePathOffset PRZESUNIĘCIE Przesunięcie w bajtach obliczane od początku tej struktury do buforu zawierającego ścieżkę pliku. Ścieżka pliku jest tablicą 16-bitowych ID plików. Pierwszy identyfikator musi być 0x7FFF lub 0x3F00. Jeśli pierwszy identyfikator to 0x7FFF, ścieżka jest względna do ADF aplikacji oznaczonej przez AppId. W przeciwnym razie jest to ścieżka bezwzględna rozpoczynająca się od MF.
16 4 FilePathSize ROZMIAR Rozmiar ścieżki pliku w bajtach.
20 4 PrzesunięciePliku UINT32 Przesunięcie, które ma być używane podczas odczytywania z pliku. To pole może być większe niż 256 i łączy zarówno przesunięcie wysokie, jak i przesunięcie niskie zgodnie z definicją w ETSI TS 102 221 specyfikacji technicznej.
24 4 Liczbabajtów UINT32 Liczba bajtów do odczytania. Na przykład sterownik klienta może użyć tej funkcji do odczytu przezroczystego (binarnego) pliku, który jest większy niż 256 bajtów, chociaż maksymalna ilość, którą można odczytać lub zapisać w ramach pojedynczej operacji UICC, wynosi 256 bajtów na specyfikacji technicznej TS 102 221. Funkcja jest odpowiedzialna za podzielenie danych na wiele jednostek APDU i wysłanie wyniku z powrotem w jednej odpowiedzi.
28 4 LocalPinOffset PRZESUNIĘCIE Przesunięcie, wyrażone w bajtach, obliczone od początku tej struktury do bufora zawierającego hasło. Jest to lokalny numer PIN (PIN2) i jest używany w przypadku, gdy operacja wymaga lokalnej weryfikacji numeru PIN.
32 4 LocalPinSize ROZMIAR (0..16) Rozmiar hasła w bajtach.
36 4 PrzesunięcieDanychBinarnych Korekta Przesunięcie w bajtach obliczane od początku tej struktury do buforu zawierającego dane specyficzne dla polecenia. Dane binarne są używane tylko w przypadku operacji SET.
40 4 RozmiarDanychBinarnych ROZMIAR (0..32768) Rozmiar danych w bajtach.
44 Bufor danych DATABUFFER Bufor danych zawierający wartości AppId, FilePath, LocalPin i BinaryData.

Zbiór

Nie dotyczy.

Odpowiedź

Następująca struktura MBIM_UICC_RESPONSE jest używana w usłudze InformationBuffer.

MBIM_UICC_RESPONSE (wersja 1)

Przesunięcie Rozmiar Pole Typ Opis
0 4 Wersja UINT32 Numer wersji poniższej struktury. To pole musi być 1 dla wersji 1 tej struktury.
4 4 StatusWord1 UINT32(0..256) Parametr zwrotny specyficzny dla polecenia UICC.
8 4 StatusWord2 UINT32(0..256) Parametr zwracany specyficzny dla polecenia UICC.
12 4 ResponseDataOffset PRZESUNIĘCIE Przesunięcie w bajtach obliczone od początku tej struktury do buforu zawierającego dane odpowiedzi. Dane odpowiedzi są używane tylko w przypadku operacji QUERY.
16 4 RozmiarDanychOdpowiedzi Rozmiar (0..32768) Rozmiar danych w bajtach.
20 DataBuffer DATABUFFER Bufor danych zawierający ResponseData.

Zdarzenia niezamówione

Nie dotyczy.

Kody stanu

Mają zastosowanie następujące kody stanu:

Kod stanu Opis
MBIM_STATUS_BUSY Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń.
MBIM_STATUS_FAILURE Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń.
MBIM_STATUS_SIM_NIE_WŁOŻONA Nie można wykonać operacji UICC, ponieważ UICC jest brakująca.
MBIM_STATUS_BAD_SIM Nie można wykonać operacji UICC, ponieważ UICC jest w stanie błędu.
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR Nie można wybrać pliku, ponieważ nie można go udostępnić i jest obecnie uzyskiwany przez inną aplikację. Kod statusu zwrócony przez kartę SIM to 6985.
MBIM_STATUS_BŁĄD_PIN Operacja nie powiodła się z powodu błędu numeru PIN.

Identyfikator MBIM_CID_MS_UICC_ACCESS_RECORD

Ten identyfikator CID wysyła określone polecenie w celu uzyskania dostępu do pliku liniowego stałego lub cyklicznego UICC z typem struktury MBIMUiccFileStructureCyclic lub MBIMUIccFileStructureLinear.

Parametry

Operacja Zbiór Zapytanie Powiadomienie
Polecenie Nie dotyczy MBIM_UICC_ACCESS_RECORD Nie dotyczy
Odpowiedź Nie dotyczy MBIM_UICC_RESPONSE Nie dotyczy

Zapytanie

Odczytuje zawartość rekordu. BuforInformacji dla MBIM_COMMAND_MSG zawiera następującą strukturę MBIM_UICC_ACCESS_RECORD. MBIM_UICC_RESPONSE jest zwracany w polu InformationBuffer obiektu MBIM_COMMAND_DONE.

MBIM_UICC_ACCESS_RECORD (wersja 1)

Przesunięcie Rozmiar Pole Typ Opis
0 4 Wersja UINT32 Numer wersji poniższej struktury. To pole musi być ustawione na 1 dla wersji 1 tej struktury.
4 4 AppIdOffset PRZESUNIĘCIE Przesunięcie w bajtach od początku tej struktury do buforu zawierającego identyfikator aplikacji.
8 4 AppIdSize ROZMIAR (0..16) Rozmiar identyfikatora aplikacji w bajtach, zgodnie z definicją w sekcji 8.3 ETSI TS 102 221 specyfikacji technicznej. W przypadku kart 2G to pole musi być ustawione na zero (0).
12 4 PrzesunięcieŚcieżkiPliku PRZESUNIĘCIE Przesunięcie w bajtach obliczane od początku tej struktury do buforu zawierającego ścieżkę pliku. Ścieżka pliku jest ciągiem 16-bitowych plikowych identyfikatorów. Pierwszy identyfikator musi być 0x7FFF lub 0x3F00. Jeśli pierwszy identyfikator to 0x7FFF, to ścieżka jest względna do ADF aplikacji wskazanej przez AppId. W przeciwnym razie jest to ścieżka bezwzględna rozpoczynająca się od MF.
16 4 RozmiarŚcieżkiPliku ROZMIAR Rozmiar ścieżki pliku w bajtach.
20 4 Numer rekordu UINT32(0..256) Numer rekordu. Reprezentuje to bezwzględny indeks rekordów w każdym momencie. Dostęp do rekordów relacyjnych nie jest obsługiwany, ponieważ modem może wykonywać wielokrotne dostępy do pliku (NEXT, PREVIOUS).
24 4 LocalPinOffset PRZESUNIĘCIE Przesunięcie w bajtach obliczone od początku tej struktury do buforu zawierającego hasło. Hasło blokady jest ciągiem cyfrowym w formacie UTF-8, zakończonym wartością null.
28 4 LocalPinSize ROZMIAR (0..16) Rozmiar hasła w bajtach.
32 4 PrzesunięcieDanychZapisanych PRZESUNIĘCIE Przesunięcie w bajtach, obliczone od początku tej struktury do bufora zawierającego dane specyficzne dla danego polecenia. Dane rekordu są używane tylko w przypadku operacji SET.
36 4 RecordDataSize ROZMIAR (0..256) Rozmiar danych w bajtach.
40 Bufor danych DATABUFFER Bufor danych zawierający wartości AppId, FilePath, LocalPin i RecordData.

Zbiór

Nie dotyczy.

Odpowiedź

Struktura MBIM_UICC_RESPONSE jest używana w usłudze InformationBuffer.

Zdarzenia niezamówione

Nie dotyczy.

Kody stanu

Mają zastosowanie następujące kody stanu:

Kod stanu Opis
MBIM_STATUS_BUSY Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń.
MBIM_STATUS_FAILURE Podstawowy status MBIM zdefiniowany dla wszystkich poleceń.
MBIM_STATUS_SIM_NIE_WŁOŻONA Nie można wykonać operacji UICC, ponieważ brakuje UICC.
MBIM_STATUS_ZŁA_SIM Nie można wykonać operacji UICC, ponieważ UICC jest w stanie błędu.
MBIM_STATUS_BŁĄD_WARUNKU_DZIELENIA (if context allows translation) Nie można wybrać pliku, ponieważ nie można go udostępnić i jest obecnie uzyskiwany przez inną aplikację. Słowo stanu zwrócone przez kartę SIM to 6985.
STATUS_BŁĘDU_PIN Operacja nie powiodła się z powodu błędu numeru PIN.

MBIM_CID_MS_PIN_EX

Ten CID służy do wykonywania wszystkich operacji zabezpieczeń PIN, jak zdefiniowano w sekcji 9 ETSI TS 102 221 specyfikacji technicznej. CID jest podobny do MBIM_CID_MS_PIN, ale rozszerza go, żeby wspierać wieloaplikowe karty UICC. Obsługiwane są tylko karty UICC umożliwiające pojedynczą weryfikację. Karty UICC zdolne do obsługi wielu metod weryfikacji, które wspierają więcej niż jeden kod PIN aplikacji, nie są wspierane. Jeden numer PIN aplikacji (PIN1) jest przypisany do wszystkich ADF/DF i plików na UICC. Jednak każda aplikacja może określić lokalny numer PIN (PIN2) jako wymaganie weryfikacji użytkownika na poziomie 2, co powoduje konieczność dodatkowej weryfikacji dla każdego polecenia dostępu. Ten scenariusz jest obsługiwany przez MBIM_CID_MS_PIN_EX.

Podobnie jak MBIM_CID_MS_PIN, z MBIM_CID_MS_PIN_EX urządzenie zgłasza tylko jeden numer PIN naraz. Jeśli włączono wiele numerów PIN i raportowanie wielu numerów PIN jest również włączone, funkcje muszą najpierw zgłaszać numer PIN1. Jeśli na przykład raportowanie blokady subsydium jest włączone, a numer PIN1 karty SIM jest włączony, numer PIN blokady dotacji powinien zostać zgłoszony w kolejnym żądaniu zapytania dopiero po pomyślnym zweryfikowaniu numeru PIN1. Pusty PIN jest dozwolony w połączeniu z MBIMPinOperationEnter. Pusty numer PIN jest określany przez ustawienie wartości PinSize na zero. W takim przypadku polecenie SET jest podobne do zapytania i zwraca stan przywoływnego numeru PIN. Jest to w pełni dostosowane do zachowania polecenia VERIFY, jak określono w sekcji 11.1.9 ETSI TS 102 221 specyfikacji technicznej.

Parametry

Operacja Zbiór Zapytanie Powiadomienie
Polecenie MBIM_SET_PIN_EX MBIM_PIN_APP Nie dotyczy
Odpowiedź MBIM_PIN_INFO_EX MBIM_PIN_INFO_EX Nie dotyczy

Zapytanie

Następująca struktura MBIM_PIN_APP jest używana w usłudze InformationBuffer.

MBIM_PIN_APP (wersja 1)

Przesunięcie Rozmiar Pole Typ Opis
0 4 Wersja UINT32 Numer wersji poniższej struktury. To pole musi być ustawione na 1 dla wersji 1 tej struktury.
4 4 AppIdOffset PRZESUNIĘCIE Przesunięcie w bajtach od początku tej struktury do buforu zawierającego identyfikator aplikacji.
8 4 AppIdSize ROZMIAR (0..16) Rozmiar identyfikatora aplikacji w bajtach, zgodnie z definicją w sekcji 8.3 ETSI TS 102 221 specyfikacji technicznej. W przypadku kart 2G to pole musi być ustawione na zero (0).
12 DataBuffer DATABUFFER Identyfikator AppId zdefiniowany w specyfikacji technicznej ETSI TS 102 221.

Zbiór

Następująca struktura MBIM_SET_PIN_EX jest używana w usłudze InformationBuffer.

MBIM_SET_PIN_EX

Przesunięcie Rozmiar Pole Typ Opis
0 4 Typ pinezki MBIM_PIN_TYPE_EX Typ numeru PIN. Zobacz tabelę MBIM_PIN_TYPE_EX w tym temacie.
4 4 PinOperation MBIM_PIN_OPERATION Operacja PIN Zobacz MBIM 1.0.
8 4 przesunięcie pinu PRZESUNIĘCIE Przesunięcie (w bajtach) obliczone od początku tej struktury do ciągu reprezentującego PIN, za pomocą którego ma być wykonana akcja, lub wartość numeru PIN wymagana do włączania lub wyłączania ustawień numeru PIN. To pole dotyczy wszystkich wartości PinOperation.
12 4 Rozmiar pinu ROZMIAR (0,32) Rozmiar w bajtach używany dla numeru PIN.
16 4 NowePrzesunięciePinu PRZESUNIĘCIE Przesunięcie w bajtach, obliczone od początku tej struktury do ciągu NewPin, który reprezentuje nową wartość numeru PIN do ustawienia, gdy PinOperation jest MBIMPinOperationChange lub MBIMPinOperationEnter dla PinTypeMBIMPinTypePuk1 lub PinTypeMBIMPinTypePuk2.
20 4 NowyRozmiarPinu ROZMIAR (0,32) Rozmiar w bajtach używany dla parametru NewPin.
24 4 AppIdOffset PRZESUNIĘCIE Przesunięcie, wyrażone w bajtach, obliczone od początku tej struktury do bufora, który zawiera identyfikator aplikacji.
28 4 AppIdSize ROZMIAR (0..16) Rozmiar identyfikatora aplikacji w bajtach, zgodnie z definicją w sekcji 8.3 ETSI TS 102 221 specyfikacji technicznej. W przypadku kart 2G to pole musi być ustawione na zero (0).
32 Bufor Danych DATABUFFER Bufor danych zawierający pin, NewPin i AppId.

Odpowiedź

Następująca struktura MBIM_PIN_INFO_EX jest używana w usłudze InformationBuffer.

Przesunięcie Rozmiar Pole Typ Opis
0 4 Typ pinu MBIM_PIN_TYPE_EX Typ numeru PIN. Zobacz tabelę MBIM_PIN_TYPE_EX w tym temacie.
4 4 PinState MBIM_PIN_STATE Stan numeru PIN. Zobacz MBIM 1.0.
8 4 Pozostałe próby UINT32 Liczba pozostałych prób dla wszystkich operacji związanych z numerem PIN, takich jak wprowadzanie, włączanie lub wyłączanie. Urządzenia, które nie obsługują tych informacji, muszą ustawić to pole na 0xFFFFFFFF.

Zdarzenia niezamówione

Nie dotyczy.

Kody stanu

Mają zastosowanie następujące kody stanu:

Kod stanu Opis
MBIM_STATUS_BUSY Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń.
MBIM_STATUS_FAILURE Podstawowy status MBIM zdefiniowany dla wszystkich poleceń.
MBIM_STATUS_SIM_NIE_WŁOŻONA Nie można wykonać operacji UICC, ponieważ brakuje karty UICC.
MBIM_STATUS_BAD_SIM Nie można wykonać operacji UICC, ponieważ UICC jest w stanie błędu.
STATUS_PIN_WYŁĄCZONY Operacja nie powiodła się, ponieważ numer PIN jest wyłączony.
MBIM_STATUS_PIN_REQUIRED Operacja nie powiodła się, ponieważ należy wprowadzić numer PIN, aby kontynuować.
MBIM_STATUS_BRAK_OBSLUGI_URZADZENIA Operacja nie powiodła się, ponieważ operacja ustawiania dla odpowiadającego typu PIN nie jest obsługiwana przez urządzenie.