Freigeben über


MB UICC-Anwendung und Dateisystemzugriff

Überblick

In diesem Thema wird eine Erweiterung der MBIM-Schnittstelle (Mobile Broadband Interface Model) angegeben, um den Zugriff auf die UICC-Smartcard-Anwendung und -Dateisysteme zu ermöglichen. Diese Erweiterung für MBIM macht logischen Zugriff auf die ETSI TS 102 221 technischen spezifikationskonformen Anwendungen und Dateisysteme des UICC verfügbar und wird in Windows 10, Version 1903 und höher, unterstützt.

UICC-Zugriff und Sicherheit

Das UICC stellt ein Dateisystem bereit und unterstützt eine Reihe von Anwendungen, die gleichzeitig ausgeführt werden können. Dazu gehören usIM für UMTS, CSIM für CDMA und ISIM für IMS. Die SIM ist ein älteren Teil des UICC, der als eine dieser Anwendungen (für GSM) modelliert werden kann.

Das folgende Diagramm aus Abschnitt 8.1 der technischen Spezifikation ETSI TS 102 221 zeigt eine Beispiel-Kartenanwendungsstruktur.

Diagramm, das eine Beispielstruktur der UICC-Anwendung zeigt.

Das UICC-Dateisystem kann als eine Ansammlung von Verzeichnishierarchien betrachtet werden. Die ältere SIM-Struktur ist in einer Masterdatei (MF) verwurzelt und enthält bis zu zwei Ebenen von Unterverzeichnissen (Dedizierte Dateien oder DFs), die Elementaldateien (EFs) enthalten, die verschiedene Informationstypen enthalten. Die SIM definiert DFs unter dem MF, von denen einer, DFTelecom, gemeinsame Informationen für mehrere Zugriffstypen wie das gemeinsame Telefonbuch enthält. Zusätzliche Anwendungen werden effektiv als separate Strukturen implementiert, die jeweils in einer eigenen Anwendungsverzeichnisdatei (Application Directory File, ADF) verwurzelt sind. Jede ADF wird durch einen Anwendungsbezeichner identifiziert, der bis zu 128 Bit lang sein kann. Eine Datei unter dem Kartenstamm (EFDir unter dem MF im Diagramm) enthält die Anwendungsnamen und die entsprechenden Bezeichner. Innerhalb einer Struktur (MF oder ADF) können DFs und EFs durch einen Pfad von Datei-IDs identifiziert werden, wobei eine Datei-ID eine 16-Bit-Ganzzahl ist.

NDIS-Schnittstellenerweiterungen

Die folgenden OIDs wurden zur Unterstützung des UICC-Anwendungs- und Dateisystemzugriffs definiert.

MBIM-Dienst- und CID-Werte

Dienstname UUID UUID-Wert
Microsoft Low-Level UICC Access UUID_MS_UICC_LOW_LEVEL C2F6588E-F037-4BC9-8665-F4D44BD09367
Microsoft Basic-IP-Konnektivitätserweiterungen UUID_BASIC_CONNECT_EXTENSIONS 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF

Die folgende Tabelle gibt den UUID- und Befehlscode für jede CID sowie an, ob die CID Set-, Query- oder Ereignisanforderungen (Benachrichtigung) unterstützt. Weitere Informationen zu ihren Parametern, Datenstrukturen und Benachrichtigungen finden Sie im einzelnen Abschnitt der einzelnen CID in diesem Thema.

CID UUID Befehlscode Set Abfrage Benachrichtigen
MBIM_CID_MS_UICC_APP_LIST UUID_MS_UICC_LOW_LEVEL 7 N Ja N
MBIM_CID_MS_UICC_FILE_STATUS UUID_MS_UICC_LOW_LEVEL 8 N Ja N
MBIM_CID_MS_UICC_ACCESS_BINARY UUID_MS_UICC_LOW_LEVEL 9 Ja Ja N
MBIM_CID_MS_UICC_ACCESS_RECORD UUID_MS_UICC_LOW_LEVEL 10 Ja Ja N
MBIM_CID_MS_PIN_EX UUID_BASIC_CONNECT_EXTENSIONS 14 Ja Ja N

MBIM_CID_MS_UICC_APP_LIST

Diese CID ruft eine Liste von Anwendungen in einem UICC und Informationen dazu ab. Wenn die UICC im Modem vollständig initialisiert und für die Registrierung beim Mobilfunkanbieter bereit ist, muss eine UICC-Anwendung für die Registrierung ausgewählt werden, und eine Abfrage mit dieser CID sollte die ausgewählte Anwendung im ActiveAppIndex-Feld in der MBIM_UICC_APP_LIST Struktur zurückgeben, die als Antwort verwendet wird.

Die Parameter

Vorgang Set Abfrage Benachrichtigung
Befehl Nicht anwendbar Leer Nicht anwendbar
Antwort Nicht anwendbar MBIM_UICC_APP_LIST Nicht anwendbar

Abfrage

Der InformationBuffer von MBIM_COMMAND_MSG ist leer.

Set

Nicht zutreffend.

Antwort

Der InformationBuffer in MBIM_COMMAND_DONE enthält die folgende MBIM_UICC_APP_LIST Struktur.

MBIM_UICC_APP_LIST (Version 1)

Offset Größe Feld Typ BESCHREIBUNG
0 4 Version UINT32 Die Versionsnummer der folgenden Struktur. Dieses Feld muss für Version 1 dieser Struktur auf 1 festgelegt werden.
4 4 AppCount UINT32 Die Anzahl der UICC-Anwendungsstrukturen MBIM_UICC_APP_INFO, die in dieser Antwort zurückgegeben werden.
8 4 ActiveAppIndex UINT32(0..NumApp - 1) Der Index der Anwendung, die vom Modem für die Registrierung beim Mobilfunknetz ausgewählt wurde. Dieses Feld muss zwischen 0 und dem AppCount - 1 sein. Es wird ein Index für das Array von Anwendungen erstellt, die von dieser Antwort zurückgegeben werden. Wenn keine Anwendung für die Registrierung ausgewählt ist, enthält dieses Feld 0xFFFFFFFF.
12 4 AppListenGröße UINT32 Die Größe der App-Listendaten in Byte.
8*AppCount AppList OL_PAIR_LIST Das erste Element des Paares ist ein 4-Byte-Feld mit dem Offset einer App-Info im DataBuffer. Das zweite Element des Paars ist ein 4-Byte-Feld mit der Größe der App-Informationen.
AppListenGröße Datenpuffer Datenpuffer Ein Array von AppCount * MBIM_UICC_APP_INFO-Strukturen.

MBIM_UICC_APP_INFO

Offset Größe Feld Typ BESCHREIBUNG
0 4 App-Typ MBIM_UICC_APP_TYPE Der Typ der UICC-Anwendung.
4 4 AppIdOffset OFFSET Offset für die Anwendungs-ID im Datenpuffer. Nur die ersten AppIdSize-Bytes sind aussagekräftig. Wenn die Anwendungs-ID länger als MBIM_MAXLENGTH_APPID Bytes ist, gibt AppIdSize die tatsächliche Länge an, aber nur die ersten MBIM_MAXLENGTH_APPID Bytes befinden sich in diesem Feld. Dieses Feld ist nur gültig, wenn AppType nicht MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM oder MBIMUiccAppTypeMfRUIM ist.
8 4 AppIdSize GRÖßE (0,.16) Die Größe der Anwendungs-ID in Bytes, wie in Abschnitt 8.3 der technischen Spezifikation des ETSI TS 102 221 definiert. AppIdSize kann eine Zahl größer als 16 enthalten, in diesem Fall befinden sich jedoch nur die ersten 16 (MBIM_MAXLENGTH_APPID) Bytes im Databuffer. Dieses Feld wird für die App-Typen MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM oder MBIMUiccAppTypeMfRUIM auf Null festgelegt.
12 AppNameOffset OFFSET Offset für den Anwendungsnamen im Datenpuffer. Eine UTF-8-Zeichenfolge, die den Namen der Anwendung angibt. Die Länge dieses Felds wird durch AppNameLength angegeben. Wenn die Länge größer oder gleich MBIM_MAXLENGTH_APPNAME Bytes ist, enthält dieses Feld die ersten MBIM_MAXLENGTH_APPNAME - 1 Bytes des Namens. Die Zeichenfolge wird immer null beendet.
16 4 AppNameLength GRÖßE (0..256) Die Länge des Anwendungsnamens in Bytes. AppNameLength kann eine Zahl enthalten, die gleich oder größer als 256 ist, aber in diesen Fällen befinden sich nur die ersten 255 (MBIM_MAXLENGTH_APPNAME - 1) Bytes im Datenpuffer.
20 4 NumPinKeyRefs GRÖßE (0,.8) Die Anzahl der Anwendungs-PIN-Schlüsselreferenzen. Anders ausgedrückt: Die Anzahl der gültigen Elemente von PinKeyRef. Anwendungen auf einem virtuellen R-UIM verfügen über keine PIN-Referenzen.
24 4 KeyRefOffset OFFSET Offset der PinKeyRef im DataBuffer. PinKeyRef ist ein Bytearray, das die PIN-Schlüsselverweise der Anwendung für verschiedene Überprüfungsebenen (Schlüssel für PIN1, PIN2 und möglicherweise eine universelle PIN) angibt, wie in Tabelle 9.3 und Abschnitt 9.4.2 der technischen Spezifikation des ETSI TS 102 221 definiert. Im Falle einer Einzelüberprüfungskarte oder eines MBB-Treibers und/oder Modems, der unterschiedliche Anwendungsschlüssel für verschiedene Anwendungen nicht unterstützt, muss das erste Byte des PinKeyRef-Felds 0x01 (PIN1) sein, und das zweite Byte muss 0x81 (PIN2) sein, wie in Abschnitt 9.5.1 von ETSI TS 102 221 beschrieben.
28 4 KeyRefSize GRÖßE (0,.8) Die Größe von PinKeyRef.
32 Datenpuffer Datenpuffer Der Datenpuffer mit "AppId", "AppName" und "PinKeyRef." einer Einzelüberprüfungskarte oder eines MBB-Treibers und/oder Modems, das keine unterschiedlichen Anwendungsschlüssel für verschiedene Anwendungen unterstützt, muss in diesem Feld 0x01 stehen.

MBIM_UICC_APP_TYPE

Typ Wert BESCHREIBUNG
MBIMUiccAppTypeUnknown 0 Unbekannter Typ.
MBIMUiccAppTypeMf 1 Ältere SIM-Verzeichnisse, die im MF verwurzelt sind.
MBIMUiccAppTypeMfSIM 2 Ältere SIM-Verzeichnisse, die im DF_GSM verwurzelt sind.
MBIMUiccAppTypeMfRUIM 3 Ältere SIM-Verzeichnisse, die im DF_CDMA verwurzelt sind.
MBIMUiccAppTypeUSIM 4 USIM-Anwendung.
MBIMUiccAppTypeCSIM 5 CSIM-Anwendung.
MBIMUiccAppTypeISIM 6 ISIM-Anwendung.

Konstanten

Die folgenden Konstanten werden für MBIM_CID_MS_UICC_APP_INFO definiert.

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

Unerwünschte Ereignisse

Nicht zutreffend.

Statuscodes

Die folgenden Statuscodes sind anwendbar:

Statuscode BESCHREIBUNG
MBIM_STATUS_SUCCESS Grundlegender MBIM-Status, wie für alle Befehle definiert.
MBIM_STATUS_BUSY Grundlegender MBIM-Status, wie für alle Befehle definiert.
MBIM_STATUS_FAILURE Grundlegender MBIM-Status, wie für alle Befehle definiert.
MBIM_STATUS_NO_DEVICE_SUPPORT (Kein Gerätesupport) Grundlegender MBIM-Status, wie für alle Befehle definiert.
MBIM_STATUS_SIM_NICHT_EINGESETZT Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC fehlt.
MBIM_STATUS_BAD_SIM Der UICC-Vorgang kann nicht ausgeführt werden, da sich die UICC in einem Fehlerzustand befindet.
MBIM_STATUS_NOT_INITIALIZED Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC noch nicht vollständig initialisiert ist.

MBIM_CID_MS_UICC_FILE_STATUS

Diese CID ruft Informationen zu einer angegebenen UICC-Datei ab.

Die Parameter

Vorgang Set Abfrage Benachrichtigung
Befehl Nicht anwendbar MBIM_UICC_DATEIPFAD Nicht anwendbar
Antwort Nicht anwendbar MBIM_UICC_FILE_STATUS Nicht anwendbar

Abfrage

Der InformationBuffer von MBIM_COMMAND_MSG enthält das Ziel-EF in der Form einer MBIM_UICC_FILE_PATH-Struktur.

MBIM_UICC_FILE_PATH (Version 1)

Offset Größe Feld Typ BESCHREIBUNG
0 4 Version UINT32 Die Versionsnummer der folgenden Struktur. Dieses Feld muss 1 für Version 1 dieser Struktur sein.
4 4 AppIdOffset OFFSET Der in Bytes gemessene Offset, der vom Beginn dieser Struktur bis zum Puffer mit der Anwendungs-ID berechnet wird.
8 4 AppIdSize GRÖßE (0,.16) Die Größe der Anwendungs-ID in Byte gemäß Abschnitt 8.3 der technischen Spezifikation ETSI TS 102 221. Bei 2G-Karten muss dieses Feld auf Null (0) festgelegt werden.
12 4 FilePathOffset OFFSET Der in Bytes angegebene Offset wird vom Anfang dieser Struktur bis zu dem Puffer berechnet, der den Dateipfad enthält. Der Dateipfad ist ein Array von 16-Bit-Datei-IDs. Die erste ID muss entweder 0x7FFF oder 0x3F00sein. Wenn die erste ID 0x7FFFist, ist der Pfad relativ zur ADF der Anwendung, die von AppIdfestgelegt wird. Andernfalls handelt es sich um einen absoluten Pfad ab dem MF.
16 4 FilePathSize GRÖßE (0,.8) Die Größe des Dateipfads in Byte.
20 Datenpuffer Datenpuffer Der Datenpuffer, der AppId und FilePath enthält.

Set

Nicht zutreffend.

Antwort

Die folgende MBIM_UICC_FILE_STATUS Struktur wird im InformationBuffer verwendet.

MBIM_UICC_FILE_STATUS (Version 1)

Offset Größe Feld Typ BESCHREIBUNG
0 4 Version UINT32 Die Versionsnummer der folgenden Struktur. Dieses Feld muss 1 für Version 1 dieser Struktur sein.
4 4 StatusWord1 UINT32(0..256) Ein rückgabespezifischer Parameter für den UICC-Befehl.
8 4 StatusWord2 UINT32(0..256) Ein rückgabespezifischer Parameter für den UICC-Befehl.
12 4 DateiZugänglichkeit MBIM_UICC_FILE_ACCESSIBILITY Die Barrierefreiheit der UICC-Datei.
16 4 Dateityp MBIM_UICC_FILE_TYPE Der UICC-Dateityp.
20 4 Dateistruktur MBIM_UICC_DATEISTRUKTUR Die UICC-Dateistruktur.
24 4 Artikelanzahl UINT32 Die Anzahl der Elemente in der UICC-Datei. Für transparente und TLV-Dateien ist dies auf 1festgelegt.
28 4 Größe UINT32 Die Größe jedes Elements in Byte. Bei transparenten oder TLV-Dateien ist dies die Größe des gesamten EF. Bei datensatzbasierten Dateien stellt dies die Gesamtanzahl der Datensätze dar.
32 16 FileLockStatus MBIM_PIN_TYPE_EX[4] Ein Array vom Typ MBIM_PIN_TYPE_EX, das die Zugriffsbedingung für jeden Vorgang (READ, UPDATE, ACTIVATE und DEACTIVATE in dieser Reihenfolge) in dieser Datei beschreibt.

MBIM_UICC_FILE_ACCESSIBILITY

Die MBIM_UICC_FILE_ACCESSIBILITY-Aufzählung wird in der vorherigen MBIM_UICC_FILE_STATUS-Struktur verwendet.

Typ Wert BESCHREIBUNG
MBIMUiccFileAccessibilityUnknown 0 Dateifreigabe unbekannt.
MBIMUiccFileAccessibilityNotShareable 1 Nicht freigebbare Datei.
MBIMUiccFileAccessibilityShareable 2 Freigegebene Datei.

MBIM_UICC_FILE_TYPE

Die MBIM_UICC_FILE_TYPE-Aufzählung wird in der vorgenannten MBIM_UICC_FILE_STATUS-Struktur verwendet.

Typ Wert BESCHREIBUNG
MBIMUiccFileTypeUnknown 0 Dateityp unbekannt.
MBIMUiccFileTypeWorkingEf 1 EF-Aufgabe
MBIMUiccFileTypeInternalEf 2 Interner EF.
MBIMUiccFileTypeDfOrAdf 3 Dedizierte Datei, ein Verzeichnis, das das übergeordnete Element anderer Knoten ist. Dies kann eine DF oder ADF sein.

MBIM_UICC_FILE_STRUCTURE

Die MBIM_UICC_FILE_STRUCTURE-Aufzählung wird in der vorgängigen MBIM_UICC_FILE_STATUS-Struktur verwendet.

Typ Wert BESCHREIBUNG
MBIMUiccFileStructureUnknown 0 Eine unbekannte Dateistruktur.
MBIMUiccFileStructureTransparent 1 Ein einzelner Datensatz mit variabler Länge.
MBIMUiccFileStructureCyclic 2 Ein zyklischer Satz von Datensätzen, jede der gleichen Längen.
MBIMUiccFileStructureLinear 3 Eine lineare Gruppe von Datensätzen, jede der gleichen Längen.
MBIMUiccFileStructureBerTLV 4 Eine Gruppe von Datenwerten, auf die per Tag zugegriffen werden kann.

MBIM_PIN_TYPE_EX

Die MBIM_PIN_TYPE_EX-Aufzählung wird in der vorherigen MBIM_UICC_FILE_STATUS-Struktur verwendet.

Typ Wert BESCHREIBUNG
MBIMPinTypeNone 0 Es steht keine PIN für die Eingabe aus.
MBIMPinTypeCustom 1 Der PIN-Typ ist ein benutzerdefinierter Typ und keines der anderen IN dieser Enumeration aufgeführten PIN-Typen.
MBIMPinTypePin1 2 Die PIN1-TASTE.
MBIMPinTypePin2 3 Die PIN2-Taste.
MBIMPinTypeDeviceSimPin 4 Das Gerät zum SIM-Schlüssel.
MBIMPinTypeDeviceFirstSimPin 5 Das Gerät zum ersten SIM-Schlüssel.
MBIMPinTypeNetworkPin 6 Der Netzwerkpersonalisierungsschlüssel.
MBIMPinTypeNetworkSubsetPin 7 Der Personalisierungsschlüssel für die Teilmenge des Netzwerks.
MBIMPinTypeServiceProviderPin 8 Der Personalisierungsschlüssel des Dienstanbieters (SP).
MBIMPinTypeCorporatePin 9 Der Personalisierungsschlüssel des Unternehmens.
MBIMPinTypeSubsidyLock 10 Der Subventionsentsperrschlüssel.
MBIMPinTypePuk1 11 Der Entsperrschlüssel 1 (Personal Identification Number 1 Unlock Key, PUK1).
MBIMPinTypePuk2 12 Der Entsperrschlüssel 2 (Personal Identification Number 2 Unlock Key, PUK2).
MBIMPinTypeDeviceFirstSimPuk 13 Das Gerät zum ersten SIM-PIN-Entsperrschlüssel.
MBIMPinTypeNetworkPuk 14 Der Entsperrschlüssel für die Netzwerkpersonalisierung.
MBIMPinTypeNetworkSubsetPuk 15 Der Entsperrschlüssel für die Netzwerkteilmenge für die Personalisierung.
MBIMPinTypeServiceProviderPuk 16 Der Personalisierungsschlüssel des Dienstanbieters (SP).
MBIMPinTypeUnternehmensPuk 17 Der Entsperrschlüssel für die Unternehmenspersonalisierung.
MBIMPinTypeNev 18 Der NEV-Schlüssel.
MBIMPinTypeAdm 19 Der Administrative Schlüssel.

Unerwünschte Ereignisse

Nicht zutreffend.

Statuscodes

Die folgenden Statuscodes sind anwendbar:

Statuscode BESCHREIBUNG
MBIM_STATUS_BUSY Grundlegender MBIM-Status, wie für alle Befehle definiert.
MBIM_STATUS_FAILURE Grundlegender MBIM-Status, wie für alle Befehle definiert.
MBIM_STATUS_SIM_NICHT_EINGESETZT Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC fehlt.
MBIM_STATUS_BAD_SIM Der UICC-Vorgang kann nicht ausgeführt werden, da sich die UICC in einem Fehlerzustand befindet.
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR Die Datei kann nicht ausgewählt werden, da sie nicht freigegeben werden kann und derzeit von einer anderen Anwendung aufgerufen wird. Das von der SIM zurückgegebene Statuswort lautet 6985.

MBIM_CID_MS_UICC_ACCESS_BINARY

Diese CID sendet einen bestimmten Befehl für den Zugriff auf eine UICC-Binärdatei mit dem Strukturtyp MBIMUiccFileStructureTransparent oder MBIMUiccFileStructureBerTLV.

Die Parameter

Vorgang Set Abfrage Benachrichtigung
Befehl Nicht anwendbar MBIM_UICC_Zugriff_Binär Nicht anwendbar
Antwort Nicht anwendbar MBIM_UICC_RESPONSE Nicht anwendbar

Abfrage

Liest eine Binärdatei. Der InformationBuffer für MBIM_COMMAND_MSG enthält eine MBIM_UICC_ACCESS_BINARY-Struktur. Im InformationBuffer von MBIM_COMMAND_DONE wird eine MBIM_UICC_RESPONSE Struktur zurückgegeben.

MBIM_UICC_ACCESS_BINARY (Version 1)

Offset Größe Feld Typ BESCHREIBUNG
0 4 Version UINT32 Die Versionsnummer der folgenden Struktur. Dieses Feld muss für Version 1 dieser Struktur auf 1 festgelegt werden.
4 4 AppIdOffset OFFSET Der Offset in Bytes vom Anfang dieser Struktur bis zum Puffer, der die Anwendungs-ID enthält.
8 4 AppIdSize GRÖßE (0,.16) Die Größe der Anwendungs-ID in Byte gemäß Abschnitt 8.3 der technischen Spezifikation ETSI TS 102 221. Bei 2G-Karten muss dieses Feld auf Null (0) festgelegt werden.
12 4 FilePathOffset OFFSET Der in Bytes angegebene Offset wird vom Anfang dieser Struktur bis zu dem Puffer berechnet, der den Dateipfad enthält. Der Dateipfad ist ein Array von 16-Bit-Datei-IDs. Die erste ID muss entweder 0x7FFF oder 0x3F00sein. Wenn die erste ID 0x7FFFist, ist der Pfad relativ zur ADF der Anwendung, die von AppIdfestgelegt wird. Andernfalls handelt es sich um einen absoluten Pfad ab dem MF.
16 4 FilePathSize GRÖßE Die Größe des Dateipfads in Byte.
20 4 FileOffset UINT32 Der Offset, der beim Lesen aus der Datei verwendet werden soll. Dieses Feld kann größer als 256 sein und kombiniert sowohl offset high als auch offset low, wie in der technischen Spezifikation ETSI TS 102 221definiert.
24 4 NumberOfBytes UINT32 Die Anzahl der zu lesenden Bytes. Beispielsweise könnte ein Clienttreiber diese Funktion verwenden, um eine transparente (binäre) Datei zu lesen, die größer als 256 Bytes ist, obwohl die maximale Menge, die in einem einzelnen UICC-Vorgang gelesen oder geschrieben werden kann, 256 Byte pro ETSI TS 102 221 technische Spezifikation. Es obliegt der Funktion, dies in mehrere APDUs aufzuteilen und das Ergebnis in einer einzigen Antwort zurückzusenden.
28 4 LocalPinOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur bis zum Puffer berechnet wird, der das Kennwort enthält. Dies ist die lokale PIN (PIN2) und wird verwendet, falls für den Vorgang eine lokale PIN-Überprüfung erforderlich ist.
32 4 LocalPinSize GRÖßE (0,.16) Die Größe des Kennworts in Byte.
36 4 BinaryDataOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur bis zum Puffer berechnet wird, der die befehlsspezifischen Daten enthält. Binäre Daten werden nur für SET-Vorgänge verwendet.
40 4 BinäreDatengröße GRÖßE (0,.32768) Die Größe der Daten in Byte.
44 Datenpuffer Datenpuffer Der Datenpuffer mit "AppId", "FilePath", "LocalPin" und "BinaryData".

Set

Nicht zutreffend.

Antwort

Die folgende MBIM_UICC_RESPONSE Struktur wird im InformationBuffer verwendet.

MBIM_UICC_RESPONSE (Version 1)

Offset Größe Feld Typ BESCHREIBUNG
0 4 Version UINT32 Die Versionsnummer der folgenden Struktur. Dieses Feld muss 1 für Version 1 dieser Struktur sein.
4 4 StatusWord1 UINT32(0..256) Ein rückgabespezifischer Parameter für den UICC-Befehl.
8 4 StatusWord2 UINT32(0..256) Ein rückgabespezifischer Parameter für den UICC-Befehl.
12 4 ResponseDataOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur bis zum Puffer berechnet wird, der die Antwortdaten enthält. Die Antwortdaten werden nur für ABFRAGE-Vorgänge verwendet.
16 4 Antwortdatenmenge GRÖßE (0,.32768) Die Größe der Daten in Byte.
20 Datenpuffer Datenpuffer Der Datenpuffer, der ResponseData enthält.

Unerwünschte Ereignisse

Nicht zutreffend.

Statuscodes

Die folgenden Statuscodes sind anwendbar:

Statuscode BESCHREIBUNG
MBIM_STATUS_BUSY Grundlegender MBIM-Status, wie für alle Befehle definiert.
MBIM_STATUS_FAILURE Grundlegender MBIM-Status, wie für alle Befehle definiert.
MBIM_STATUS_SIM_NICHT_EINGESETZT Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC fehlt.
MBIM_STATUS_BAD_SIM Der UICC-Vorgang kann nicht ausgeführt werden, da sich die UICC in einem Fehlerzustand befindet.
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR Die Datei kann nicht ausgewählt werden, da sie nicht freigegeben werden kann und derzeit von einer anderen Anwendung aufgerufen wird. Das von der SIM zurückgegebene Statuswort lautet 6985.
MBIM_STATUS_PIN_FAILURE Fehler beim Vorgang aufgrund eines PIN-Fehlers.

MBIM_CID_MS_UICC_ACCESS_RECORD

Diese CID sendet einen bestimmten Befehl für den Zugriff auf eine lineare, feste oder zyklische UICC-Datei mit dem Strukturtyp MBIMUiccFileStructureCyclic oder MBIMUIccFileStructureLinear.

Die Parameter

Vorgang Set Abfrage Benachrichtigung
Befehl Nicht anwendbar MBIM_UICC_ACCESS_RECORD Nicht anwendbar
Antwort Nicht anwendbar MBIM_UICC_RESPONSE Nicht anwendbar

Abfrage

Liest den Inhalt eines Datensatzes. Der Informationspuffer für MBIM_COMMAND_MSG enthält die folgende MBIM_UICC_ACCESS_RECORD-Struktur. MBIM_UICC_RESPONSE wird im Informationspuffer von MBIM_COMMAND_DONE zurückgegeben.

MBIM_UICC_ACCESS_RECORD (Version 1)

Offset Größe Feld Typ BESCHREIBUNG
0 4 Version UINT32 Die Versionsnummer der folgenden Struktur. Dieses Feld muss für Version 1 dieser Struktur auf 1 festgelegt werden.
4 4 AppIdOffset OFFSET Der Offset in Bytes vom Anfang dieser Struktur bis zum Puffer, der die Anwendungs-ID enthält.
8 4 AppIdSize GRÖßE (0,.16) Die Größe der Anwendungs-ID in Byte gemäß Abschnitt 8.3 der technischen Spezifikation ETSI TS 102 221. Bei 2G-Karten muss dieses Feld auf Null (0) festgelegt werden.
12 4 FilePathOffset OFFSET Der in Bytes angegebene Offset wird vom Anfang dieser Struktur bis zu dem Puffer berechnet, der den Dateipfad enthält. Der Dateipfad ist ein Array von 16-Bit-Datei-IDs. Die erste ID muss entweder 0x7FFF oder 0x3F00sein. Wenn die erste ID 0x7FFFist, ist der Pfad relativ zur ADF der Anwendung, die von AppIdfestgelegt wird. Andernfalls handelt es sich um einen absoluten Pfad ab dem MF.
16 4 FilePathSize GRÖßE Die Größe des Dateipfads in Byte.
20 4 Datensatznummer UINT32(0..256) Die Datensatznummer. Dies stellt den absoluten Datensatzindex jederzeit dar. Der relative Datensatzzugriff wird nicht unterstützt, da das Modem mehrere Zugriffe auf eine Datei ausführen kann (NEXT, PREVIOUS).
24 4 LocalPinOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur bis zum Puffer berechnet wird, der das Kennwort enthält. Das Sperrkennwort ist eine MIT NULL beendete UTF-8-Zeichenfolge von Dezimalziffern.
28 4 LocalPinSize GRÖßE (0,.16) Die Größe des Kennworts in Byte.
32 4 RecordDataOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur bis zum Puffer berechnet wird, der die befehlsspezifischen Daten enthält. Datensatzdaten werden nur für SET-Vorgänge verwendet.
36 4 Aufzeichnungsdatengröße GRÖßE (0..256) Die Größe der Daten in Byte.
40 Datenpuffer Datenpuffer Der Datenpuffer, der AppId, FilePath, LocalPin und RecordData enthält.

Set

Nicht zutreffend.

Antwort

Eine MBIM_UICC_RESPONSE Struktur wird im InformationBuffer verwendet.

Unerwünschte Ereignisse

Nicht zutreffend.

Statuscodes

Die folgenden Statuscodes sind anwendbar:

Statuscode BESCHREIBUNG
MBIM_STATUS_BUSY Grundlegender MBIM-Status, wie für alle Befehle definiert.
MBIM_STATUS_FAILURE Grundlegender MBIM-Status, wie für alle Befehle definiert.
MBIM_STATUS_SIM_NICHT_EINGESETZT Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC fehlt.
MBIM_STATUS_BAD_SIM Der UICC-Vorgang kann nicht ausgeführt werden, da sich die UICC in einem Fehlerzustand befindet.
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR Die Datei kann nicht ausgewählt werden, da sie nicht freigegeben werden kann und derzeit von einer anderen Anwendung aufgerufen wird. Das von der SIM zurückgegebene Statuswort lautet 6985.
MBIM_STATUS_PIN_FAILURE Fehler beim Vorgang aufgrund eines PIN-Fehlers.

MBIM_CID_MS_PIN_EX

Diese CID wird verwendet, um alle PIN-Sicherheitsvorgänge gemäß Abschnitt 9 der technischen Spezifikation ETSI TS 102 221 auszuführen. Die CID ähnelt MBIM_CID_MS_PIN, erweitert sie jedoch, um UICC-Karten mit mehreren Apps zu unterstützen. Nur UICCs mit Einzelverifizierungsfähigkeit werden unterstützt. Multi-Verification-fähige UICCs, die mehr als eine Anwendungs-PIN unterstützen, werden nicht unterstützt. Eine Anwendungs-PIN (PIN1) wird allen ADFs/DFs und Dateien auf dem UICC zugewiesen. Jede Anwendung kann jedoch eine lokale PIN (PIN2) als Überprüfungsanforderung der Ebene 2 angeben, was zu einer zusätzlichen Überprüfung für jeden Zugriffsbefehl führt. Dieses Szenario unterstützt MBIM_CID_MS_PIN_EX.

Genau wie MBIM_CID_MS_PIN meldet das Gerät mit MBIM_CID_MS_PIN_EX jeweils nur eine PIN. Wenn mehrere PINs aktiviert sind und das Melden mehrerer PINs ebenfalls aktiviert ist, müssen Funktionen zuerst PIN1 melden. Wenn beispielsweise die Subventionssperrung aktiviert ist und die PIN1 der SIM eingeschaltet ist, sollte die PIN der Subventionssperrung nur dann in einer späteren Abfrageanforderung gemeldet werden, nachdem PIN1 erfolgreich überprüft wurde. Eine leere PIN ist zusammen mit MBIMPinOperationEnter zulässig. Eine leere PIN wird durch Festlegen der PinSize auf Null angegeben. In diesem Fall ähnelt ein SET-Befehl einer ABFRAGE und gibt den Status der PIN zurück, auf die verwiesen wird. Dies ist vollständig am Verhalten des VERIFY-Befehls ausgerichtet, wie in Abschnitt 11.1.9 der technischen Spezifikation ETSI TS 102 221angegeben.

Die Parameter

Vorgang Set Abfrage Benachrichtigung
Befehl MBIM_SET_PIN_EX MBIM_PIN_APP Nicht anwendbar
Antwort MBIM_PIN_INFO_EX MBIM_PIN_INFO_EX Nicht anwendbar

Abfrage

Die folgende MBIM_PIN_APP Struktur wird im InformationBuffer verwendet.

MBIM_PIN_APP (Version 1)

Offset Größe Feld Typ BESCHREIBUNG
0 4 Version UINT32 Die Versionsnummer der folgenden Struktur. Dieses Feld muss für Version 1 dieser Struktur auf 1 festgelegt werden.
4 4 AppIdOffset OFFSET Der Offset in Bytes vom Anfang dieser Struktur bis zum Puffer, der die Anwendungs-ID enthält.
8 4 AppIdSize GRÖßE (0,.16) Die Größe der Anwendungs-ID in Byte gemäß Abschnitt 8.3 der technischen Spezifikation ETSI TS 102 221. Bei 2G-Karten muss dieses Feld auf Null (0) festgelegt werden.
12 Datenpuffer Datenpuffer Die AppId gemäß der Definition in der technischen Spezifikation ETSI TS 102 221.

Set

Die folgende MBIM_SET_PIN_EX Struktur wird im InformationBuffer verwendet.

MBIM_SET_PIN_EX

Offset Größe Feld Typ BESCHREIBUNG
0 4 PinType MBIM_PIN_TYPE_EX Der PIN-Typ. In der Tabelle MBIM_PIN_TYPE_EX in diesem Thema finden Sie weitere Informationen.
4 4 PinOperation MBIM_PIN_OPERATION Der PIN-Vorgang. Siehe MBIM 1.0.
8 4 PinOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur auf eine Zeichenfolgen-PIN berechnet wird, die den PIN-Wert darstellt, mit dem die Aktion ausgeführt werden soll, oder der PIN-Wert, der zum Aktivieren oder Deaktivieren der PIN-Einstellungen erforderlich ist. Dieses Feld gilt für alle Werte von PinOperation.
12 4 Stiftgröße GRÖßE (0,.32) Die Größe in Byte, die für die PIN verwendet wird.
16 4 NewPinOffset OFFSET Der Offset in Bytes, berechnet vom Anfang dieser Struktur bis zur NewPin-Zeichenfolge, die den neuen PIN-Wert darstellt, der festgelegt werden soll, wenn PinOperation MBIMPinOperationChange oder MBIMPinOperationEnter ist, für PinTypeMBIMPinTypePuk1 oder PinTypeMBIMPinTypePuk2.
20 4 NewPinSize GRÖßE (0,.32) Die Größe in Bytes, die für den "NewPin" verwendet wird.
24 4 AppIdOffset OFFSET Der in Bytes gemessene Offset, der vom Beginn dieser Struktur bis zum Puffer mit der Anwendungs-ID berechnet wird.
28 4 AppIdSize GRÖßE (0,.16) Die Größe der Anwendungs-ID in Byte gemäß Abschnitt 8.3 der technischen Spezifikation ETSI TS 102 221. Bei 2G-Karten muss dieses Feld auf Null (0) festgelegt werden.
32 Datenpuffer Datenpuffer Der Datenpuffer, der die Pin-, NewPin- und AppId-Id enthält.

Antwort

Die folgende MBIM_PIN_INFO_EX Struktur wird im InformationBuffer verwendet.

Offset Größe Feld Typ BESCHREIBUNG
0 4 PinType MBIM_PIN_TYPE_EX Der PIN-Typ. Weitere Informationen finden Sie in der tabelle MBIM_PIN_TYPE_EX in diesem Thema.
4 4 PinState MBIM_PIN_STATE Der PIN-Zustand. Siehe MBIM 1.0.
8 4 Verbleibende Versuche UINT32 Die Anzahl der verbleibenden Versuche für alle PIN-bezogenen Vorgänge, z. B. Eingabe, Aktivierung oder Deaktivieren. Geräte, die diese Informationen nicht unterstützen, müssen dieses Mitglied auf 0xFFFFFFFF festlegen.

Unerwünschte Ereignisse

Nicht zutreffend.

Statuscodes

Die folgenden Statuscodes sind anwendbar:

Statuscode BESCHREIBUNG
MBIM_STATUS_BUSY Grundlegender MBIM-Status, wie für alle Befehle definiert.
MBIM_STATUS_FAILURE Grundlegender MBIM-Status, wie für alle Befehle definiert.
MBIM_STATUS_SIM_NICHT_EINGESETZT Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC fehlt.
MBIM_STATUS_BAD_SIM Der UICC-Vorgang kann nicht ausgeführt werden, da sich die UICC in einem Fehlerzustand befindet.
MBIM_STATUS_PIN_DISABLED Fehler beim Vorgang, da die PIN deaktiviert ist.
MBIM_STATUS_PIN_REQUIRED Fehler beim Vorgang, da eine PIN eingegeben werden muss, um fortzufahren.
MBIM_STATUS_NO_DEVICE_SUPPORT (Kein Gerätesupport) Fehler beim Vorgang, da ein SET auf einem entsprechenden PIN-Typ vom Gerät nicht unterstützt wird.