Mb UICC application and file system access (Accesso all'applicazione UICC MB e al file system)

Panoramica

Questo argomento specifica un'estensione per l'interfaccia MBIM (Mobile Broadband Interface Model) per consentire l'accesso all'applicazione e ai file system della smart card UICC. Questa estensione a MBIM espone l'accesso logico alle applicazioni e ai file system conformi alle specifiche tecniche di ETSI TS 102 221 di UICC ed è supportato in Windows 10, versione 1903 e successive.

Accesso e sicurezza UICC

UICC fornisce un file system e supporta un set di applicazioni che possono essere eseguite simultaneamente. Questi includono USIM per UMTS, CSIM per CDMA e ISIM per IMS. La SIM è una parte legacy dell'UICC che può essere modellata come una di queste applicazioni (per GSM).

Il diagramma seguente della sezione 8.1 della specifica tecnica ETSI TS 102 221 mostra una struttura di applicazione scheda di esempio.

Diagramma che mostra una struttura dell'applicazione UICC di esempio.

Il file system UICC può essere considerato come una foresta di alberi delle directory. L'albero SIM legacy è radicato in un file master (MF) e contiene fino a due livelli di sottodirectory (File dedicati o DFS) contenenti file elementali (EFS) che contengono vari tipi di informazioni. La SIM definisce le DFS in MF, una delle quali, DFTelecom, contiene informazioni comuni a più tipi di accesso, ad esempio la rubrica telefonica comune. Le applicazioni aggiuntive vengono implementate in modo efficace come alberi separati, ognuna radicata nel proprio file di directory dell'applicazione . Ogni ADF è identificato da un identificatore di applicazione che può avere una lunghezza fino a 128 bit. Un file nella radice della scheda (EFDir sotto mf nel diagramma) contiene i nomi dell'applicazione e gli identificatori corrispondenti. All'interno di un albero (MF o ADF), le funzioni di data factory e gli EFS possono essere identificate da un percorso di ID file, in cui un ID file è un numero intero a 16 bit.

Estensioni dell'interfaccia NDIS

Sono stati definiti gli OID seguenti per supportare l'accesso all'applicazione UICC e al file system.

Valori del servizio MBIM e del CID

Nome del servizio UUID Valore UUID
Microsoft Low-Level UICC Access UUID_MS_UICC_LOW_LEVEL C2F6588E-F037-4BC9-8665-F4D44BD09367
Estensioni di connettività IP di base Di Microsoft UUID_BASIC_CONNECT_EXTENSIONS 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF

La tabella seguente specifica l'UUID e il codice di comando per ogni CID, nonché se il CID supporta le richieste Set, Query o Event (notification). Per altre informazioni sui parametri, sulle strutture di dati e sulle notifiche, vedere la sezione individuale di ogni CID all'interno di questo argomento.

CID UUID Codice del comando Set Query Notifica
MBIM_CID_MS_UICC_APP_LIST UUID_MS_UICC_LOW_LEVEL 7 N S N
MBIM_CID_MS_UICC_FILE_STATUS UUID_MS_UICC_LOW_LEVEL 8 N S N
MBIM_CID_MS_UICC_ACCESS_BINARY UUID_MS_UICC_LOW_LEVEL 9 S S N
MBIM_CID_MS_UICC_ACCESS_RECORD UUID_MS_UICC_LOW_LEVEL 10 S S N
MBIM_CID_MS_PIN_EX UUID_BASIC_CONNECT_EXTENSIONS 14 S S N

MBIM_CID_MS_UICC_APP_LIST

Questo CID recupera un elenco di applicazioni in un UICC e le relative informazioni. Quando uiCC nel modem è completamente inizializzato e pronto per la registrazione con l'operatore di telefonia mobile, è necessario selezionare un'applicazione UICC per la registrazione e una query con questo CID deve restituire l'applicazione selezionata nel campo ActiveAppIndex nella struttura MBIM_UICC_APP_LIST utilizzata in risposta.

Parametri

Operazione Set Query Notifica
Comando Non applicabile Empty Non applicabile
Risposta Non applicabile MBIM_UICC_APP_LIST Non applicabile

Query

InformationBuffer di MBIM_COMMAND_MSG è vuoto.

Set

Non applicabile.

Risposta

InformationBuffer in MBIM_COMMAND_DONE contiene la struttura di MBIM_UICC_APP_LIST seguente.

MBIM_UICC_APP_LIST (versione 1)

Offset Dimensione Campo Tipo Descrizione
0 4 Versione UINT32 Numero di versione della struttura che segue. Questo campo deve essere impostato su 1 per la versione 1 di questa struttura.
4 4 AppCount UINT32 Numero di strutture dell'applicazione UICC MBIM_UICC_APP_INFO restituite in questa risposta.
8 4 ActiveAppIndex UINT32(0..NumApp - 1) Indice dell'applicazione selezionata dal modem per la registrazione con la rete mobile. Questo campo deve essere compreso tra 0 e AppCount - 1. Indicizza la matrice di applicazioni restituite da questa risposta. Se non è selezionata alcuna applicazione per la registrazione, questo campo contiene 0xFFFFFFFF.
12 4 AppListSize UINT32 Dimensioni dei dati dell'elenco di app, in byte.
8*AppCount AppList OL_PAIR_LIST Il primo elemento della coppia è un campo a 4 byte con offset di informazioni su un'app in DataBuffer. Il secondo elemento della coppia è un campo a 4 byte con le dimensioni delle informazioni sull'app.
AppListSize DataBuffer DATABUFFER Matrice di strutture appCount * MBIM_UICC_APP_INFO .

MBIM_UICC_APP_INFO

Offset Dimensione Campo Tipo Descrizione
0 4 AppType MBIM_UICC_APP_TYPE Tipo dell'applicazione UICC.
4 4 AppIdOffset OFFSET Offset per l'ID applicazione nel databuffer. Solo i primi byte Di AppIdSize sono significativi. Se l'ID applicazione è più lungo di MBIM_MAXLENGTH_APPID byte, AppIdSize specifica la lunghezza effettiva, ma solo il primo MBIM_MAXLENGTH_APPID byte si trova in questo campo. Questo campo è valido solo quando AppType non è MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM o MBIMUiccAppTypeMfRUIM.
8 4 AppIdSize DIMENSIONI (0,.16) Dimensioni dell'ID applicazione, in byte, come definito nella sezione 8.3 della specifica tecnica ETSI TS 102 221. AppIdSize può contenere un numero maggiore di 16, ma in questo caso solo i primi 16 byte (MBIM_MAXLENGTH_APPID) si trovano nel databuffer. Questo campo è impostato su zero per i tipi di app MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM o MBIMUiccAppTypeMfRUIM.
12 AppNameOffset OFFSET Offset per il nome dell'applicazione nel databuffer. Stringa UTF-8 che specifica il nome dell'applicazione. La lunghezza di questo campo viene specificata da AppNameLength. Se la lunghezza è maggiore o uguale a MBIM_MAXLENGTH_APPNAME byte, questo campo contiene il primo MBIM_MAXLENGTH_APPNAME - 1 byte del nome. La stringa è sempre con terminazione Null.
16 4 AppNameLength DIMENSIONI (0,.256) Lunghezza, in byte, del nome dell'applicazione. AppNameLength può contenere un numero uguale o maggiore di 256, ma in questi casi solo i primi 255 byte (MBIM_MAXLENGTH_APPNAME - 1) si trovano nel databuffer.
20 4 NumPinKeyRefs DIMENSIONI (0,8) Numero di riferimenti alla chiave PIN dell'applicazione. In altre parole, il numero di elementi di PinKeyRef validi. Le applicazioni in un R-UIM virtuale non dispongono di riferimenti alla chiave PIN.
24 4 KeyRefOffset OFFSET Offset di PinKeyRef in DataBuffer. PinKeyRef è una matrice di byte che specifica i riferimenti alla chiave PIN dell'applicazione per diversi livelli di verifica (chiavi per PIN1, PIN2 ed eventualmente un PIN universale), come definito nella tabella 9.3 e nella sezione 9.4.2 della specifica tecnica ETSI TS 102 221. Nel caso di una scheda di verifica singola o di un driver MBB e/o modem che non supporta chiavi dell'applicazione diverse per applicazioni diverse, il primo byte del campo PinKeyRef deve essere 0x01 (PIN1) e il secondo byte deve essere 0x81 (PIN2), come descritto nella sezione 9.5.1 di ETSI TS 102 221.
28 4 KeyRefSize DIMENSIONI (0,8) Dimensioni di PinKeyRef.
32 DataBuffer DATABUFFER Il buffer di dati contenente AppId, AppName e PinKeyRef.of una scheda di verifica singola o un driver MBB e/o un modem che non supporta chiavi dell'applicazione diverse per applicazioni diverse, questo campo deve essere 0x01.

MBIM_UICC_APP_TYPE

Type valore Descrizione
MBIMUiccAppTypeUnknown 0 Tipo sconosciuto.
MBIMUiccAppTypeMf 1 Directory SIM legacy radicate in MF.
MBIMUiccAppTypeMfSIM 2 Directory SIM legacy radicate nel DF_GSM.
MBIMUiccAppTypeMfRUIM 3 Directory SIM legacy rooted nel DF_CDMA.
MBIMUiccAppTypeUSIM 4 Applicazione USIM.
MBIMUiccAppTypeCSIM 5 Applicazione CSIM.
MBIMUiccAppTypeISIM 6 Applicazione ISIM.

Costanti

Per MBIM_CID_MS_UICC_APP_INFO vengono definite le costanti seguenti.

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

Eventi non richiesti

Non applicabile.

Codici di stato

Sono applicabili i codici di stato seguenti:

Codice stato Descrizione
MBIM_STATUS_SUCCESS Stato MBIM di base, come definito per tutti i comandi.
MBIM_STATUS_BUSY Stato MBIM di base, come definito per tutti i comandi.
MBIM_STATUS_FAILURE Stato MBIM di base, come definito per tutti i comandi.
MBIM_STATUS_NO_DEVICE_SUPPORT Stato MBIM di base, come definito per tutti i comandi.
MBIM_STATUS_SIM_NOT_INSERTED Impossibile eseguire l'operazione UICC perché UICC non è presente.
MBIM_STATUS_BAD_SIM Impossibile eseguire l'operazione UICC perché UICC si trova in uno stato di errore.
MBIM_STATUS_NOT_INITIALIZED Impossibile eseguire l'operazione UICC perché UICC non è ancora completamente inizializzato.

MBIM_CID_MS_UICC_FILE_STATUS

Questo CID recupera informazioni su un file UICC specificato.

Parametri

Operazione Set Query Notifica
Comando Non applicabile MBIM_UICC_FILE_PATH Non applicabile
Risposta Non applicabile MBIM_UICC_FILE_STATUS Non applicabile

Query

InformationBuffer di MBIM_COMMAND_MSG contiene ef di destinazione come struttura MBIM_UICC_FILE_PATH.

MBIM_UICC_FILE_PATH (versione 1)

Offset Dimensione Campo Tipo Descrizione
0 4 Versione UINT32 Numero di versione della struttura che segue. Questo campo deve essere 1 per la versione 1 di questa struttura.
4 4 AppIdOffset OFFSET Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente l'ID applicazione.
8 4 AppIdSize DIMENSIONI (0,.16) Dimensioni dell'ID applicazione, in byte, come definito nella sezione 8.3 della specifica tecnica ETSI TS 102 221. Per le schede 2G, questo campo deve essere impostato su zero (0).
12 4 FilePathOffset OFFSET Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente il percorso del file. Il percorso del file è una matrice di ID file a 16 bit. Il primo ID deve essere 0x7FFF o 0x3F00. Se il primo ID è 0x7FFF, il percorso è relativo all'ADF dell'applicazione desginata da AppId. In caso contrario, si tratta di un percorso assoluto a partire dalla MF.
16 4 FilePathSize DIMENSIONI (0,8) Dimensioni in byte del percorso del file.
20 DataBuffer DATABUFFER Buffer di dati contenente AppId e FilePath.

Set

Non applicabile.

Risposta

Nella struttura InformationBuffer viene utilizzata la struttura di MBIM_UICC_FILE_STATUS seguente.

MBIM_UICC_FILE_STATUS (versione 1)

Offset Dimensione Campo Tipo Descrizione
0 4 Versione UINT32 Numero di versione della struttura che segue. Questo campo deve essere 1 per la versione 1 di questa struttura.
4 4 StatusWord1 UINT32(0..256) Parametro restituito specifico del comando UICC.
8 4 StatusWord2 UINT32(0..256) Parametro restituito specifico del comando UICC.
12 4 FileAccessibility MBIM_UICC_FILE_ACCESSIBILITY Accessibilità del file UICC.
16 4 FileType MBIM_UICC_FILE_TYPE Tipo di file UICC.
20 4 FileStructure MBIM_UICC_FILE_STRUCTURE Struttura del file UICC.
24 4 ItemCount UINT32 Numero di elementi nel file UICC. Per i file transparent e TLV, questo valore è impostato su 1.
28 4 Dimensione UINT32 Dimensioni di ogni elemento, in byte. Per i file transparent o TLV, si tratta delle dimensioni dell'intero ef. Per i file basati su record, rappresenta il numero totale di record.
32 16 FileLockStatus MBIM_PIN_TYPE_EX[4] Matrice di tipo MBIM_PIN_TYPE_EX che descrive la condizione di accesso per ogni operazione (READ, UPDATE, ACTIVATE e DEACTIVATE in tale ordine) nel file.

MBIM_UICC_FILE_ACCESSIBILITY

L'enumerazione MBIM_UICC_FILE_ACCESSIBILITY viene utilizzata nella struttura di MBIM_UICC_FILE_STATUS precedente.

Type valore Descrizione
MBIMUiccFileAccessibilityUnknown 0 Condivisione file sconosciuta.
MBIMUiccFileAccessibilityNotShareable 1 File non condivisibile.
MBIMUiccFileAccessibilityShareable 2 File condivisibile.

MBIM_UICC_FILE_TYPE

L'enumerazione MBIM_UICC_FILE_TYPE viene utilizzata nella struttura MBIM_UICC_FILE_STATUS precedente.

Type valore Descrizione
MBIMUiccFileTypeUnknown 0 Tipo di file sconosciuto.
MBIMUiccFileTypeWorkingEf 1 Ef funzionante.
MBIMUiccFileTypeInternalEf 2 Entity Framework interno.
MBIMUiccFileTypeDfOrAdf 3 File dedicato, una directory padre di altri nodi. Può trattarsi di una funzione definita dall'utente o di Azure Data Factory.

MBIM_UICC_FILE_STRUCTURE

L'enumerazione MBIM_UICC_FILE_STRUCTURE viene utilizzata nella struttura di MBIM_UICC_FILE_STATUS precedente.

Type valore Descrizione
MBIMUiccFileStructureUnknown 0 Struttura di file sconosciuta.
MBIMUiccFileStructureTransparent 1 Singolo record di lunghezza variabile.
MBIMUiccFileStructureCyclic 2 Set ciclico di record, ognuno con la stessa lunghezza.
MBIMUiccFileStructureLinear 3 Set lineare di record, ognuno della stessa lunghezza.
MBIMUiccFileStructureBerTLV 4 Set di valori di dati accessibili tramite tag.

MBIM_PIN_TYPE_EX

L'enumerazione MBIM_PIN_TYPE_EX viene utilizzata nella struttura MBIM_UICC_FILE_STATUS precedente.

Type valore Descrizione
MBIMPinTypeNone 0 Nessun PIN in sospeso da immettere.
MBIMPinTypeCustom 1 Il tipo di PIN è un tipo personalizzato ed è nessuno degli altri tipi di PIN elencati in questa enumerazione.
MBIMPinTypePin1 2 Tasto PIN1.
MBIMPinTypePin2 3 Tasto PIN2.
MBIMPinTypeDeviceSimPin 4 Il dispositivo per la chiave SIM.
MBIMPinTypeDeviceFirstSimPin 5 Il dispositivo fino al primo tasto SIM.
MBIMPinTypeNetworkPin 6 Chiave di personalizzazione di rete.
MBIMPinTypeNetworkSubsetPin 7 Chiave di personalizzazione del subset di rete.
MBIMPinTypeServiceProviderPin 8 Chiave di personalizzazione del provider di servizi (SP).
MBIMPinTypeCorporatePin 9 Chiave di personalizzazione aziendale.
MBIMPinTypeSubsidyLock 10 Chiave di sblocco della sovvenzione.
MBIMPinTypePuk1 11 Chiave di sblocco PUK1 (Personal Identification Number 1).
MBIMPinTypePuk2 12 Chiave di sblocco del numero di identificazione personale 2 (PUK2).
MBIMPinTypeDeviceFirstSimPuk 13 Il dispositivo per la prima chiave di sblocco del PIN SIM.
MBIMPinTypeNetworkPuk 14 Chiave di sblocco della personalizzazione di rete.
MBIMPinTypeNetworkSubsetPuk 15 Chiave di sblocco della personalizzazione del subset di rete.
MBIMPinTypeServiceProviderPuk 16 Chiave di sblocco della personalizzazione del provider di servizi (SP).
MBIMPinTypeCorporatePuk 17 Chiave di sblocco della personalizzazione aziendale.
MBIMPinTypeNev 18 Tasto NEV.
MBIMPinTypeAdm 19 Chiave amministrativa.

Eventi non richiesti

Non applicabile.

Codici di stato

Sono applicabili i codici di stato seguenti:

Codice stato Descrizione
MBIM_STATUS_BUSY Stato MBIM di base, come definito per tutti i comandi.
MBIM_STATUS_FAILURE Stato MBIM di base, come definito per tutti i comandi.
MBIM_STATUS_SIM_NOT_INSERTED Impossibile eseguire l'operazione UICC perché UICC non è presente.
MBIM_STATUS_BAD_SIM Impossibile eseguire l'operazione UICC perché UICC si trova in uno stato di errore.
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR Impossibile selezionare il file perché non è condivisibile ed è attualmente accessibile da un'altra applicazione. La parola di stato restituita dalla SIM è 6985.

MBIM_CID_MS_UICC_ACCESS_BINARY

Questo CID invia un comando specifico per accedere a un file binario UICC, con tipo di struttura MBIMUiccFileStructureTransparent o MBIMUiccFileStructureBerTLV.

Parametri

Operazione Set Query Notifica
Comando Non applicabile MBIM_UICC_ACCESS_BINARY Non applicabile
Risposta Non applicabile MBIM_UICC_RESPONSE Non applicabile

Query

Legge un file binario. InformationBuffer per MBIM_COMMAND_MSG contiene una struttura MBIM_UICC_ACCESS_BINARY. Una struttura MBIM_UICC_RESPONSE viene restituita nell'oggetto InformationBuffer di MBIM_COMMAND_DONE.

MBIM_UICC_ACCESS_BINARY (versione 1)

Offset Dimensione Campo Tipo Descrizione
0 4 Versione UINT32 Numero di versione della struttura che segue. Questo campo deve essere impostato su 1 per la versione 1 di questa struttura.
4 4 AppIdOffset OFFSET Offset, in byte, dall'inizio di questa struttura al buffer contenente l'ID applicazione.
8 4 AppIdSize DIMENSIONI (0,.16) Dimensioni dell'ID applicazione, in byte, come definito nella sezione 8.3 della specifica tecnica ETSI TS 102 221. Per le schede 2G, questo campo deve essere impostato su zero (0).
12 4 FilePathOffset OFFSET Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente il percorso del file. Il percorso del file è una matrice di ID file a 16 bit. Il primo ID deve essere 0x7FFF o 0x3F00. Se il primo ID è 0x7FFF, il percorso è relativo all'ADF dell'applicazione desginata da AppId. In caso contrario, si tratta di un percorso assoluto a partire dalla MF.
16 4 FilePathSize SIZE Dimensioni in byte del percorso del file.
20 4 FileOffset UINT32 Offset da utilizzare durante la lettura dal file. Questo campo può essere maggiore di 256 e combina sia offset alto che basso come definito nella specifica tecnica ETSI TS 102 221.
24 4 NumberOfBytes UINT32 Numero di byte da leggere. Ad esempio, un driver client può usare questa funzione per leggere un file trasparente (binario) di dimensioni superiori a 256 byte, anche se la quantità massima che può essere letta o scritta in una singola operazione UICC è di 256 byte in base alla specifica tecnica ETSI TS 102 221. È responsabilità della funzione suddividerla in più APDU e restituire il risultato in una singola risposta.
28 4 LocalPinOffset OFFSET Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente la password. Questo è il PIN locale (PIN2) e viene usato nel caso in cui l'operazione richieda la convalida del PIN locale.
32 4 LocalPinSize DIMENSIONI (0,.16) Dimensioni della password, in byte.
36 4 BinaryDataOffset OFFSET Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente i dati specifici del comando. I dati binari vengono usati solo per le operazioni SET.
40 4 BinaryDataSize DIMENSIONI (0,.32768) Dimensioni dei dati, in byte.
44 DataBuffer DATABUFFER Buffer di dati contenente AppId, FilePath, LocalPin e BinaryData.

Set

Non applicabile.

Risposta

Nella struttura InformationBuffer viene utilizzata la struttura di MBIM_UICC_RESPONSE seguente.

MBIM_UICC_RESPONSE (versione 1)

Offset Dimensione Campo Tipo Descrizione
0 4 Versione UINT32 Il numero di versione della struttura segue. Questo campo deve essere 1 per la versione 1 di questa struttura.
4 4 StatusWord1 UINT32(0..256) Parametro restituito specifico del comando UICC.
8 4 StatusWord2 UINT32(0..256) Parametro restituito specifico del comando UICC.
12 4 ResponseDataOffset OFFSET Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente i dati di risposta. I dati di risposta vengono usati solo per le operazioni QUERY.
16 4 ResponseDataSize SIZE (0..32768) Dimensioni dei dati, in byte.
20 DataBuffer DATABUFFER Buffer di dati contenente ResponseData.

Eventi non richiesti

Non applicabile.

Codici di stato

I codici di stato seguenti sono applicabili:

Codice stato Descrizione
MBIM_STATUS_BUSY Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_FAILURE Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_SIM_NOT_INSERTED Impossibile eseguire l'operazione UICC perché l'interfaccia utente non è presente.
MBIM_STATUS_BAD_SIM Impossibile eseguire l'operazione UICC perché UICC è in uno stato di errore.
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR Impossibile selezionare il file perché non è condivisibile ed è attualmente accessibile da un'altra applicazione. La parola di stato restituita dalla SIM è 6985.
MBIM_STATUS_PIN_FAILURE L'operazione non è riuscita a causa di un errore del PIN.

MBIM_CID_MS_UICC_ACCESS_RECORD

Questo CID invia un comando specifico per accedere a un file predefinito o ciclico UICC, con tipo di struttura MBIMUiccFileStructureCyclic o MBIMUIccFileStructureLinear.

Parametri

Operazione Set Query Notifica
Comando Non applicabile MBIM_UICC_ACCESS_RECORD Non applicabile
Risposta Non applicabile MBIM_UICC_RESPONSE Non applicabile

Query

Legge il contenuto di un record. InformationBuffer per MBIM_COMMAND_MSG contiene la struttura di MBIM_UICC_ACCESS_RECORD seguente. MBIM_UICC_RESPONSE viene restituito nel MBIM_COMMAND_DONE InformationBuffer.

MBIM_UICC_ACCESS_RECORD (versione 1)

Offset Dimensione Campo Tipo Descrizione
0 4 Versione UINT32 Numero di versione della struttura che segue. Questo campo deve essere impostato su 1 per la versione 1 di questa struttura.
4 4 AppIdOffset OFFSET Offset, in byte, dall'inizio di questa struttura al buffer contenente l'ID applicazione.
8 4 AppIdSize SIZE (0..16) Dimensioni dell'ID applicazione, in byte, come definito nella sezione 8.3 della specifica tecnica ETSI TS 102 221. Per le schede 2G, questo campo deve essere impostato su zero (0).
12 4 FilePathOffset OFFSET Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente il percorso del file. Il percorso del file è una matrice di ID file a 16 bit. Il primo ID deve essere 0x7FFF o 0x3F00. Se il primo ID è 0x7FFF, il percorso è relativo all'ADF dell'applicazione desginata da AppId. In caso contrario, si tratta di un percorso assoluto che inizia dal MF.
16 4 FilePathSize SIZE Dimensioni del percorso del file, in byte.
20 4 RecordNumber UINT32(0..256) Numero del record. Rappresenta l'indice record assoluto in ogni momento. L'accesso ai record relativi non è supportato perché il modem può eseguire più accessi in un file (NEXT, PREVIOUS).
24 4 LocalPinOffset OFFSET Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente la password. La password di blocco è una stringa UTF-8 con terminazione null di cifre decimali.
28 4 LocalPinSize SIZE (0..16) Dimensioni della password, in byte.
32 4 RecordDataOffset OFFSET Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente i dati specifici del comando. I dati dei record vengono usati solo per le operazioni SET.
36 4 RecordDataSize DIMENSIONI (0..256) Dimensioni dei dati, in byte.
40 DataBuffer DATABUFFER Buffer di dati contenente AppId, FilePath, LocalPin e RecordData.

Set

Non applicabile.

Risposta

Una struttura MBIM_UICC_RESPONSE viene usata in InformationBuffer.

Eventi non richiesti

Non applicabile.

Codici di stato

I codici di stato seguenti sono applicabili:

Codice stato Descrizione
MBIM_STATUS_BUSY Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_FAILURE Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_SIM_NOT_INSERTED Impossibile eseguire l'operazione UICC perché l'interfaccia utente non è presente.
MBIM_STATUS_BAD_SIM Impossibile eseguire l'operazione UICC perché UICC è in uno stato di errore.
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR Impossibile selezionare il file perché non è condivisibile ed è attualmente accessibile da un'altra applicazione. La parola di stato restituita dalla SIM è 6985.
MBIM_STATUS_PIN_FAILURE L'operazione non è riuscita a causa di un errore del PIN.

MBIM_CID_MS_PIN_EX

Questo CID viene usato per eseguire tutte le operazioni di sicurezza del PIN, come definito nella sezione 9 della specifica tecnica ETSI TS 102 221. Il CID è simile a MBIM_CID_MS_PIN, ma lo estende per supportare schede UICC multi-app. Sono supportati solo UICC con funzionalità di verifica singola. Le interfacce utente con funzionalità di verifica multipla che supportano più di un PIN dell'applicazione non sono supportate. Un PIN dell'applicazione (PIN1) viene assegnato a tutti i file e file ADFs/DFs nell'interfaccia utente. Tuttavia, ogni applicazione può specificare un PIN locale (PIN2) come requisito di verifica utente di livello 2, causando la necessità di convalida aggiuntiva per ogni comando di accesso. Questo scenario è quello che supporta MBIM_CID_MS_PIN_EX.

Proprio come MBIM_CID_MS_PIN, con MBIM_CID_MS_PIN_EX il dispositivo segnala solo un PIN alla volta. Se sono abilitati più PIN e si segnalano più PIN, le funzioni devono prima segnalare PIN1. Ad esempio, se la segnalazione dei blocchi di sussidio è abilitata e il PIN1 della SIM è abilitato, il PIN di blocco di sussidio deve essere segnalato in una richiesta di query successiva solo dopo la verifica corretta del PIN1. Un PIN vuoto è consentito insieme a MBIMPinOperationEnter. Un PIN vuoto viene specificato impostando PinSize su zero. In questo caso, un comando SET è simile a una QUERY e restituisce lo stato del PIN a cui viene fatto riferimento. Questo comportamento è completamente allineato al comportamento del comando VERIFY come specificato nella sezione 11.1.9 della specifica tecnica ETSI TS 102 221.

Parametri

Operazione Set Query Notifica
Comando MBIM_SET_PIN_EX MBIM_PIN_APP Non applicabile
Risposta MBIM_PIN_INFO_EX MBIM_PIN_INFO_EX Non applicabile

Query

La struttura di MBIM_PIN_APP seguente viene usata in InformationBuffer.

MBIM_PIN_APP (versione 1)

Offset Dimensione Campo Tipo Descrizione
0 4 Versione UINT32 Numero di versione della struttura che segue. Questo campo deve essere impostato su 1 per la versione 1 di questa struttura.
4 4 AppIdOffset OFFSET Offset, in byte, dall'inizio di questa struttura al buffer contenente l'ID applicazione.
8 4 AppIdSize DIMENSIONI (0,.16) Dimensioni dell'ID applicazione, in byte, come definito nella sezione 8.3 della specifica tecnica ETSI TS 102 221. Per le schede 2G, questo campo deve essere impostato su zero (0).
12 DataBuffer DATABUFFER AppId come definito nella specifica tecnica ETSI TS 102 221.

Set

Nella struttura InformationBuffer viene utilizzata la struttura di MBIM_SET_PIN_EX seguente.

MBIM_SET_PIN_EX

Offset Dimensione Campo Tipo Descrizione
0 4 PinType MBIM_PIN_TYPE_EX Tipo di PIN. Vedere la tabella MBIM_PIN_TYPE_EX in questo argomento.
4 4 PinOperation MBIM_PIN_OPERATION Operazione PIN. Vedere MBIM 1.0.
8 4 PinOffset OFFSET Offset, in byte, calcolato dall'inizio di questa struttura a un PIN stringa che rappresenta il valore PIN con cui eseguire l'azione o il valore DEL PIN necessario per abilitare o disabilitare le impostazioni DEL PIN. Questo campo si applica a tutti i valori di PinOperation.
12 4 PinSize DIMENSIONI (0,.32) Dimensione, in byte, utilizzata per il PIN.
16 4 NewPinOffset OFFSET Offset, in byte, calcolato dall'inizio di questa struttura alla stringa NewPin che rappresenta il nuovo valore PIN da impostare quando PinOperation è MBIMPinOperationChange o MBIMPinOperationEnter, per PinTypeMBIMPinTypePuk1 o PinTypeMBIMPinTypePuk2.
20 4 NewPinSize DIMENSIONI (0,.32) Dimensione, in byte, utilizzata per NewPin.
24 4 AppIdOffset OFFSET Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente l'ID applicazione.
28 4 AppIdSize DIMENSIONI (0,.16) Dimensioni dell'ID applicazione, in byte, come definito nella sezione 8.3 della specifica tecnica ETSI TS 102 221. Per le schede 2G, questo campo deve essere impostato su zero (0).
32 DataBuffer DATABUFFER Buffer di dati contenente Pin, NewPin e AppId.

Risposta

Nella struttura InformationBuffer viene utilizzata la struttura di MBIM_PIN_INFO_EX seguente.

Offset Dimensione Campo Tipo Descrizione
0 4 PinType MBIM_PIN_TYPE_EX Tipo di PIN. Vedere la tabella MBIM_PIN_TYPE_EX in questo argomento.
4 4 PinState MBIM_PIN_STATE Stato DEL PIN. Vedere MBIM 1.0.
8 4 RemainingAttempts UINT32 Numero di tentativi rimanenti per qualsiasi operazione correlata al PIN, ad esempio immettere, abilitare o disabilitare. I dispositivi che non supportano queste informazioni devono impostare questo membro su 0xFFFFFFFF.

Eventi non richiesti

Non applicabile.

Codici di stato

I codici di stato seguenti sono applicabili:

Codice stato Descrizione
MBIM_STATUS_BUSY Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_FAILURE Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_SIM_NOT_INSERTED Impossibile eseguire l'operazione UICC perché l'interfaccia utente non è presente.
MBIM_STATUS_BAD_SIM Impossibile eseguire l'operazione UICC perché UICC è in uno stato di errore.
MBIM_STATUS_PIN_DISABLED Operazione non riuscita perché il PIN è disabilitato.
MBIM_STATUS_PIN_REQUIRED L'operazione non è riuscita perché è necessario immettere un PIN per procedere.
MBIM_STATUS_NO_DEVICE_SUPPORT L'operazione non è riuscita perché un SET in un tipo PIN corrispondente non è supportato dal dispositivo.