Accès au système de fichiers et à l’application MB UICC
Vue d’ensemble
Cette rubrique spécifie une extension de l’interface MBIM (Mobile Broadband Interface Model) pour permettre l’accès aux systèmes d’applications et de fichiers d’carte intelligents UICC. Cette extension à MBIM expose l’accès logique aux applications et systèmes de fichiers conformes aux spécifications techniques ETSI TS 102 221 de l’UICC, et est prise en charge dans Windows 10 version 1903 et ultérieure.
Accès à l’UICC et sécurité
L’UICC fournit un système de fichiers et prend en charge un ensemble d’applications qui peuvent s’exécuter simultanément. Il s’agit notamment de USIM pour UMTS, CSIM pour CDMA et ISIM pour IMS. La carte SIM est une partie héritée de l’UICC qui peut être modélisée comme l’une de ces applications (pour GSM).
Le diagramme suivant de la section 8.1 de la spécification technique ETSI TS 102 221 montre un exemple carte structure d’application.
Le système de fichiers UICC peut être considéré comme une forêt d’arborescences de répertoires. L’arborescence SIM héritée est enracinée dans un fichier maître (MF) et contient jusqu’à deux niveaux de sous-répertoires (fichiers dédiés, ou DFs) contenant des fichiers élémentaires (EFs) qui contiennent différents types d’informations. La carte SIM définit les DFS sous la mf, dont l’une, DFTelecom, contient des informations communes à plusieurs types d’accès, tels que l’annuaire téléphonique commun. D’autres applications sont efficacement implémentées sous forme d’arborescences distinctes, chacune enracinée dans son propre fichier ADF (Application Directory File). Chaque ADF est identifié par un identificateur d’application qui peut avoir jusqu’à 128 bits de long. Un fichier situé sous la racine du carte (EFDir sous le mf dans le diagramme) contient les noms d’application et les identificateurs correspondants. Dans une arborescence (mf ou ADF), les FD et les FD peuvent être identifiés par un chemin d’ID de fichier, où un ID de fichier est un entier de 16 bits.
Extensions d’interface NDIS
Les OID suivants ont été définis pour prendre en charge l’accès aux applications et aux systèmes de fichiers UICC.
- OID_WWAN_UICC_APP_LIST
- OID_WWAN_UICC_FILE_STATUS
- OID_WWAN_UICC_ACCESS_BINARY
- OID_WWAN_UICC_ACCESS_RECORD
- OID_WWAN_PIN_EX2
Services MBIM et valeurs CID
Nom du service | UUID | Valeur UUID |
---|---|---|
Accès à Microsoft Low-Level UICC | UUID_MS_UICC_LOW_LEVEL | C2F6588E-F037-4BC9-8665-F4D44BD09367 |
Extensions de connectivité IP de base Microsoft | UUID_BASIC_CONNECT_EXTENSIONS | 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF |
Le tableau suivant spécifie l’UUID et le code de commande pour chaque CID, ainsi que si le CID prend en charge les demandes Set, Query ou Event (notification). Consultez la section individuelle de chaque CID dans cette rubrique pour plus d’informations sur ses paramètres, structures de données et notifications.
CID | UUID | Code de commande | Définissez | Requête | Notifier |
---|---|---|---|---|---|
MBIM_CID_MS_UICC_APP_LIST | UUID_MS_UICC_LOW_LEVEL | 7 | N | O | N |
MBIM_CID_MS_UICC_FILE_STATUS | UUID_MS_UICC_LOW_LEVEL | 8 | N | O | N |
MBIM_CID_MS_UICC_ACCESS_BINARY | UUID_MS_UICC_LOW_LEVEL | 9 | O | O | N |
MBIM_CID_MS_UICC_ACCESS_RECORD | UUID_MS_UICC_LOW_LEVEL | 10 | O | O | N |
MBIM_CID_MS_PIN_EX | UUID_BASIC_CONNECT_EXTENSIONS | 14 | O | O | N |
MBIM_CID_MS_UICC_APP_LIST
Ce CID récupère une liste d’applications dans un UICC et des informations sur celles-ci. Lorsque l’UICC dans le modem est entièrement initialisé et prêt à s’inscrire auprès de l’opérateur mobile, une application UICC doit être sélectionnée pour inscription et une requête avec ce CID doit retourner l’application sélectionnée dans le champ ActiveAppIndex dans la structure MBIM_UICC_APP_LIST utilisée en réponse.
Paramètres
Opération | Définissez | Requête | Notification |
---|---|---|---|
Commande | Non applicable | Vide | Non applicable |
response | Non applicable | MBIM_UICC_APP_LIST | Non applicable |
Requête
InformationBuffer de MBIM_COMMAND_MSG est vide.
Définissez
Non applicable.
response
InformationBuffer dans MBIM_COMMAND_DONE contient la structure MBIM_UICC_APP_LIST suivante.
MBIM_UICC_APP_LIST (version 1)
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Version | UINT32 | Numéro de version de la structure qui suit. Ce champ doit être défini sur 1 pour la version 1 de cette structure. |
4 | 4 | AppCount | UINT32 | Nombre d’applications UICC MBIM_UICC_APP_INFO structures retournées dans cette réponse. |
8 | 4 | ActiveAppIndex | UINT32(0..NumApp - 1) | Index de l’application sélectionnée par le modem pour l’inscription auprès du réseau mobile. Ce champ doit être compris entre 0 et AppCount - 1. Il s’indexe au tableau d’applications retourné par cette réponse. Si aucune application n’est sélectionnée pour l’inscription, ce champ contient 0xFFFFFFFF. |
12 | 4 | AppListSize | UINT32 | Taille des données de la liste des applications, en octets. |
8*AppCount | AppList | OL_PAIR_LIST | Le premier élément de la paire est un champ de 4 octets avec le décalage des informations d’une application dans DataBuffer. Le deuxième élément de la paire est un champ de 4 octets avec la taille des informations de l’application. | |
AppListSize | DataBuffer | DATABUFFER | Tableau de structures MBIM_UICC_APP_INFO AppCount * . |
MBIM_UICC_APP_INFO
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | AppType | MBIM_UICC_APP_TYPE | Type de l’application UICC. |
4 | 4 | AppIdOffset | OFFSET | Décalage de l’ID d’application dans le databuffer. Seuls les premiers octets AppIdSize sont significatifs. Si l’ID d’application est plus long que MBIM_MAXLENGTH_APPID octets, AppIdSize spécifie la longueur réelle, mais seuls les premiers octets MBIM_MAXLENGTH_APPID se trouvent dans ce champ. Ce champ est valide uniquement lorsque AppType n’est pas MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM ou MBIMUiccAppTypeMfRUIM. |
8 | 4 | AppIdSize | SIZE (0..16) | Taille de l’ID d’application, en octets, comme défini dans la section 8.3 de la spécification technique ETSI TS 102 221. AppIdSize peut contenir un nombre supérieur à 16, mais dans ce cas, seuls les 16 premiers octets (MBIM_MAXLENGTH_APPID) se trouvent dans le databuffer. Ce champ est défini sur zéro pour les types d’applications MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM ou MBIMUiccAppTypeMfRUIM. |
12 | AppNameOffset | OFFSET | Décalage du nom de l’application dans le databuffer. Chaîne UTF-8 spécifiant le nom de l’application. La longueur de ce champ est spécifiée par AppNameLength. Si la longueur est supérieure ou égale à MBIM_MAXLENGTH_APPNAME octets, ce champ contient le premier MBIM_MAXLENGTH_APPNAME - 1 octet du nom. La chaîne est toujours terminée par null. | |
16 | 4 | AppNameLength | SIZE (0..256) | Longueur, en octets, du nom de l’application. AppNameLength peut contenir un nombre supérieur ou égal à 256, mais dans ce cas, seuls les 255 premiers octets (MBIM_MAXLENGTH_APPNAME - 1) se trouvent dans le databuffer. |
20 | 4 | NumPinKeyRefs | SIZE (0..8) | Nombre de références de clé PIN d’application. En d’autres termes, le nombre d’éléments de PinKeyRef valides. Les applications sur un R-UIM virtuel n’ont pas de références de clé pin. |
24 | 4 | KeyRefOffset | OFFSET | Décalage du PinKeyRef dans le DataBuffer. Le PinKeyRef est un tableau d’octets spécifiant les références de clé pin de l’application pour différents niveaux de vérification (clés pour PIN1, PIN2 et éventuellement un code confidentiel universel), comme défini dans le tableau 9.3 et la section 9.4.2 de la spécification technique ETSI TS 102 221. Dans le cas d’un carte à vérification unique ou d’un pilote et/ou d’un modem MBB qui ne prend pas en charge différentes clés d’application pour différentes applications, le premier octet du champ PinKeyRef doit être 0x01 (PIN1) et le deuxième octet doit être 0x81 (PIN2), comme décrit dans la section 9.5.1 du champ ETSI TS 102 221. |
28 | 4 | KeyRefSize | SIZE (0..8) | Taille de PinKeyRef. |
32 | DataBuffer | DATABUFFER | Mémoire tampon de données contenant AppId, AppName et PinKeyRef.d’une carte à vérification unique, ou d’un pilote et/ou modem MBB qui ne prend pas en charge différentes clés d’application pour différentes applications, ce champ doit être 0x01. |
MBIM_UICC_APP_TYPE
Type | Valeur | Description |
---|---|---|
MBIMUiccAppTypeUnknown | 0 | Type inconnu. |
MBIMUiccAppTypeMf | 1 | Répertoires SIM hérités enracinés à la MF. |
MBIMUiccAppTypeMfSIM | 2 | Répertoires SIM hérités enracinés au DF_GSM. |
MBIMUiccAppTypeMfRUIM | 3 | Répertoires SIM hérités enracinés au DF_CDMA. |
MBIMUiccAppTypeUSIM | 4 | Application USIM. |
MBIMUiccAppTypeCSIM | 5 | Application CSIM. |
MBIMUiccAppTypeISIM | 6 | Application ISIM. |
Constantes
Les constantes suivantes sont définies pour MBIM_CID_MS_UICC_APP_INFO.
const int MBIM_MAXLENGTH_APPID = 32
const int MBIM_MAXLENGTH_APPNAME = 256
const int MBIM_MAXNUM_PINREF = 8
Événements non sollicités
Non applicable.
Codes d’état
Les codes status suivants s’appliquent :
Code d’état | Description |
---|---|
MBIM_STATUS_SUCCESS | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_BUSY | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_FAILURE | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_NO_DEVICE_SUPPORT | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_SIM_NOT_INSERTED | Impossible d’effectuer l’opération UICC, car l’UICC est manquant. |
MBIM_STATUS_BAD_SIM | Impossible d’effectuer l’opération UICC, car l’UICC est dans un état d’erreur. |
MBIM_STATUS_NOT_INITIALIZED | Impossible d’effectuer l’opération UICC, car l’UICC n’est pas encore entièrement initialisée. |
MBIM_CID_MS_UICC_FILE_STATUS
Ce CID récupère des informations sur un fichier UICC spécifié.
Paramètres
Opération | Définissez | Requête | Notification |
---|---|---|---|
Commande | Non applicable | MBIM_UICC_FILE_PATH | Non applicable |
response | Non applicable | MBIM_UICC_FILE_STATUS | Non applicable |
Requête
InformationBuffer de MBIM_COMMAND_MSG contient l’ef cible en tant que structure de MBIM_UICC_FILE_PATH.
MBIM_UICC_FILE_PATH (version 1)
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Version | UINT32 | Numéro de version de la structure qui suit. Ce champ doit être 1 pour la version 1 de cette structure. |
4 | 4 | AppIdOffset | OFFSET | Décalage, en octets, calculé à partir du début de cette structure vers la mémoire tampon contenant l’ID d’application. |
8 | 4 | AppIdSize | SIZE (0..16) | Taille de l’ID d’application, en octets, comme défini dans la section 8.3 de la spécification technique ETSI TS 102 221. Pour les cartes 2G, ce champ doit être défini sur zéro (0). |
12 | 4 | FilePathOffset | OFFSET | Décalage, en octets, calculé entre le début de cette structure et la mémoire tampon contenant le chemin du fichier. Le chemin du fichier est un tableau d’ID de fichier 16 bits. Le premier ID doit être 0x7FFF ou 0x3F00. Si le premier ID est 0x7FFF, le chemin d’accès est relatif à l’ADF de l’application déginée par AppId. Sinon, il s’agit d’un chemin d’accès absolu à partir de la MF. |
16 | 4 | FilePathSize | SIZE (0..8) | Taille du chemin d’accès au fichier, en octets. |
20 | DataBuffer | DATABUFFER | Mémoire tampon de données contenant AppId et FilePath. |
Définissez
Non applicable.
response
La structure MBIM_UICC_FILE_STATUS suivante est utilisée dans InformationBuffer.
MBIM_UICC_FILE_STATUS (version 1)
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Version | UINT32 | Numéro de version de la structure qui suit. Ce champ doit être 1 pour la version 1 de cette structure. |
4 | 4 | StatusWord1 | UINT32(0..256) | Paramètre de retour spécifique à la commande UICC. |
8 | 4 | StatusWord2 | UINT32(0..256) | Paramètre de retour spécifique à la commande UICC. |
12 | 4 | FileAccessibility | MBIM_UICC_FILE_ACCESSIBILITY | Accessibilité du fichier UICC. |
16 | 4 | FileType | MBIM_UICC_FILE_TYPE | Type de fichier UICC. |
20 | 4 | FileStructure | MBIM_UICC_FILE_STRUCTURE | Structure de fichiers UICC. |
24 | 4 | ItemCount | UINT32 | Nombre d’éléments dans le fichier UICC. Pour les fichiers transparents et TLV, cette valeur est définie sur 1. |
28 | 4 | Taille | UINT32 | Taille de chaque élément, en octets. Pour les fichiers transparents ou TLV, il s’agit de la taille de l’ensemble d’EF. Pour les fichiers basés sur des enregistrements, cela représente le nombre total d’enregistrements. |
32 | 16 | FileLockStatus | MBIM_PIN_TYPE_EX[4] | Tableau de type MBIM_PIN_TYPE_EX qui décrit la condition d’accès pour chaque opération (READ, UPDATE, ACTIVATE et DEACTIVATE dans cet ordre) sur ce fichier. |
MBIM_UICC_FILE_ACCESSIBILITY
L’énumération MBIM_UICC_FILE_ACCESSIBILITY est utilisée dans la structure MBIM_UICC_FILE_STATUS précédente.
Type | Valeur | Description |
---|---|---|
MBIMUiccFileAccessibilityUnknown | 0 | Partage des fichiers inconnu. |
MBIMUiccFileAccessibilityNotShareable | 1 | Fichier non partageable. |
MBIMUiccFileAccessibilityShareable | 2 | Fichier partageable. |
MBIM_UICC_FILE_TYPE
L’énumération MBIM_UICC_FILE_TYPE est utilisée dans la structure MBIM_UICC_FILE_STATUS précédente.
Type | Valeur | Description |
---|---|---|
MBIMUiccFileTypeUnknown | 0 | Type de fichier inconnu. |
MBIMUiccFileTypeWorkingEf | 1 | Ef de travail. |
MBIMUiccFileTypeInternalEf | 2 | EF interne. |
MBIMUiccFileTypeDfOrAdf | 3 | Fichier dédié, répertoire qui est le parent d’autres nœuds. Il peut s’agir d’un DF ou d’un ADF. |
MBIM_UICC_FILE_STRUCTURE
L’énumération MBIM_UICC_FILE_STRUCTURE est utilisée dans la structure MBIM_UICC_FILE_STATUS précédente.
Type | Valeur | Description |
---|---|---|
MBIMUiccFileStructureUnknown | 0 | Structure de fichiers inconnue. |
MBIMUiccFileStructureTransparent | 1 | Enregistrement unique de longueur variable. |
MBIMUiccFileStructureCyclique | 2 | Ensemble cyclique d’enregistrements, chacun de la même longueur. |
MBIMUiccFileStructureLinear | 3 | Ensemble linéaire d’enregistrements, chacun de la même longueur. |
MBIMUiccFileStructureBerTLV | 4 | Ensemble de valeurs de données accessibles par balise. |
MBIM_PIN_TYPE_EX
L’énumération MBIM_PIN_TYPE_EX est utilisée dans la structure MBIM_UICC_FILE_STATUS précédente.
Type | Valeur | Description |
---|---|---|
MBIMPinTypeNone | 0 | Aucun code confidentiel n’est en attente d’entrée. |
MBIMPinTypeCustom | 1 | Le type de code confidentiel est un type personnalisé et n’est aucun des autres types de code confidentiel répertoriés dans cette énumération. |
MBIMPinTypePin1 | 2 | Touche PIN1. |
MBIMPinTypePin2 | 3 | Touche PIN2. |
MBIMPinTypeDeviceSimPin | 4 | Clé SIM de l’appareil. |
MBIMPinTypeDeviceFirstSimPin | 5 | L’appareil à la toute première clé SIM. |
MBIMPinTypeNetworkPin | 6 | Clé de personnalisation réseau. |
MBIMPinTypeNetworkSubsetPin | 7 | Clé de personnalisation du sous-ensemble réseau. |
MBIMPinTypeServiceProviderPin | 8 | Clé de personnalisation du fournisseur de services. |
MBIMPinTypeCorporatePin | 9 | Clé de personnalisation d’entreprise. |
MBIMPinTypeSubsidyLock | 10 | Clé de déverrouillage de subvention. |
MBIMPinTypePuk1 | 11 | Clé de déverrouillage numéro d’identification personnelle 1 (PUK1). |
MBIMPinTypePuk2 | 12 | Clé de déverrouillage numéro d’identification personnelle 2 (PUK2). |
MBIMPinTypeDeviceFirstSimPuk | 13 | L’appareil à la toute première clé de déverrouillage DU CODE PIN SIM. |
MBIMPinTypeNetworkPuk | 14 | Clé de déverrouillage de personnalisation du réseau. |
MBIMPinTypeNetworkSubsetPuk | 15 | Clé de déverrouillage du sous-ensemble réseau. |
MBIMPinTypeServiceProviderPuk | 16 | Clé de déverrouillage de personnalisation du fournisseur de services. |
MBIMPinTypeCorporatePuk | 17 | Clé de déverrouillage de personnalisation d’entreprise. |
MBIMPinTypeNev | 18 | Clé NEV. |
MBIMPinTypeAdm | 19 | Clé d’administration. |
Événements non sollicités
Non applicable.
Codes d’état
Les codes status suivants s’appliquent :
Code d’état | Description |
---|---|
MBIM_STATUS_BUSY | Les status MBIM de base définies pour toutes les commandes. |
MBIM_STATUS_FAILURE | Les status MBIM de base définies pour toutes les commandes. |
MBIM_STATUS_SIM_NOT_INSERTED | Impossible d’effectuer l’opération UICC, car l’UICC est manquante. |
MBIM_STATUS_BAD_SIM | Impossible d’effectuer l’opération UICC, car l’UICC est dans un état d’erreur. |
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR | Impossible de sélectionner le fichier, car il n’est pas partageable et est actuellement accessible par une autre application. Le mot status retourné par la carte SIM est 6985. |
MBIM_CID_MS_UICC_ACCESS_BINARY
Ce CID envoie une commande spécifique pour accéder à un fichier binaire UICC, avec le type de structure MBIMUiccFileStructureTransparent ou MBIMUiccFileStructureBerTLV.
Paramètres
Opération | Définissez | Requête | Notification |
---|---|---|---|
Commande | Non applicable | MBIM_UICC_ACCESS_BINARY | Non applicable |
response | Non applicable | MBIM_UICC_RESPONSE | Non applicable |
Requête
Lit un fichier binaire. InformationBuffer pour MBIM_COMMAND_MSG contient une structure MBIM_UICC_ACCESS_BINARY. Une structure MBIM_UICC_RESPONSE est retournée dans l’objet InformationBuffer de MBIM_COMMAND_DONE.
MBIM_UICC_ACCESS_BINARY (version 1)
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Version | UINT32 | Numéro de version de la structure qui suit. Ce champ doit avoir la valeur 1 pour la version 1 de cette structure. |
4 | 4 | AppIdOffset | OFFSET | Décalage, en octets, entre le début de cette structure et la mémoire tampon contenant l’ID d’application. |
8 | 4 | AppIdSize | SIZE (0..16) | Taille de l’ID d’application, en octets, comme défini dans la section 8.3 de la spécification technique ETSI TS 102 221. Pour les cartes 2G, ce champ doit être défini sur zéro (0). |
12 | 4 | FilePathOffset | OFFSET | Décalage, en octets, calculé entre le début de cette structure et la mémoire tampon contenant le chemin du fichier. Le chemin du fichier est un tableau d’ID de fichier 16 bits. Le premier ID doit être 0x7FFF ou 0x3F00. Si le premier ID est 0x7FFF, le chemin d’accès est relatif à l’ADF de l’application déginée par AppId. Sinon, il s’agit d’un chemin d’accès absolu à partir de la MF. |
16 | 4 | FilePathSize | SIZE | Taille du chemin d’accès au fichier, en octets. |
20 | 4 | FileOffset | UINT32 | Décalage à utiliser lors de la lecture à partir du fichier. Ce champ peut être supérieur à 256, et il combine à la fois offset high et offset low, comme défini dans la spécification technique ETSI TS 102 221. |
24 | 4 | NumberOfBytes | UINT32 | Nombre d'octets à lire. Par exemple, un pilote client peut utiliser cette fonction pour lire un fichier transparent (binaire) supérieur à 256 octets, bien que la quantité maximale pouvant être lue ou écrite dans une seule opération UICC est de 256 octets selon la spécification technique ETSI TS 102 221. Il incombe à la fonction de diviser cette opération en plusieurs APDUs et de renvoyer le résultat dans une seule réponse. |
28 | 4 | LocalPinOffset | OFFSET | Décalage, en octets, calculé entre le début de cette structure et la mémoire tampon contenant le mot de passe. Il s’agit du code PIN local (PIN2) et est utilisé dans le cas où l’opération nécessite une validation du code confidentiel local. |
32 | 4 | LocalPinSize | SIZE (0..16) | Taille du mot de passe, en octets. |
36 | 4 | BinaryDataOffset | OFFSET | Décalage, en octets, calculé à partir du début de cette structure vers la mémoire tampon contenant les données spécifiques à la commande. Les données binaires sont utilisées uniquement pour les opérations SET. |
40 | 4 | BinaryDataSize | SIZE (0..32768) | Taille des données, en octets. |
44 | DataBuffer | DATABUFFER | Mémoire tampon de données contenant AppId, FilePath, LocalPin et BinaryData. |
Définissez
Non applicable.
response
La structure MBIM_UICC_RESPONSE suivante est utilisée dans InformationBuffer.
MBIM_UICC_RESPONSE (version 1)
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Version | UINT32 | Numéro de version de la structure qui suit. Ce champ doit être 1 pour la version 1 de cette structure. |
4 | 4 | StatusWord1 | UINT32(0..256) | Paramètre de retour spécifique à la commande UICC. |
8 | 4 | StatusWord2 | UINT32(0..256) | Paramètre de retour spécifique à la commande UICC. |
12 | 4 | ResponseDataOffset | OFFSET | Décalage, en octets, calculé à partir du début de cette structure vers la mémoire tampon contenant les données de réponse. Les données de réponse sont utilisées uniquement pour les opérations QUERY. |
16 | 4 | ResponseDataSize | SIZE (0..32768) | Taille des données, en octets. |
20 | DataBuffer | DATABUFFER | Mémoire tampon de données contenant ResponseData. |
Événements non sollicités
Non applicable.
Codes d’état
Les codes status suivants s’appliquent :
Code d’état | Description |
---|---|
MBIM_STATUS_BUSY | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_FAILURE | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_SIM_NOT_INSERTED | Impossible d’effectuer l’opération UICC, car l’UICC est manquant. |
MBIM_STATUS_BAD_SIM | Impossible d’effectuer l’opération UICC, car l’UICC est dans un état d’erreur. |
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR | Impossible de sélectionner le fichier, car il n’est pas partageable et est actuellement accessible par une autre application. Le mot status retourné par la carte SIM est 6985. |
MBIM_STATUS_PIN_FAILURE | L’opération a échoué en raison d’une erreur de code confidentiel. |
MBIM_CID_MS_UICC_ACCESS_RECORD
Ce CID envoie une commande spécifique pour accéder à un fichier linéaire UICC fixe ou cyclique, avec le type de structure MBIMUiccFileStructureCyclic ou MBIMUIccFileStructureLinear.
Paramètres
Opération | Définissez | Requête | Notification |
---|---|---|---|
Commande | Non applicable | MBIM_UICC_ACCESS_RECORD | Non applicable |
response | Non applicable | MBIM_UICC_RESPONSE | Non applicable |
Requête
Lit le contenu d’un enregistrement. InformationBuffer pour MBIM_COMMAND_MSG contient la structure MBIM_UICC_ACCESS_RECORD suivante. MBIM_UICC_RESPONSE est retourné dans l’objet InformationBuffer de MBIM_COMMAND_DONE.
MBIM_UICC_ACCESS_RECORD (version 1)
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Version | UINT32 | Numéro de version de la structure qui suit. Ce champ doit avoir la valeur 1 pour la version 1 de cette structure. |
4 | 4 | AppIdOffset | OFFSET | Décalage, en octets, entre le début de cette structure et la mémoire tampon contenant l’ID d’application. |
8 | 4 | AppIdSize | SIZE (0..16) | Taille de l’ID d’application, en octets, comme défini dans la section 8.3 de la spécification technique ETSI TS 102 221. Pour les cartes 2G, ce champ doit être défini sur zéro (0). |
12 | 4 | FilePathOffset | OFFSET | Décalage, en octets, calculé entre le début de cette structure et la mémoire tampon contenant le chemin du fichier. Le chemin du fichier est un tableau d’ID de fichier 16 bits. Le premier ID doit être 0x7FFF ou 0x3F00. Si le premier ID est 0x7FFF, le chemin d’accès est relatif à la fonction ADF de l’application dégénérée par AppId. Sinon, il s’agit d’un chemin d’accès absolu à partir du mf. |
16 | 4 | FilePathSize | SIZE | Taille du chemin d’accès au fichier, en octets. |
20 | 4 | RecordNumber | UINT32(0..256) | Numéro de l'enregistrement. Cela représente l’index d’enregistrement absolu à tout moment. L’accès aux enregistrements relatifs n’est pas pris en charge, car le modem peut effectuer plusieurs accès sur un fichier (SUIVANT, PRÉCÉDENT). |
24 | 4 | LocalPinOffset | OFFSET | Décalage, en octets, calculé à partir du début de cette structure vers la mémoire tampon contenant le mot de passe. Le mot de passe de verrouillage est une chaîne UTF-8 terminée par un caractère Null de chiffres décimaux. |
28 | 4 | LocalPinSize | SIZE (0..16) | Taille du mot de passe, en octets. |
32 | 4 | RecordDataOffset | OFFSET | Décalage, en octets, calculé à partir du début de cette structure vers la mémoire tampon contenant les données spécifiques à la commande. Les données d’enregistrement sont utilisées uniquement pour les opérations SET. |
36 | 4 | RecordDataSize | SIZE (0..256) | Taille des données, en octets. |
40 | DataBuffer | DATABUFFER | Mémoire tampon de données contenant AppId, FilePath, LocalPin et RecordData. |
Définissez
Non applicable.
response
Une structure MBIM_UICC_RESPONSE est utilisée dans informationBuffer.
Événements non sollicités
Non applicable.
Codes d’état
Les codes status suivants s’appliquent :
Code d’état | Description |
---|---|
MBIM_STATUS_BUSY | Les status MBIM de base définies pour toutes les commandes. |
MBIM_STATUS_FAILURE | Les status MBIM de base définies pour toutes les commandes. |
MBIM_STATUS_SIM_NOT_INSERTED | Impossible d’effectuer l’opération UICC, car l’UICC est manquante. |
MBIM_STATUS_BAD_SIM | Impossible d’effectuer l’opération UICC, car l’UICC est dans un état d’erreur. |
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR | Impossible de sélectionner le fichier, car il n’est pas partageable et est actuellement accessible par une autre application. Le mot status retourné par la carte SIM est 6985. |
MBIM_STATUS_PIN_FAILURE | L’opération a échoué en raison d’une erreur de code confidentiel. |
MBIM_CID_MS_PIN_EX
Ce CID est utilisé pour effectuer toutes les opérations de sécurité de code confidentiel telles que définies dans la section 9 de la spécification technique ETSI TS 102 221. Le CID est similaire à MBIM_CID_MS_PIN, mais l’étend pour prendre en charge les cartes UICC multi-applications. Seuls les UICC compatibles avec une seule vérification sont pris en charge. Les UICC multi-vérification qui prennent en charge plusieurs codes confidentiels d’application ne sont pas pris en charge. Un code PIN d’application (PIN1) est affecté à tous les fichiers et fichiers ADF/DFS sur l’UICC. Toutefois, chaque application peut spécifier un code pin local (PIN2) comme exigence de vérification utilisateur de niveau 2, ce qui entraîne la nécessité d’une validation supplémentaire pour chaque commande d’accès. Ce scénario est ce que MBIM_CID_MS_PIN_EX prend en charge.
Tout comme MBIM_CID_MS_PIN, avec MBIM_CID_MS_PIN_EX l’appareil ne signale qu’un seul code confidentiel à la fois. Si plusieurs codes CONFIDENTIELs sont activés et que le signalement de plusieurs codes confidentiels est également activé, les fonctions doivent d’abord signaler le code PIN1. Par exemple, si la création de rapports de verrouillage de subvention est activée et que le code PIN1 de la carte SIM est activé, le code confidentiel de verrouillage de subvention doit être signalé dans une demande de requête suivante uniquement après la vérification du code PIN1. Un code confidentiel vide est autorisé avec MBIMPinOperationEnter. Un code confidentiel vide est spécifié en affectant la valeur zéro à PinSize. Dans ce cas, une commande SET est similaire à une requête et retourne l’état du code confidentiel référencé. Ce comportement est entièrement aligné sur le comportement de la commande VERIFY tel que spécifié dans la section 11.1.9 de la spécification technique ETSI TS 102 221.
Paramètres
Opération | Définissez | Requête | Notification |
---|---|---|---|
Commande | MBIM_SET_PIN_EX | MBIM_PIN_APP | Non applicable |
response | MBIM_PIN_INFO_EX | MBIM_PIN_INFO_EX | Non applicable |
Requête
La structure MBIM_PIN_APP suivante est utilisée dans InformationBuffer.
MBIM_PIN_APP (version 1)
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Version | UINT32 | Numéro de version de la structure qui suit. Ce champ doit être défini sur 1 pour la version 1 de cette structure. |
4 | 4 | AppIdOffset | OFFSET | Décalage, en octets, entre le début de cette structure et la mémoire tampon contenant l’ID d’application. |
8 | 4 | AppIdSize | SIZE (0..16) | Taille de l’ID d’application, en octets, comme défini dans la section 8.3 de la spécification technique ETSI TS 102 221. Pour les cartes 2G, ce champ doit être défini sur zéro (0). |
12 | DataBuffer | DATABUFFER | AppId tel que défini dans la spécification technique ETSI TS 102 221. |
Définissez
La structure MBIM_SET_PIN_EX suivante est utilisée dans InformationBuffer.
MBIM_SET_PIN_EX
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | PinType | MBIM_PIN_TYPE_EX | Type de code confidentiel. Consultez le tableau MBIM_PIN_TYPE_EX dans cette rubrique. |
4 | 4 | PinOperation | MBIM_PIN_OPERATION | Opération de code confidentiel. Consultez MBIM 1.0. |
8 | 4 | PinOffset | OFFSET | Décalage, en octets, calculé à partir du début de cette structure vers un code confidentiel de chaîne qui représente la valeur de code confidentiel avec laquelle effectuer l’action, ou la valeur de code confidentiel nécessaire pour activer ou désactiver les paramètres de code confidentiel. Ce champ s’applique à toutes les valeurs de PinOperation. |
12 | 4 | PinSize | SIZE (0..32) | Taille, en octets, utilisée pour le code confidentiel. |
16 | 4 | NewPinOffset | OFFSET | Décalage, en octets, calculé à partir du début de cette structure vers la chaîne NewPin qui représente la nouvelle valeur de code confidentiel à définir lorsque PinOperation est MBIMPinOperationChange ou MBIMPinOperationEnter, pour PinTypeMBIMPinTypePuk1 ou PinTypeMBIMPinTypePuk2. |
20 | 4 | NewPinSize | SIZE (0..32) | Taille, en octets, utilisée pour newpin. |
24 | 4 | AppIdOffset | OFFSET | Décalage, en octets, calculé à partir du début de cette structure vers la mémoire tampon contenant l’ID d’application. |
28 | 4 | AppIdSize | SIZE (0..16) | Taille de l’ID d’application, en octets, comme défini dans la section 8.3 de la spécification technique ETSI TS 102 221. Pour les cartes 2G, ce champ doit être défini sur zéro (0). |
32 | DataBuffer | DATABUFFER | Mémoire tampon de données contenant les valeurs Pin, NewPin et AppId. |
response
La structure MBIM_PIN_INFO_EX suivante est utilisée dans InformationBuffer.
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | PinType | MBIM_PIN_TYPE_EX | Type de code confidentiel. Consultez le tableau MBIM_PIN_TYPE_EX dans cette rubrique. |
4 | 4 | PinState | MBIM_PIN_STATE | État du code confidentiel. Consultez MBIM 1.0. |
8 | 4 | RemainingAttempts | UINT32 | Nombre de tentatives restantes pour les opérations liées au code confidentiel telles que l’entrée, l’activation ou la désactivation. Les appareils qui ne prennent pas en charge ces informations doivent définir ce membre sur 0xFFFFFFFF. |
Événements non sollicités
Non applicable.
Codes d’état
Les codes status suivants s’appliquent :
Code d’état | Description |
---|---|
MBIM_STATUS_BUSY | Les status MBIM de base définies pour toutes les commandes. |
MBIM_STATUS_FAILURE | Les status MBIM de base définies pour toutes les commandes. |
MBIM_STATUS_SIM_NOT_INSERTED | Impossible d’effectuer l’opération UICC, car l’UICC est manquante. |
MBIM_STATUS_BAD_SIM | Impossible d’effectuer l’opération UICC, car l’UICC est dans un état d’erreur. |
MBIM_STATUS_PIN_DISABLED | L’opération a échoué, car le code confidentiel est désactivé. |
MBIM_STATUS_PIN_REQUIRED | L’opération a échoué, car un code confidentiel doit être entré pour continuer. |
MBIM_STATUS_NO_DEVICE_SUPPORT | L’opération a échoué, car un SET sur un type de code confidentiel correspondant n’est pas pris en charge par l’appareil. |