Condividi tramite


Accesso all'applicazione UICC e al file system MB

Panoramica

In questo argomento viene specificata un'estensione dell'interfaccia MBIM (Mobile Broadband Interface Model) per consentire l'accesso alle applicazioni smart card UICC e ai file system. 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 contemporaneamente. Questi includono USIM per UMTS, CSIM per CDMA e ISIM per IMS. La SIM è una parte legacy del 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 di 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 DFS e le funzioni 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 ID seguenti per supportare l'accesso all'applicazione UICC e al file system.

Valori del servizio MBIM e del CID

Nome servizio UUID Valore UUID
Accesso UICC di basso livello Microsoft 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 (notifica). Per altre informazioni sui parametri, sulle strutture dei dati e sulle notifiche, vedere la sezione singola di ogni CID in questo argomento.

CID UUID Codice del comando Set Query 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 S Y N
MBIM_CID_MS_UICC_ACCESS_RECORD UUID_MS_UICC_LOW_LEVEL 10 S Y N
MBIM_CID_MS_PIN_EX UUID_BASIC_CONNECT_EXTENSIONS 14 S Y N

MBIM_CID_MS_UICC_APP_LIST

Questo CID recupera un elenco di applicazioni in un UICC e le relative informazioni. Quando l'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 Vuoto Non applicabile
Response Non applicabile MBIM_UICC_APP_LIST Non applicabile

Query

InformationBuffer di MBIM_COMMAND_MSG è vuoto.

Set

Non applicabile.

Response

InformationBuffer in MBIM_COMMAND_DONE contiene la struttura di MBIM_UICC_APP_LIST seguente.

MBIM_UICC_APP_LIST (versione 1)

Contropartita 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 sull'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 di MBIM_UICC_APP_INFO AppCount * .

MBIM_UICC_APP_INFO

Contropartita 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 AppIdSize sono significativi. Se l'ID applicazione è più lungo di MBIM_MAXLENGTH_APPID byte, AppIdSize specifica la lunghezza effettiva, ma solo i primi MBIM_MAXLENGTH_APPID byte si trovano 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 (MBIM_MAXLENGTH_APPID) byte 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 (MBIM_MAXLENGTH_APPNAME - 1) byte 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 hanno riferimenti a chiavi 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 di un modem che non supporta chiavi 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.di una scheda di verifica singola o un driver MBB e/o un modem che non supporta chiavi 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 radicate 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 di stato Descrizione
MBIM_STATUS_SUCCESS Stato MBIM di base definito per tutti i comandi.
MBIM_STATUS_BUSY Stato MBIM di base definito per tutti i comandi.
MBIM_STATUS_FAILURE Stato MBIM di base definito per tutti i comandi.
MBIM_STATUS_NO_DEVICE_SUPPORT Stato MBIM di base 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
Response Non applicabile MBIM_UICC_FILE_STATUS Non applicabile

Query

InformationBuffer di MBIM_COMMAND_MSG contiene l'istanza di Entity Framework di destinazione come struttura MBIM_UICC_FILE_PATH.

MBIM_UICC_FILE_PATH (versione 1)

Contropartita 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 designata da AppId. In caso contrario, si tratta di un percorso assoluto a partire da 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.

Response

Nella struttura InformationBuffer viene utilizzata la struttura di MBIM_UICC_FILE_STATUS seguente.

MBIM_UICC_FILE_STATUS (versione 1)

Contropartita 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, questa è la dimensione dell'intero framework. 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).

MBIM_UICC_FILE_ACCESSIBILITY

L'enumerazione MBIM_UICC_FILE_ACCESSIBILITY viene utilizzata nella struttura 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 da una funzione definita dall'utente.

MBIM_UICC_FILE_STRUCTURE

L'enumerazione MBIM_UICC_FILE_STRUCTURE viene utilizzata nella struttura 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 della 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 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 del sussidio.
MBIMPinTypePuk1 11 Chiave di sblocco PUK1 (Personal Identification Number 1).
MBIMPinTypePuk2 12 Chiave di sblocco PUK2 (Personal Identification Number 2).
MBIMPinTypeDeviceFirstSimPuk 13 Il dispositivo al primo tasto 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 di stato Descrizione
MBIM_STATUS_BUSY Stato MBIM di base definito per tutti i comandi.
MBIM_STATUS_FAILURE Stato MBIM di base 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
Response 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 in InformationBuffer di MBIM_COMMAND_DONE.

MBIM_UICC_ACCESS_BINARY (versione 1)

Contropartita 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 designata da AppId. In caso contrario, si tratta di un percorso assoluto a partire da 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) maggiore di 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 inviare il risultato in una singola risposta.
28 4 LocalPinOffset OFFSET Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente la password. Si tratta del 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.

Response

La struttura di MBIM_UICC_RESPONSE seguente viene utilizzata in InformationBuffer.

MBIM_UICC_RESPONSE (versione 1)

Contropartita 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 ResponseDataOffset OFFSET Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente i dati della risposta. I dati di risposta vengono usati solo per le operazioni QUERY.
16 4 ResponseDataSize DIMENSIONI (0,.32768) Dimensioni dei dati, in byte.
20 DataBuffer DATABUFFER Buffer di dati contenente ResponseData.

Eventi non richiesti

Non applicabile.

Codici di stato

Sono applicabili i codici di stato seguenti:

Codice di stato Descrizione
MBIM_STATUS_BUSY Stato MBIM di base definito per tutti i comandi.
MBIM_STATUS_FAILURE Stato MBIM di base 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_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 lineare o ciclico UICC, con tipo di struttura MBIMUiccFileStructureCyclic o MBIMUIccFileStructureLinear.

Parametri

Operazione Set Query Notifica
Comando Non applicabile MBIM_UICC_ACCESS_RECORD Non applicabile
Response 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 in InformationBuffer di MBIM_COMMAND_DONE.

MBIM_UICC_ACCESS_RECORD (versione 1)

Contropartita 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 designata da AppId. In caso contrario, si tratta di un percorso assoluto a partire da MF.
16 4 FilePathSize SIZE Dimensioni in byte del percorso del file.
20 4 RecordNumber UINT32(0..256) Numero di record. Rappresenta l'indice record assoluto in qualsiasi momento. L'accesso al record relativo 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 DIMENSIONI (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.

Response

Una struttura MBIM_UICC_RESPONSE viene utilizzata in InformationBuffer.

Eventi non richiesti

Non applicabile.

Codici di stato

Sono applicabili i codici di stato seguenti:

Codice di stato Descrizione
MBIM_STATUS_BUSY Stato MBIM di base definito per tutti i comandi.
MBIM_STATUS_FAILURE Stato MBIM di base 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_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 le schede UICC multi-app. Sono supportati solo interfacce utente con supporto per la verifica singola. Le interfacce utente con supporto per la verifica multipla che supportano più PIN dell'applicazione non sono supportate. Un PIN dell'applicazione (PIN1) viene assegnato a tutti i file e file ADFs/DFS nel UICC. Tuttavia, ogni applicazione può specificare un PIN locale (PIN2) come requisito di verifica utente di livello 2, con conseguente necessità di convalida aggiuntiva per ogni comando di accesso. Questo scenario è quello che MBIM_CID_MS_PIN_EX supporta.

Proprio come MBIM_CID_MS_PIN, con MBIM_CID_MS_PIN_EX il dispositivo segnala un SOLO PIN alla volta. Se sono abilitati più PIN e vengono abilitati anche più PIN, le funzioni devono prima segnalare PIN1. Ad esempio, se la segnalazione di blocchi di sussidi è abilitata e il PIN1 della SIM è abilitato, il PIN di blocco sussidio deve essere segnalato in una richiesta di query successiva solo dopo che PIN1 è stato verificato correttamente. 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 si fa 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
Response MBIM_PIN_INFO_EX MBIM_PIN_INFO_EX Non applicabile

Query

Nella struttura InformationBuffer viene utilizzata la struttura di MBIM_PIN_APP seguente.

MBIM_PIN_APP (versione 1)

Contropartita 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

Contropartita 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 del 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) Dimensioni, in byte, utilizzate 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.

Response

Nella struttura InformationBuffer viene utilizzata la struttura di MBIM_PIN_INFO_EX seguente.

Contropartita 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

Sono applicabili i codici di stato seguenti:

Codice di stato Descrizione
MBIM_STATUS_BUSY Stato MBIM di base definito per tutti i comandi.
MBIM_STATUS_FAILURE Stato MBIM di base 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_PIN_DISABLED L'operazione non è riuscita perché il PIN è disabilitato.
MBIM_STATUS_PIN_REQUIRED L'operazione non è riuscita perché è necessario immettere un PIN per continuare.
MBIM_STATUS_NO_DEVICE_SUPPORT L'operazione non è riuscita perché un set su un tipo di PIN corrispondente non è supportato dal dispositivo.