Partager via


Accès à l’application ET au système de fichiers MB UICC

Aperçu

Cette rubrique spécifie une extension de l’interface MBIM (Mobile Broadband Interface Model) pour permettre l’accès aux systèmes de fichiers et d’application de carte à puce 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 et sécurité de l’UICC

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. Le 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 de structure d’application de carte.

Diagramme montrant un exemple de structure d’application UICC.

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 elementaux (EFs) qui contiennent différents types d’informations. La carte SIM définit des DFs sous le MF, dont l’un, DFTelecom, contient des informations communes à plusieurs types d’accès tels que le répertoire téléphonique commun. D’autres applications sont implémentées en tant qu’arborescences distinctes, chacune ayant sa racine dans son propre fichier de répertoire d’application (ADF). Chaque ADF est identifié par un identificateur d’application pouvant atteindre jusqu’à 128 bits de long. Un fichier sous la racine de la carte (EFDir sous le MF dans le diagramme) contient les noms d’application et les identificateurs correspondants. Dans une arborescence (MF ou ADF), les DF et les EF peuvent être identifiés par un chemin d'accès 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.

Valeurs du service MBIM et CID

Nom du service UUID (Identifiant Unique Universel) Valeur UUID
Accès à l'UICC Microsoft Low-Level 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 le code UUID et le code de commande pour chaque CID, ainsi que si le CID prend en charge les requêtes 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 (Identifiant Unique Universel) Code de commande Définissez Requête Notify
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_NIVEAU_BAS 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 ces applications. 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 l’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 Sans objet Vide Sans objet
Réponse Sans objet MBIM_UICC_APP_LIST Sans objet

Requête

Le fichier InformationBuffer de MBIM_COMMAND_MSG est vide.

Définissez

Non applicable.

Réponse

L'InformationBuffer dans MBIM_COMMAND_DONE contient la structure MBIM_UICC_APP_LIST suivante.

MBIM_UICC_APP_LIST (version 1)

Offset Taille Terrain Catégorie Descriptif
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 Le nombre de structures MBIM_UICC_APP_INFO de l'application UICC 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 indexe le tableau d’applications retournées 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 contenant l'Offset des informations d'application dans le DataBuffer. Le deuxième élément de la paire est un champ de 4 octets avec la taille des informations d’application.
AppListSize (TailleDeLaListeDesApplications) DataBuffer DATABUFFER Tableau de structures AppCount * MBIM_UICC_APP_INFO .

MBIM_UICC_APP_INFO

Offset Taille Terrain Catégorie Descriptif
0 4 Type d'application MBIM_UICC_APP_TYPE Type de l’application UICC.
4 4 AppIdOffset DÉCALAGE Offset pour l’ID d’application dans le databuffer. Seuls les premiers octets AppIdSize sont significatifs. Si l’ID d’application est supérieur à 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 TAILLE (0..16) Taille de l’ID d’application, en octets, tel que 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’application MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM ou MBIMUiccAppTypeMfRUIM.
12 AppNameOffset DÉCALAGE Offset pour le 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 les premiers MBIM_MAXLENGTH_APPNAME - 1 octets du nom. La chaîne est toujours terminée par un caractère nul.
16 4 AppNameLength TAILLE (0..256) Longueur, en octets, du nom de l’application. AppNameLength peut contenir un nombre égal ou supérieur à 256, mais dans ces cas seuls les 255 premiers octets (MBIM_MAXLENGTH_APPNAME - 1) sont dans le databuffer.
20 4 NumPinKeyRefs TAILLE (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 aucune référence de clé pin.
Vingt-quatre 4 KeyRefOffset DÉCALAGE Décalage de PinKeyRef dans DataBuffer. PinKeyRef est un tableau d’octets spécifiant les références de clé de code confidentiel de l’application pour différents niveaux de vérification (clés pour pin1, PIN2 et éventuellement un code confidentiel universel), tel que 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’une carte de vérification unique ou d’un pilote MBB et/ou d’un modem 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 de ETSI TS 102 221.
28 4 KeyRefSize TAILLE (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 MBB et/ou d’un modem qui ne supporte pas des clés d’application différentes pour différentes applications, ce champ doit être 0x01.

MBIM_UICC_APP_TYPE

Catégorie Valeur Descriptif
MBIMUiccAppTypeUnknown 0 Type inconnu.
MBIMUiccAppTypeMf 1 Répertoires SIM anciens enracinés au MF.
MBIMUiccAppTypeMfSIM 2 Répertoires SIM hérités enracinés dans le DF_GSM.
MBIMUiccAppTypeMfRUIM 3 Répertoires SIM hérités enracinés dans le 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 de statut

Les codes d’état suivants s’appliquent :

Code de statut Descriptif
MBIM_STATUS_SUCCESS État MBIM de base tel que défini pour toutes les commandes.
MBIM_STATUS_BUSY État MBIM de base tel que défini pour toutes les commandes.
MBIM_STATUS_FAILURE État MBIM de base tel que défini pour toutes les commandes.
MBIM_STATUS_NO_DEVICE_SUPPORT (Pas de support de l'appareil) État MBIM de base tel que défini pour toutes les commandes.
MBIM_STATUS_SIM_NOT_INSERTED (SIM non insérée) 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_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 Sans objet MBIM_UICC_FILE_PATH Sans objet
Réponse Sans objet MBIM_UICC_FILE_STATUS Sans objet

Requête

Le fichier InformationBuffer de MBIM_COMMAND_MSG contient l’EF cible sous la forme d’une structure MBIM_UICC_FILE_PATH.

MBIM_UICC_FILE_PATH (version 1)

Offset Taille Terrain Catégorie Descriptif
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 DÉCALAGE Décalage, en octets, calculé à partir du début de cette structure jusqu'à la mémoire tampon contenant l'ID de l'application.
8 4 AppIdSize SIZE (0..16) Taille de l’ID d’application, en octets, tel que 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 DÉCALAGE Le décalage, en octets, calculé depuis le début de cette structure jusqu’à la mémoire tampon contenant le chemin d'accès du fichier. Le chemin d’accès au 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ésignée par AppId. Sinon, il s'agit d'un chemin absolu commençant à partir du MF.
16 4 FilePathSize TAILLE (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.

Réponse

La structure MBIM_UICC_FILE_STATUS suivante est utilisée dans InformationBuffer.

MBIM_UICC_FILE_STATUS (version 1)

Offset Taille Terrain Catégorie Descriptif
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 AccessibilitéFichier MBIM_UICC_FILE_ACCESSIBILITY Accessibilité du fichier UICC.
16 4 Type de fichier MBIM_UICC_FILE_TYPE Type de fichier UICC.
20 4 FileStructure MBIM_UICC_FILE_STRUCTURE Structure de fichiers UICC.
Vingt-quatre 4 Nombre d'articles 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 du fichier 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 types 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.

Catégorie Valeur Descriptif
MBIMUiccFileAccessibilityUnknown 0 Partage de 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.

Catégorie Valeur Descriptif
MBIMUiccFileTypeUnknown 0 Type de fichier inconnu.
MBIMUiccFileTypeWorkingEf 1 Working EF.
MBIMUiccFileTypeInternalEf 2 EF interne.
MBIMUiccFileTypeDfOrAdf 3 Fichier dédié, répertoire qui est le parent d’autres nœuds. Il peut s’agir d’une DF ou 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.

Catégorie Valeur Descriptif
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.

Catégorie Valeur Descriptif
MBIMPinTypeNone 0 Aucun code confidentiel n'attend d'être saisi.
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 Clé PIN1.
MBIMPinTypePin2 3 Clé PIN2.
MBIMPinTypeDeviceSimPin 4 L’appareil à la clé SIM.
MBIMPinTypeDeviceFirstSimPin 5 L’appareil à la toute première touche SIM.
MBIMPinTypeNetworkPin 6 Clé de personnalisation réseau.
MBIMPinTypeNetworkSubsetPin 7 Clé de personnalisation du sous-ensemble de réseau.
MBIMPinTypeServiceProviderPin 8 Clé de personnalisation du fournisseur de services (SP).
MBIMPinTypeCorporatePin 9 Clé de personnalisation d’entreprise.
MBIMPinTypeSubsidyLock 10 La clé de déverrouillage de la subvention.
MBIMPinTypePuk1 11 Clé de déverrouillage du numéro d’identification personnel 1 (PUK1).
MBIMPinTypePuk2 12 Clé de déverrouillage du numéro d’identification personnel 2 (PUK2).
MBIMPinTypeDeviceFirstSimPuk 13 Le dispositif pour la clé de déverrouillage initiale du code PIN SIM.
MBIMPinTypeNetworkPuk 14 Clé de déverrouillage de personnalisation du réseau.
MBIMPinTypeNetworkSubsetPuk 15 Clé de déverrouillage du sous-ensemble de réseau.
MBIMPinTypeServiceProviderPuk 16 Clé de déverrouillage pour la personnalisation du fournisseur de services (SP).
MBIMPinTypeCorporatePuk 17 Clé de déverrouillage pour la personnalisation d’entreprise.
MBIMPinTypeNev 18 Clé NEV.
MBIMPinTypeAdm 19 Clé administrative.

Événements non sollicités

Non applicable.

Codes de statut

Les codes d’état suivants s’appliquent :

Code de statut Descriptif
MBIM_STATUS_BUSY État MBIM de base tel que défini pour toutes les commandes.
MBIM_STATUS_FAILURE État MBIM de base tel que défini pour toutes les commandes.
Statut MBIM : Carte SIM non insérée 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 d’état 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 Sans objet MBIM_UICC_ACCESS_BINARY Sans objet
Réponse Sans objet MBIM_UICC_RESPONSE Sans objet

Requête

Lit un fichier binaire. L'InformationBuffer pour MBIM_COMMAND_MSG contient une structure MBIM_UICC_ACCESS_BINARY. Une structure MBIM_UICC_RESPONSE est retournée dans le fichier InformationBuffer de MBIM_COMMAND_DONE.

MBIM_UICC_ACCESS_BINARY (version 1)

Offset Taille Terrain Catégorie Descriptif
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 DÉCALAGE Décalage, en octets, depuis le début de cette structure jusqu'à la mémoire tampon contenant l’ID d’application.
8 4 AppIdSize SIZE (0..16) Taille de l’ID d’application, en octets, tel que 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 DÉCALAGE Le décalage, en octets, calculé depuis le début de cette structure jusqu’à la mémoire tampon contenant le chemin d'accès du fichier. Le chemin d’accès au 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ésignée par AppId. Sinon, il s'agit d'un chemin absolu commençant à partir du MF.
16 4 FilePathSize TAILLE Taille du chemin d’accès au fichier, en octets.
20 4 FileOffset UINT32 Le décalage à utiliser lors de la lecture à partir du fichier. Ce champ peut être supérieur à 256, et il combine à la fois un décalage élevé et un décalage faible tel que défini dans la spécification technique ETSI TS 102 221.
Vingt-quatre 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 par spécification technique ETSI TS 102 221. Il est de la responsabilité de la fonction de diviser le tout en plusieurs APDUs et de renvoyer le résultat dans une seule réponse.
28 4 LocalPinOffset DÉCALAGE Le décalage, en octets, calculé depuis le début de cette structure jusqu'à 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 la validation du code confidentiel local.
32 4 LocalPinSize SIZE (0..16) Taille du mot de passe, en octets.
36 4 BinaryDataOffset DÉCALAGE Décalage, en octets, calculé 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 TailleDesDonnéesBinaires TAILLE (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.

Réponse

La structure MBIM_UICC_RESPONSE suivante est utilisée dans InformationBuffer.

MBIM_UICC_RESPONSE (version 1)

Offset Taille Terrain Catégorie Descriptif
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 DÉCALAGE L'offset, en octets, calculé du début de cette structure jusqu'à 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 TAILLE (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 de statut

Les codes d’état suivants s’appliquent :

Code de statut Descriptif
MBIM_STATUS_BUSY État MBIM de base tel que défini pour toutes les commandes.
MBIM_STATUS_FAILURE État MBIM de base tel que défini pour toutes les commandes.
MBIM_STATUS_SIM_NOT_INSERTED (SIM non insérée) 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 d’état 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 UICC de type fixe linéaire ou cyclique, avec le type de structure MBIMUiccFileStructureCyclic ou MBIMUIccFileStructureLinear.

Paramètres

Opération Définissez Requête Notification
Commande Sans objet MBIM_UICC_ACCESS_RECORD Sans objet
Réponse Sans objet MBIM_UICC_RESPONSE Sans objet

Requête

Lit le contenu d’un enregistrement. L'InformationBuffer pour MBIM_COMMAND_MSG contient la structure suivante de MBIM_UICC_ACCESS_RECORD. MBIM_UICC_RESPONSE est retourné dans le fichier InformationBuffer de MBIM_COMMAND_DONE.

MBIM_UICC_ACCESS_RECORD (version 1)

Offset Taille Terrain Catégorie Descriptif
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 DÉCALAGE Décalage, en octets, depuis le début de cette structure jusqu'à la mémoire tampon contenant l’ID d’application.
8 4 AppIdSize SIZE (0..16) Taille de l’ID d’application, en octets, tel que 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 DÉCALAGE Le décalage, en octets, calculé depuis le début de cette structure jusqu’à la mémoire tampon contenant le chemin d'accès du fichier. Le chemin d’accès au 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ésignée par AppId. Sinon, il s'agit d'un chemin absolu commençant à partir du MF.
16 4 FilePathSize TAILLE Taille du chemin d’accès au fichier, en octets.
20 4 Numéro d’enregistrement UINT32(0..256) Numéro d’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).
Vingt-quatre 4 LocalPinOffset DÉCALAGE Le décalage, en octets, calculé depuis le début de cette structure jusqu'à la mémoire tampon contenant le mot de passe. Le mot de passe de verrou est une chaîne UTF-8 terminée par null de chiffres décimaux.
28 4 LocalPinSize SIZE (0..16) Taille du mot de passe, en octets.
32 4 RecordDataOffset DÉCALAGE Décalage, en octets, calculé 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 TAILLE (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.

Réponse

Une structure MBIM_UICC_RESPONSE est utilisée dans InformationBuffer.

Événements non sollicités

Non applicable.

Codes de statut

Les codes d’état suivants s’appliquent :

Code de statut Descriptif
MBIM_STATUS_BUSY État MBIM de base tel que défini pour toutes les commandes.
MBIM_STATUS_FAILURE État MBIM de base tel que défini pour toutes les commandes.
MBIM_STATUS_SIM_NOT_INSERTED (SIM non insérée) 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 d’état 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 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-application. Seuls les UICC compatibles avec une seule vérification sont pris en charge. Les UICC compatibles avec plusieurs vérifications qui prennent en charge plusieurs codes confidentiels d’application ne sont pas pris en charge. Un code confidentiel d'application (PIN1) est affecté à tous les ADF/DF et fichiers dans 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 PINs sont activés et si le rapport de plusieurs PINs est également activé, les fonctions doivent d'abord signaler le PIN1. Par exemple, si la création de rapports de verrou de subvention est activée et que le code PIN1 de la CARTE SIM est activé, le code confidentiel du verrou de subvention doit être signalé dans une demande de requête ultérieure uniquement une fois que le code PIN1 a été vérifié avec succès. Un code confidentiel vide est autorisé avec MBIMPinOperationEnter. Un code confidentiel vide est spécifié en définissant pinSize sur zéro. Dans ce cas, une commande SET est similaire à une requête et retourne l’état du code confidentiel référencé. Ceci est entièrement aligné sur le comportement de la commande VERIFY, comme 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 Sans objet
Réponse MBIM_PIN_INFO_EX MBIM_PIN_INFO_EX Sans objet

Requête

La structure MBIM_PIN_APP suivante est utilisée dans InformationBuffer.

MBIM_PIN_APP (version 1)

Offset Taille Terrain Catégorie Descriptif
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 DÉCALAGE Décalage, en octets, depuis le début de cette structure jusqu'à la mémoire tampon contenant l’ID d’application.
8 4 AppIdSize SIZE (0..16) Taille de l’ID d’application, en octets, tel que 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 Terrain Catégorie Descriptif
0 4 PinType MBIM_PIN_TYPE_EX Type de PIN. Consultez le tableau MBIM_PIN_TYPE_EX dans cette rubrique.
4 4 PinOperation MBIM_PIN_OPERATION L'opération PIN. Voir MBIM 1.0.
8 4 PinOffset DÉCALAGE Décalage, en octets, calculé depuis le début de cette structure jusqu'à une chaîne de caractères représentant le NIP indiquant la valeur du code confidentiel avec laquelle effectuer l’action, ou la valeur de code confidentiel requise pour activer ou désactiver les paramètres NIP. Ce champ s’applique à toutes les valeurs de PinOperation.
12 4 Taille de broche TAILLE (0..32) Taille, en octets, utilisée pour le code confidentiel.
16 4 NewPinOffset DÉCALAGE L'offset, en octets, est calculé à partir du début de cette structure jusqu'à la chaîne NewPin, qui représente la nouvelle valeur du PIN à définir lorsque PinOperation est MBIMPinOperationChange ou MBIMPinOperationEnter, pour PinTypeMBIMPinTypePuk1 ou PinTypeMBIMPinTypePuk2.
20 4 NewPinSize TAILLE (0..32) Taille, en octets, utilisée pour NewPin.
Vingt-quatre 4 AppIdOffset DÉCALAGE Décalage, en octets, calculé à partir du début de cette structure jusqu'à la mémoire tampon contenant l'ID de l'application.
28 4 AppIdSize SIZE (0..16) Taille de l’ID d’application, en octets, tel que 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 le Pin, NewPin et AppId.

Réponse

La structure MBIM_PIN_INFO_EX suivante est utilisée dans InformationBuffer.

Offset Taille Terrain Catégorie Descriptif
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. Voir MBIM 1.0.
8 4 TentativesRestantes UINT32 Nombre de tentatives restantes pour toutes 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 de statut

Les codes d’état suivants s’appliquent :

Code de statut Descriptif
MBIM_STATUS_BUSY État MBIM de base tel que défini pour toutes les commandes.
MBIM_STATUS_FAILURE État MBIM de base tel que défini pour toutes les commandes.
MBIM_STATUS_SIM_NOT_INSERTED (SIM non insérée) 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_STATUT_PIN_DÉSACTIVÉ L’opération a échoué, car le code confidentiel est désactivé.
MBIM_STATUS_PIN_REQUIRED (Code: PIN Requis) L’opération a échoué, car un code confidentiel doit être entré pour continuer.
MBIM_STATUS_NO_DEVICE_SUPPORT (Pas de support de l'appareil) L’opération a échoué, car une configuration sur un type de PIN correspondant n’est pas prise en charge par l’appareil.