Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ü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.
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.
- OID_WWAN_UICC_APP_LIST
- OID_WWAN_UICC_FILE_STATUS
- OID_WWAN_UICC_ACCESS_BINARY
- OID_WWAN_UICC_ACCESS_RECORD
- OID_WWAN_PIN_EX2
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. |