Freigeben über


MB UICC-Anwendungs- und -Dateisystemzugriff

Übersicht

Dieses Thema spezifiziert eine Erweiterung der Mobile Broadband Interface Model (MBIM)-Schnittstelle, um den Zugriff auf UICC-Chipkartenanwendungen und -Dateisysteme zu ermöglichen. Diese Erweiterung von MBIM ermöglicht den logischen Zugriff auf Anwendungen und Dateisysteme, die mit der technischen Spezifikation ETSI TS 102 221 der UICC konform sind, und wird in Windows 10, Version 1903 und höher unterstützt.

UICC-Zugriff und -Sicherheit

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

Das folgende Diagramm aus Abschnitt 8.1 der technischen Spezifikation ETSI TS 102 221 zeigt ein Beispiel für die Struktur einer Kartenanwendung.

Diagramm, das eine beispielhafte UICC-Anwendungsstruktur zeigt.

Das UICC-Dateisystem kann als eine Gesamtstruktur von Verzeichnisbäumen betrachtet werden. Der veraltete SIM-Baum hat als Root eine Masterdatei (MF) und enthält bis zu zwei Ebenen von Unterverzeichnissen (Dedicated Files oder DFs) mit Elementardateien (EFs), die verschiedene Arten von Informationen enthalten. Die SIM definiert DFs unter der MF, von denen eine, DFTelecom, Informationen enthält, die mehreren Zugriffsarten gemeinsam sind, z. B. das gemeinsame Telefonbuch. Zusätzliche Anwendungen sind als separate Bäume implementiert, von denen jeder in seiner eigenen Anwendungsverzeichnisdatei (ADF) steckt. Jede ADF wird durch einen Anwendungsbezeichner identifiziert, der bis zu 128 Bit lang sein kann. Eine Datei unter dem Root der Karte (EFDir unter dem MF im Diagramm) enthält die Anwendungsnamen und die entsprechenden Bezeichner. Innerhalb eines Baums (der MF oder eines ADF) können DFs und EFs durch einen Pfad von Datei-IDs identifiziert werden, wobei eine Datei-ID eine 16-Bit-Ganzzahl ist.

Erweiterungen der NDIS-Schnittstelle

Die folgenden OIDs wurden definiert, um den Zugriff auf UICC-Anwendungen und -Dateisysteme zu unterstützen.

MBIM-Dienst und CID-Werte

Dienstname UUID UUID-Wert
Microsoft Low-Level-UICC-Zugriff UUID_MS_UICC_LOW_LEVEL C2F6588E-F037-4BC9-8665-F4D44BD09367
Microsoft Basic IP Connectivity Erweiterungen UUID_BASIC_CONNECT_EXTENSIONS 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF

In der folgenden Tabelle finden Sie die UUID und den Befehlscode für jedes CID sowie die Angabe, ob das CID Set-, Query- oder Event (Benachrichtigung)-Anfragen unterstützt. Weitere Informationen zu den Parametern, Datenstrukturen und Benachrichtigungen finden Sie in den einzelnen Abschnitten zu jeder CID in diesem Thema.

CID UUID Befehlscode Set Abfrage Notify
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

Diese CID ruft eine Liste von Anwendungen in einer UICC und Informationen über sie ab. Wenn die UICC im Modem vollständig initialisiert und bereit ist, sich beim Operator zu registrieren, muss eine UICC-Anwendung für die Registrierung ausgewählt werden. Eine Abfrage mit diesem CID sollte die ausgewählte Anwendung im Feld ActiveAppIndex in der als Antwort verwendeten Struktur MBIM_UICC_APP_LIST zurückgeben.

Parameter

Vorgang Set Abfrage Benachrichtigung
Get-Help Nicht zutreffend Empty Nicht zutreffend
Antwort Nicht zutreffend MBIM_UICC_APP_LIST Nicht zutreffend

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)

Abweichung Size Feld Typ Beschreibung
0 4 Version UINT32 Die Versionsnummer der folgenden Struktur. Dieses Feld muss für die 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 im Mobilfunknetz ausgewählt wurde. Dieses Feld muss zwischen 0 und dem AppCount - 1 liegen. Es verweist auf das Array der Anwendungen, die von dieser Antwort zurückgegeben werden. Wenn keine Anwendung für die Registrierung ausgewählt wurde, enthält dieses Feld 0xFFFFFFFF.
12 4 AppListSize UINT32 Die Größe der Daten der App-Liste in Bytes.
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 Paares ist ein 4-Byte-Feld mit der Größe der App-Information.
AppListSize DataBuffer DATABUFFER Ein Array von AppCount * MBIM_UICC_APP_INFO-Strukturen.

MBIM_UICC_APP_INFO

Abweichung Size Feld Typ Beschreibung
0 4 AppType 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 von Bedeutung. Wenn die Anwendungs-ID länger ist als MBIM_MAXLENGTH_APPID Bytes, dann gibt AppIdSize die tatsächliche Länge an, aber nur die ersten MBIM_MAXLENGTH_APPID Bytes sind in diesem Feld. Dieses Feld ist nur gültig, wenn AppType nicht MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM oder MBIMUiccAppTypeMfRUIM ist.
8 4 AppIdSize SIZE (0..16) Die Größe der Anwendungs-ID in Bytes, wie in Abschnitt 8.3 der technischen Spezifikation ETSI TS 102 221 definiert. AppIdSize kann eine Zahl größer als 16 enthalten, aber in diesem Fall befinden sich nur die ersten 16 (MBIM_MAXLENGTH_APPID) Bytes im Datenpuffer. Dieses Feld ist 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 Feldes wird durch AppNameLength festgelegt. 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 ist immer null-terminiert.
16 4 AppNameLength SIZE (0..256) Die Länge des Anwendungsnamens in Bytes. AppNameLength kann eine Zahl gleich oder größer als 256 enthalten, aber in diesen Fällen befinden sich nur die ersten 255 (MBIM_MAXLENGTH_APPNAME - 1) Bytes im Datenpuffer.
20 4 NumPinKeyRefs SIZE (0..8) Die Anzahl der PIN-Schlüsselreferenzen der Anwendung. Mit anderen Worten, die Anzahl der Elemente von PinKeyRef, die gültig sind. Anwendungen auf einem virtuellen R-UIM haben keine PIN-Schlüsselreferenzen.
24 4 KeyRefOffset OFFSET Offset der PinKeyRef im DataBuffer. PinKeyRef ist ein Byte-Array, das die PIN-Schlüsselreferenzen der Anwendung für verschiedene Verifizierungsebenen angibt (Schlüssel für PIN1, PIN2 und möglicherweise eine universelle PIN), wie in Tabelle 9.3 und Abschnitt 9.4.2 der technischen Spezifikation ETSI TS 102 221 definiert. Im Falle einer Karte mit nur einer Verifizierung oder eines MBB-Treibers und/oder -Modems, die keine unterschiedlichen Anwendungsschlüssel für verschiedene Anwendungen unterstützen, muss das erste Byte des Feldes PinKeyRef 0x01 (PIN1) und das zweite Byte 0x81 (PIN2) sein, wie in Abschnitt 9.5.1 von ETSI TS 102 221 beschrieben.
28 4 KeyRefSize SIZE (0..8) Die Größe von PinKeyRef.
32 DataBuffer DATABUFFER Der Datenpuffer, der AppId, AppName und PinKeyRef einer Single-Verification-Karte oder eines MBB-Treibers und/oder Modems enthält, die keine unterschiedlichen Anwendungsschlüssel für verschiedene Anwendungen unterstützen, muss dieses Feld 0x01 sein.

MBIM_UICC_APP_TYPE

Typ Wert Beschreibung
MBIMUiccAppTypeUnknown 0 Unbekannter Typ.
MBIMUiccAppTypeMf 1 Veraltete SIM-Verzeichnisse mit Root auf der MF.
MBIMUiccAppTypeMfSIM 2 Veraltete SIM-Verzeichnisse mit Root auf der DF_GSM.
MBIMUiccAppTypeMfRUIM 3 Veraltete SIM-Verzeichnisse mit Root auf der DF_CDMA.
MBIMUiccAppTypeUSIM 4 USIM-Anwendung.
MBIMUiccAppTypeCSIM 5 CSIM-Anwendung.
MBIMUiccAppTypeISIM 6 ISIM-Anwendung.

Konstanten

Die folgenden Konstanten sind 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

Unaufgeforderte Ereignisse

Nicht zutreffend.

Statuscodes

Die folgenden Status Codes 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 Grundlegender MBIM-Status wie für alle Befehle definiert.
MBIM_STATUS_SIM_NOT_INSERTED Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC nicht vorhanden ist.
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, weil die UICC noch nicht vollständig initialisiert ist.

MBIM_CID_MS_UICC_FILE_STATUS

Dieses CID ruft Informationen über eine bestimmte UICC-Datei ab.

Parameter

Vorgang Set Abfrage Benachrichtigung
Get-Help Nicht zutreffend MBIM_UICC_FILE_PATH Nicht zutreffend
Antwort Nicht zutreffend MBIM_UICC_FILE_STATUS Nicht zutreffend

Abfrage

Der InformationBuffer von MBIM_COMMAND_MSG enthält die Ziel-UICC in Form einer MBIM_UICC_FILE_PATH-Struktur.

MBIM_UICC_FILE_PATH (Version 1)

Abweichung Size 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 Offset in Bytes, berechnet vom Anfang dieser Struktur bis zum Puffer, der die Anwendungs-ID enthält.
8 4 AppIdSize SIZE (0..16) Die Größe der Anwendungs-ID in Bytes, wie in Abschnitt 8.3 der technischen Spezifikation ETSI TS 102 221 definiert. Bei 2G-Karten muss dieses Feld auf Null (0) festgelegt werden.
12 4 FilePathOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur bis zum Puffer, der den Dateipfad enthält, berechnet wird. Der Dateipfad ist ein Array von 16-Bit Datei-IDs. Die erste ID muss entweder 0x7FFF oder 0x3F00 sein. Wenn die erste ID 0x7FFF ist, dann ist der Pfad relativ zum ADF der Anwendung, die durch AppId gekennzeichnet wird. Andernfalls handelt es sich um einen absoluten Pfad, beginnend mit dem MF.
16 4 FilePathSize SIZE (0..8) Die Größe des Dateipfads in Bytes.
20 DataBuffer DATABUFFER 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)

Abweichung Size 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 spezifischer Rückgabeparameter für den UICC-Befehl.
8 4 StatusWord2 UINT32(0..256) Ein spezifischer Rückgabeparameter für den UICC-Befehl.
12 4 FileAccessibility MBIM_UICC_FILE_ACCESSIBILITY Die Zugreifbarkeit der UICC-Datei.
16 4 FileType MBIM_UICC_FILE_TYPE Der UICC-Dateityp.
20 4 FileStructure MBIM_UICC_FILE_STRUCTURE Die Struktur der UICC-Datei.
24 4 ItemCount UINT32 Die Anzahl der Elemente in der UICC-Datei. Für transparente und TLV-Dateien ist dies auf 1 festgelegt.
28 4 Size UINT32 Die Größe der einzelnen Elemente in Bytes. Bei transparenten oder TLV-Dateien ist dies die Größe der gesamten EF. Bei datensatzbasierten Dateien steht dies für die Gesamtzahl der Datensätze.
32 16 FileLockStatus MBIM_PIN_TYPE_EX[4] Ein Array vom Typ MBIM_PIN_TYPE_EX, das die Zugriffsbedingungen für jeden Vorgang (READ, UPDATE, ACTIVATE und DEACTIVATE in dieser Reihenfolge) auf diese Datei beschreibt.

MBIM_UICC_FILE_ACCESSIBILITY

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

Typ Wert Beschreibung
MBIMUiccFileAccessibilityUnknown 0 Gemeinsame Nutzung der Datei unbekannt.
MBIMUiccFileAccessibilityNotShareable 1 Nicht gemeinsam nutzbare Datei.
MBIMUiccFileAccessibilityShareable 2 Gemeinsam nutzbare Datei.

MBIM_UICC_FILE_TYPE

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

Typ Wert Beschreibung
MBIMUiccFileTypeUnknown 0 Dateityp unbekannt.
MBIMUiccFileTypeWorkingEf 1 Arbeits-EF.
MBIMUiccFileTypeInternalEf 2 Interne EF.
MBIMUiccFileTypeDfOrAdf 3 Dedizierte Datei, ein Verzeichnis, das anderen Knoten übergeordnet ist. Dies kann ein DF oder ADF sein.

MBIM_UICC_FILE_STRUCTURE

Die Aufzählung MBIM_UICC_FILE_STRUCTURE wird in der vorangehenden Struktur MBIM_UICC_FILE_STATUS 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, die alle die gleiche Länge haben.
MBIMUiccFileStructureLinear 3 Ein linearer Satz von Datensätzen, jeder mit der gleichen Länge.
MBIMUiccFileStructureBerTLV 4 Ein Satz von Datenwerten, auf die über ein Tag zugegriffen werden kann.

MBIM_PIN_TYPE_EX

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

Typ Wert Beschreibung
MBIMPinTypeNone 0 Es steht keine PIN zur Eingabe an.
MBIMPinTypeCustom 1 Der PIN-Typ ist ein angepasster Typ und keiner der anderen in dieser Aufzählung aufgeführten PIN-Typen.
MBIMPinTypePin1 2 Den PIN1-Schlüssel
MBIMPinTypePin2 3 Den PIN2-Schlüssel
MBIMPinTypeDeviceSimPin 4 Das Gerät zum SIM-Schlüssel.
MBIMPinTypeDeviceFirstSimPin 5 Der Schlüssel vom Gerät zur allerersten SIM-Karte.
MBIMPinTypeNetworkPin 6 Der Schlüssel für die Personalisierung des Netzwerks.
MBIMPinTypeNetworkSubsetPin 7 Der Schlüssel für die Personalisierung der Untermenge des Netzwerks.
MBIMPinTypeServiceProviderPin 8 Der Schlüssel für die Personalisierung des Dienstanbieters (SP).
MBIMPinTypeCorporatePin 9 Der Schlüssel für die Personalisierung des Unternehmens.
MBIMPinTypeSubsidyLock 10 Der Subsidy-Freigabeschlüssel.
MBIMPinTypePuk1 11 Der Personal Identification Number 1 Unlock Key (PUK1).
MBIMPinTypePuk2 12 Der Personal Identification Number 2 Unlock Key (PUK2).
MBIMPinTypeDeviceFirstSimPuk 13 Das Gerät zum allerersten SIM-PIN-Freischaltschlüssel.
MBIMPinTypeNetworkPuk 14 Der Schlüssel zur Entsperrung der persönlichen Networking-Personalisierung.
MBIMPinTypeNetworkSubsetPuk 15 Der Schlüssel zur Entsperrung der persönlichen Untermenge des Netzwerks.
MBIMPinTypeServiceProviderPuk 16 Der Schlüssel zur Entsperrung der persönlichen Daten des Dienstanbieters (SP).
MBIMPinTypeCorporatePuk 17 Der Schlüssel zur Entsperrung der persönlichen Daten des Unternehmens.
MBIMPinTypeNev 18 Den NEV-Schlüssel
MBIMPinTypeAdm 19 Der administrative Schlüssel.

Unaufgeforderte Ereignisse

Nicht zutreffend.

Statuscodes

Die folgenden Status Codes 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_NOT_INSERTED Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC nicht vorhanden ist.
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, weil sie nicht gemeinsam genutzt werden kann und gerade von einer anderen Anwendung zugegriffen wird. Das von der SIM zurückgegebene Statuswort lautet 6985.

MBIM_CID_MS_UICC_ACCESS_BINARY

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

Parameter

Vorgang Set Abfrage Benachrichtigung
Get-Help Nicht zutreffend MBIM_UICC_ACCESS_BINARY Nicht zutreffend
Antwort Nicht zutreffend MBIM_UICC_RESPONSE Nicht zutreffend

Abfrage

Liest eine Binardatei. Der InformationBuffer für MBIM_COMMAND_MSG enthält eine Struktur MBIM_UICC_ACCESS_BINARY. Eine MBIM_UICC_RESPONSE-Struktur wird im InformationBuffer von MBIM_COMMAND_DONE zurückgegeben.

MBIM_UICC_ACCESS_BINARY (Version 1)

Abweichung Size Feld Typ Beschreibung
0 4 Version UINT32 Die Versionsnummer der folgenden Struktur. Dieses Feld muss für die Version 1 dieser Struktur auf 1 festgelegt werden.
4 4 AppIdOffset OFFSET Der Offset in Bytes vom Anfang dieser Struktur zum Puffer, der die Anwendungs-ID enthält.
8 4 AppIdSize SIZE (0..16) Die Größe der Anwendungs-ID in Bytes, wie in Abschnitt 8.3 der technischen Spezifikation ETSI TS 102 221 definiert. Bei 2G-Karten muss dieses Feld auf Null (0) festgelegt werden.
12 4 FilePathOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur bis zum Puffer, der den Dateipfad enthält, berechnet wird. Der Dateipfad ist ein Array von 16-Bit Datei-IDs. Die erste ID muss entweder 0x7FFF oder 0x3F00 sein. Wenn die erste ID 0x7FFF ist, dann ist der Pfad relativ zum ADF der Anwendung, die durch AppId gekennzeichnet wird. Andernfalls handelt es sich um einen absoluten Pfad, beginnend mit dem MF.
16 4 FilePathSize SIZE Die Größe des Dateipfads in Bytes.
20 4 FileOffset UINT32 Der Offset, der beim Lesen aus der Datei verwendet wird. 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 221 definiert.
24 4 NumberOfBytes UINT32 Die Anzahl der zu lesenden Bytes. Ein Client-Treiber könnte diese Funktion beispielsweise verwenden, um eine transparente (binäre) Datei zu lesen, die größer als 256 Byte ist, obwohl die maximale Menge, die in einem einzelnen UICC-Vorgang gelesen oder geschrieben werden kann, gemäß der ETSI TS 102 221 technischen Spezifikation 256 Byte beträgt. Es liegt in der Verantwortung 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, der das Kennwort enthält, berechnet wird. Dies ist die lokale PIN (PIN2) und wird verwendet, falls der Vorgang eine lokale PIN-Validierung erfordert.
32 4 LocalPinSize SIZE (0..16) Die Größe des Kennworts, in Bytes.
36 4 BinaryDataOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur bis zum Puffer mit den befehlsspezifischen Daten berechnet wird. Binäre Daten werden nur für SET-Vorgänge verwendet.
40 4 BinaryDataSize SIZE (0..32768) Die Größe der Daten, in Bytes.
44 DataBuffer DATABUFFER 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)

Abweichung Size 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 spezifischer Rückgabeparameter für den UICC-Befehl.
8 4 StatusWord2 UINT32(0..256) Ein spezifischer Rückgabeparameter für den UICC-Befehl.
12 4 ResponseDataOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur bis zum Puffer, der die Antwortdaten enthält, berechnet wird. Die Antwortdaten werden nur für Abfragevorgänge verwendet.
16 4 ResponseDataSize SIZE (0..32768) Die Größe der Daten, in Bytes.
20 DataBuffer DATABUFFER Der Datenpuffer, der ResponseData enthält.

Unaufgeforderte Ereignisse

Nicht zutreffend.

Statuscodes

Die folgenden Status Codes 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_NOT_INSERTED Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC nicht vorhanden ist.
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, weil sie nicht gemeinsam genutzt werden kann und gerade von einer anderen Anwendung zugegriffen wird. Das von der SIM zurückgegebene Statuswort lautet 6985.
MBIM_STATUS_PIN_FAILURE Der Vorgang ist aufgrund eines PIN-Fehlers fehlgeschlagen.

MBIM_CID_MS_UICC_ACCESS_RECORD

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

Parameter

Vorgang Set Abfrage Benachrichtigung
Get-Help Nicht zutreffend MBIM_UICC_ACCESS_RECORD Nicht zutreffend
Antwort Nicht zutreffend MBIM_UICC_RESPONSE Nicht zutreffend

Abfrage

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

MBIM_UICC_ACCESS_RECORD (Version 1)

Abweichung Size Feld Typ Beschreibung
0 4 Version UINT32 Die Versionsnummer der folgenden Struktur. Dieses Feld muss für die Version 1 dieser Struktur auf 1 festgelegt werden.
4 4 AppIdOffset OFFSET Der Offset in Bytes vom Anfang dieser Struktur zum Puffer, der die Anwendungs-ID enthält.
8 4 AppIdSize SIZE (0..16) Die Größe der Anwendungs-ID in Bytes, wie in Abschnitt 8.3 der technischen Spezifikation ETSI TS 102 221 definiert. Bei 2G-Karten muss dieses Feld auf Null (0) festgelegt werden.
12 4 FilePathOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur bis zum Puffer, der den Dateipfad enthält, berechnet wird. Der Dateipfad ist ein Array von 16-Bit Datei-IDs. Die erste ID muss entweder 0x7FFF oder 0x3F00 sein. Wenn die erste ID 0x7FFF ist, dann ist der Pfad relativ zum ADF der Anwendung, die durch AppId gekennzeichnet wird. Andernfalls handelt es sich um einen absoluten Pfad, beginnend mit dem MF.
16 4 FilePathSize SIZE Die Größe des Dateipfads in Bytes.
20 4 RecordNumber UINT32(0..256) Die Nummer des Datensatzes. Dies ist der absolute Datensatz-Index zu jedem Zeitpunkt. Ein relativer Zugriff auf einen Datensatz wird nicht unterstützt, da das Modem mehrere Zugriffe auf eine Datei durchführen kann (NEXT, PREVIOUS).
24 4 LocalPinOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur bis zum Puffer, der das Kennwort enthält, berechnet wird. Das Kennwort für die Sperre ist eine nullterminierte UTF-8 -eichenfolge mit Dezimalziffern.
28 4 LocalPinSize SIZE (0..16) Die Größe des Kennworts, in Bytes.
32 4 RecordDataOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur bis zum Puffer mit den befehlsspezifischen Daten berechnet wird. Datensätze werden nur für SET-Vorgänge verwendet.
36 4 RecordDataSize SIZE (0..256) Die Größe der Daten, in Bytes.
40 DataBuffer DATABUFFER Der Datenpuffer mit AppId, FilePath, LocalPin und RecordData.

Set

Nicht zutreffend.

Antwort

Eine MBIM_UICC_RESPONSE Struktur wird im InformationBuffer verwendet.

Unaufgeforderte Ereignisse

Nicht zutreffend.

Statuscodes

Die folgenden Status Codes 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_NOT_INSERTED Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC nicht vorhanden ist.
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, weil sie nicht gemeinsam genutzt werden kann und gerade von einer anderen Anwendung zugegriffen wird. Das von der SIM zurückgegebene Statuswort lautet 6985.
MBIM_STATUS_PIN_FAILURE Der Vorgang ist aufgrund eines PIN-Fehlers fehlgeschlagen.

MBIM_CID_MS_PIN_EX

Dieses CID wird zur Durchführung aller PIN-Sicherheitsvorgänge gemäß Abschnitt 9 der technischen Spezifikation ETSI TS 102 221 verwendet. Der CID ähnelt dem MBIM_CID_MS_PIN, erweitert ihn aber um die Unterstützung von Multi-App-UICC-Karten. Es werden nur Single-Verification-fähige UICCs unterstützt. Multi-Verifizierungs-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 der UICC zugewiesen. Jede Anwendung kann jedoch eine lokale PIN (PIN2) als Anforderung zur Verifizierung des Benutzers auf Ebene 2 angeben, was dazu führt, dass für jeden Zugriffsbefehl eine zusätzliche Validierung erforderlich ist. Dieses Szenario wird von MBIM_CID_MS_PIN_EX unterstützt.

Genau wie bei MBIM_CID_MS_PIN meldet das Gerät auch bei MBIM_CID_MS_PIN_EX jeweils nur eine PIN. Wenn mehrere PINs aktiviert sind und das Reporting mehrerer PINs ebenfalls aktiviert ist, müssen die Funktionen zuerst PIN1 melden. Wenn z. B. das Reporting der Subsidy-Sperre aktiviert ist und die PIN1 der SIM aktiviert ist, sollte die PIN der Subsidy-Sperre in einer nachfolgenden Abfrage erst gemeldet werden, nachdem PIN1 erfolgreich verifiziert wurde. Eine leere PIN ist zusammen mit MBIMPinOperationEnter zulässig. Eine leere PIN wird angegeben, indem die PinSize auf Null festgelegt wird. In diesem Fall ähnelt ein SET-Befehl einer Abfrage und gibt den Status der referenzierten PIN zurück. Dies entspricht vollständig dem Verhalten des VERIFY-Befehls, wie er in Abschnitt 11.1.9 der technischen Spezifikation ETSI TS 102 221 beschrieben ist.

Parameter

Vorgang Set Abfrage Benachrichtigung
Get-Help MBIM_SET_PIN_EX MBIM_PIN_APP Nicht zutreffend
Antwort MBIM_PIN_INFO_EX MBIM_PIN_INFO_EX Nicht zutreffend

Abfrage

Die folgende Struktur MBIM_PIN_APP wird im InformationBuffer verwendet.

MBIM_PIN_APP (Version 1)

Abweichung Size Feld Typ Beschreibung
0 4 Version UINT32 Die Versionsnummer der folgenden Struktur. Dieses Feld muss für die Version 1 dieser Struktur auf 1 festgelegt werden.
4 4 AppIdOffset OFFSET Der Offset in Bytes vom Anfang dieser Struktur zum Puffer, der die Anwendungs-ID enthält.
8 4 AppIdSize SIZE (0..16) Die Größe der Anwendungs-ID in Bytes, wie in Abschnitt 8.3 der technischen Spezifikation ETSI TS 102 221 definiert. Bei 2G-Karten muss dieses Feld auf Null (0) festgelegt werden.
12 DataBuffer DATABUFFER Die AppId, wie in der technischen Spezifikation ETSI TS 102 221 definiert.

Set

Die folgende Struktur MBIM_SET_PIN_EX wird im InformationBuffer verwendet.

MBIM_SET_PIN_EX

Abweichung Size Feld Typ Beschreibung
0 4 PinType MBIM_PIN_TYPE_EX Der PIN-Typ. Siehe die Tabelle MBIM_PIN_TYPE_EX in diesem Thema.
4 4 PinOperation MBIM_PIN_OPERATION Der PIN-Vorgang. Siehe MBIM 1.0.
8 4 PinOffset OFFSET Der vom Anfang dieser Struktur berechnete Offset in Bytes zu einer Zeichenfolge PIN, die den PIN-Wert darstellt, mit dem die Aktion durchgeführt werden soll, oder der PIN-Wert, der zum Aktivieren oder Deaktivieren der PIN-Einstellungen festgelegt wurde. Dieses Feld gilt für alle Werte von PinOperation.
12 4 PinSize SIZE (0..32) Die Größe in Bytes, die für die PIN verwendet wird.
16 4 NewPinOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur bis zur Zeichenfolge NewPin berechnet wird, die den neuen PIN-Wert darstellt, der festgelegt wird, wenn PinOperation MBIMPinOperationChange oder MBIMPinOperationEnter ist, für PinTypeMBIMPinTypePuk1 oder PinTypeMBIMPinTypePuk2.
20 4 NewPinSize SIZE (0..32) Die Größe in Bytes, die für den NewPin verwendet wird.
24 4 AppIdOffset OFFSET Der Offset in Bytes, berechnet vom Anfang dieser Struktur bis zum Puffer, der die Anwendungs-ID enthält.
28 4 AppIdSize SIZE (0..16) Die Größe der Anwendungs-ID in Bytes, wie in Abschnitt 8.3 der technischen Spezifikation ETSI TS 102 221 definiert. Bei 2G-Karten muss dieses Feld auf Null (0) festgelegt werden.
32 DataBuffer DATABUFFER Der Datenpuffer, der den Pin, NewPin und AppId enthält.

Antwort

Die folgende Struktur MBIM_PIN_INFO_EX wird im InformationBuffer verwendet.

Abweichung Size Feld Typ Beschreibung
0 4 PinType MBIM_PIN_TYPE_EX Der PIN-Typ. Siehe die Tabelle MBIM_PIN_TYPE_EX in diesem Thema.
4 4 PinState MBIM_PIN_STATE Der PIN-Status. Siehe MBIM 1.0.
8 4 RemainingAttempts UINT32 Die Anzahl der verbleibenden Versuche für alle PIN-bezogenen Vorgänge wie Eingabe, Aktivierung oder Deaktivierung. Geräte, die diese Informationen nicht unterstützen, müssen dieses Element auf 0xFFFFFFFF festlegen.

Unaufgeforderte Ereignisse

Nicht zutreffend.

Statuscodes

Die folgenden Status Codes 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_NOT_INSERTED Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC nicht vorhanden ist.
MBIM_STATUS_BAD_SIM Der UICC-Vorgang kann nicht ausgeführt werden, da sich die UICC in einem Fehlerzustand befindet.
MBIM_STATUS_PIN_DISABLED Der Vorgang ist fehlgeschlagen, weil die PIN deaktiviert ist.
MBIM_STATUS_PIN_REQUIRED Der Vorgang ist fehlgeschlagen, weil eine PIN eingegeben werden muss, um fortzufahren.
MBIM_STATUS_NO_DEVICE_SUPPORT Der Vorgang ist fehlgeschlagen, weil ein SET auf einen entsprechenden PIN-Typ von dem Gerät nicht unterstützt wird.