Compartir a través de


MB acceso a la aplicación y al sistema de archivos de UICC

Información general

En este tema se especifica una extensión al Modelo de Interfaz de Banda Ancha Móvil (MBIM) para permitir el acceso a aplicaciones y sistemas de archivos de tarjetas inteligentes UICC. Esta extensión a MBIM expone el acceso lógico a las aplicaciones y sistemas de archivos compatibles con especificaciones técnicas de ETSI TS 102 221 de UICC, y se admite en Windows 10, versión 1903 y posteriores.

Acceso y seguridad de UICC

UICC proporciona un sistema de archivos y admite un conjunto de aplicaciones que se pueden ejecutar simultáneamente. Estos incluyen el USIM para UMTS, CSIM para CDMA e ISIM para IMS. La SIM es una parte heredada del UICC que se puede modelar como una de estas aplicaciones (para GSM).

En el diagrama siguiente de la sección 8.1 de la especificación técnica de ETSI TS 102 221 se muestra una estructura de aplicación de tarjeta de ejemplo.

Diagrama que muestra una estructura de aplicación UICC de ejemplo.

El sistema de archivos UICC puede considerarse un bosque de árboles de directorios. El árbol SIM heredado se basa en un archivo maestro (MF) y contiene hasta dos niveles de subdirectorios (archivos dedicados o FD) que contienen archivos elementales (EFs) que contienen varios tipos de información. La SIM define los DF bajo el MF, uno de los cuales, DFTelecom, contiene información común a varios tipos de acceso, como la agenda telefónica común. Las aplicaciones adicionales se implementan de forma eficaz como árboles independientes, cada una de las cuales se basa en su propio archivo de directorio de aplicaciones (ADF). Cada ADF se identifica mediante un identificador de aplicación que puede tener hasta 128 bits de longitud. Un archivo bajo la raíz de la tarjeta (EFDir bajo el MF en el diagrama) contiene los nombres de aplicación y los identificadores correspondientes. Dentro de un árbol (MF o ADF), las FD y las FE podrían identificarse mediante una ruta de acceso de identificadores de archivo, donde un identificador de archivo es un entero de 16 bits.

Extensiones de interfaz NDIS

Se han definido los siguientes OID para admitir el acceso al sistema de archivos y la aplicación UICC.

Valores del servicio MBIM y CID

Nombre del servicio Identificador Único Universal (UUID) Valor UUID
Microsoft Low-Level UICC Access UUID_MS_UICC_LOW_LEVEL C2F6588E-F037-4BC9-8665-F4D44BD09367
Extensiones básicas de conectividad IP de Microsoft UUID_BASIC_CONNECT_EXTENSIONS 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF

En la tabla siguiente se especifica el UUID y el código de comando de cada CID, así como si el CID admite solicitudes Set, Query o Event (notification). Consulte la sección individual de cada CID en este tema para obtener más información sobre sus parámetros, estructuras de datos y notificaciones.

CID Identificador Único Universal (UUID) Código de comando Establecer Consulta Notificar
MBIM_CID_MS_UICC_APP_LIST UUID_MS_UICC_LOW_LEVEL 7 N Y N
MBIM_CID_MS_UICC_FILE_STATUS UUID_MS_UICC_LOW_LEVEL 8 N Y N
MBIM_CID_MS_UICC_ACCESS_BINARY UUID_MS_UICC_LOW_LEVEL 9 Y Y N
MBIM_CID_MS_UICC_ACCESS_RECORD UUID_MS_UICC_LOW_LEVEL 10 Y Y N
MBIM_CID_MS_PIN_EX UUID_BASIC_CONNECT_EXTENSIONS 14 Y Y N

MBIM_CID_MS_UICC_APP_LIST

Este CID recupera una lista de aplicaciones en un UICC e información sobre ellas. Cuando el UICC del módem está completamente inicializado y listo para registrarse con el operador móvil, se debe seleccionar una aplicación UICC para el registro y una consulta con este CID debe devolver la aplicación seleccionada en el campo ActiveAppIndex en la estructura de MBIM_UICC_APP_LIST usada en respuesta.

Parámetros

Operación Establecer Consulta Notificación
Comando No aplicable Empty No aplicable
Respuesta No aplicable MBIM_UICC_APP_LIST No aplicable

Consulta

InformationBuffer de MBIM_COMMAND_MSG está vacío.

Establecer

No aplicable.

Respuesta

El InformationBuffer en MBIM_COMMAND_DONE contiene la siguiente estructura MBIM_UICC_APP_LIST.

MBIM_UICC_APP_LIST (versión 1)

Offset Tamaño Campo Tipo Descripción
0 4 Versión UINT32 Número de versión de la estructura siguiente. Este campo debe establecerse en 1 para la versión 1 de esta estructura.
4 4 AppCount UINT32 El número de estructuras de la aplicación UICC MBIM_UICC_APP_INFO que se devuelven en esta respuesta.
8 4 ActiveAppIndex UINT32(0..NumApp - 1) Índice de la aplicación seleccionada por el módem para el registro con la red móvil. Este campo debe estar comprendido entre 0 y AppCount - 1. Indexa la matriz de aplicaciones devuelta por esta respuesta. Si no se selecciona ninguna aplicación para el registro, este campo contiene 0xFFFFFFFF.
12 4 AppListSize UINT32 Tamaño de los datos de la lista de aplicaciones, en bytes.
8*AppCount AppList OL_PAIR_LIST El primer elemento del par es un campo de 4 bytes con el desplazamiento de la información de la aplicación en DataBuffer. El segundo elemento del par es un campo de 4 bytes con el tamaño de la información de la aplicación.
AppListSize Búfer de Datos DATABUFFER Matriz de AppCount * MBIM_UICC_APP_INFO estructuras.

MBIM_UICC_APP_INFO

Offset Tamaño Campo Tipo Descripción
0 4 Tipo de Aplicación MBIM_UICC_APP_TYPE Tipo de la aplicación UICC.
4 4 AppIdOffset OFFSET Desplazamiento del identificador de aplicación en el búfer de datos. Solo los primeros bytes appIdSize son significativos. Si el identificador de aplicación es mayor que MBIM_MAXLENGTH_APPID bytes, AppIdSize especifica la longitud real, pero solo los primeros bytes de MBIM_MAXLENGTH_APPID están en este campo. Este campo solo es válido cuando AppType no es MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM o MBIMUiccAppTypeMfRUIM.
8 4 AppIdSize TAMAÑO (0..16) Tamaño del identificador de aplicación, en bytes, tal como se define en la sección 8.3 de la especificación técnica ETSI TS 102 221. AppIdSize puede contener un número mayor que 16, pero en este caso solo los primeros 16 bytes (MBIM_MAXLENGTH_APPID) están en el databuffer. Este campo se establece en cero para los tipos de aplicación MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM o MBIMUiccAppTypeMfRUIM.
12 AppNameOffset OFFSET Desplazamiento para el nombre de la aplicación en el buffer de datos. Cadena UTF-8 que especifica el nombre de la aplicación. AppNameLength especifica la longitud de este campo. Si la longitud es mayor o igual a MBIM_MAXLENGTH_APPNAME bytes, este campo contiene los primeros MBIM_MAXLENGTH_APPNAME - 1 bytes del nombre. La cadena siempre está terminada en null.
16 4 AppNameLength TAMAÑO (0..256) Longitud, en bytes, del nombre de la aplicación. AppNameLength puede contener un número igual o mayor que 256, pero en estos casos solo los primeros 255 (MBIM_MAXLENGTH_APPNAME - 1) bytes están en el databuffer.
20 4 NumPinKeyRefs TAMAÑO (0..8) Número de referencias de código PIN de la aplicación. Es decir, el número de elementos de PinKeyRef que son válidos. Las aplicaciones de una R-UIM virtual no tienen referencias de clave PIN.
veinticuatro 4 KeyRefOffset OFFSET Desplazamiento de PinKeyRef en DataBuffer. PinKeyRef es una matriz de bytes que especifica las referencias de clave PIN de la aplicación para distintos niveles de comprobación (claves para PIN1, PIN2 y, posiblemente, un PIN universal), tal como se define en la tabla 9.3 y la sección 9.4.2 de la especificación técnica ETSI TS 102 221. En el caso de una tarjeta de verificación única, o un controlador MBB o módem que no admite claves de aplicación diferentes para diferentes aplicaciones, el primer byte del campo PinKeyRef debe ser 0x01 (PIN1) y el segundo byte debe ser 0x81 (PIN2), como se describe en la sección 9.5.1 de ETSI TS 102 221.
28 4 KeyRefSize TAMAÑO (0..8) Tamaño de PinKeyRef.
32 Búfer de Datos DATABUFFER El búfer de datos que contiene AppId, AppName y PinKeyRef.de una tarjeta de verificación única, o un controlador MBB o módem que no admite claves de aplicación diferentes para diferentes aplicaciones, este campo debe ser 0x01.

MBIM_UICC_APP_TYPE

Tipo Importancia Descripción
Tipo de Aplicación UICC Desconocido 0 Tipo desconocido.
MBIMUiccAppTypeMf 1 Directorios SIM heredados rooteados en mf.
MBIMUiccAppTypeMfSIM 2 Directorios SIM heredados rooteados en el DF_GSM.
MBIMUiccAppTypeMfRUIM 3 Directorios SIM heredados rooteados en el DF_CDMA.
MBIMUiccAppTypeUSIM 4 Aplicación USIM.
MBIMUiccAppTypeCSIM 5 Aplicación CSIM.
MBIMUiccAppTypeISIM 6 Aplicación ISIM.

Constantes

Las constantes siguientes se definen para MBIM_CID_MS_UICC_APP_INFO.

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

Eventos no solicitados

No aplicable.

Códigos de estado

Se aplican los siguientes códigos de estado:

Código de estado Descripción
MBIM_STATUS_SUCCESS Estado de MBIM básico definido para todos los comandos.
MBIM_STATUS_BUSY Estado de MBIM básico definido para todos los comandos.
MBIM_STATUS_FAILURE Estado de MBIM básico definido para todos los comandos.
MBIM_STATUS_NO_DEVICE_SUPPORT Estado de MBIM básico definido para todos los comandos.
MBIM_STATUS_SIM_NOT_INSERTED No se puede realizar la operación UICC porque falta la UICC.
MBIM_STATUS_BAD_SIM No se puede realizar la operación UICC porque uiCC está en estado de error.
MBIM_STATUS_NOT_INITIALIZED No se puede realizar la operación UICC porque el UICC aún no se ha inicializado completamente.

MBIM_CID_MS_UICC_FILE_STATUS

Este CID recupera información sobre un archivo UICC especificado.

Parámetros

Operación Establecer Consulta Notificación
Comando No aplicable MBIM_UICC_FILE_PATH No aplicable
Respuesta No aplicable MBIM_UICC_FILE_STATUS No aplicable

Consulta

El InformationBuffer de MBIM_COMMAND_MSG contiene el EF de destino como una estructura MBIM_UICC_FILE_PATH.

MBIM_UICC_FILE_PATH (versión 1)

Offset Tamaño Campo Tipo Descripción
0 4 Versión UINT32 Número de versión de la estructura siguiente. Este campo debe ser 1 para la versión 1 de esta estructura.
4 4 AppIdOffset OFFSET El desplazamiento, en bytes, calculado desde el principio de esta estructura hasta el búfer que contiene el ID de aplicación.
8 4 AppIdSize TAMAÑO (0..16) Tamaño del identificador de aplicación, en bytes, tal como se define en la sección 8.3 de la especificación técnica ETSI TS 102 221. Para las tarjetas 2G, este campo debe establecerse en cero (0).
12 4 DesplazamientoDeRutaDeArchivo OFFSET El desplazamiento, en bytes, se calcula desde el principio de esta estructura hasta el búfer que contiene la ruta de acceso al archivo. La ruta de acceso del archivo es una matriz de identificadores de archivo de 16 bits. El primer identificador debe ser 0x7FFF o 0x3F00. Si el primer identificador es 0x7FFF, la ruta de acceso es relativa a la ADF de la aplicación designada por AppId. De lo contrario, es una ruta absoluta a partir de mf.
16 4 FilePathSize (Tamaño de la ruta de archivo) TAMAÑO (0..8) Tamaño de la ruta de acceso del archivo, en bytes.
20 Búfer de Datos DATABUFFER Búfer de datos que contiene AppId y FilePath.

Establecer

No aplicable.

Respuesta

La siguiente estructura MBIM_UICC_FILE_STATUS se usa en InformationBuffer.

MBIM_UICC_FILE_STATUS (versión 1)

Offset Tamaño Campo Tipo Descripción
0 4 Versión UINT32 Número de versión de la estructura siguiente. Este campo debe ser 1 para la versión 1 de esta estructura.
4 4 StatusWord1 UINT32(0..256) Parámetro devuelto específico del comando UICC.
8 4 StatusWord2 UINT32(0..256) Parámetro devuelto específico del comando UICC.
12 4 AccesibilidadDeArchivo MBIM_UICC_FILE_ACCESSIBILITY Accesibilidad del archivo UICC.
16 4 Tipo de archivo MBIM_UICC_FILE_TYPE Tipo de archivo UICC.
20 4 FileStructure MBIM_UICC_FILE_STRUCTURE Estructura de archivos UICC.
veinticuatro 4 Cantidad de Artículos UINT32 Número de elementos del archivo UICC. Para los archivos transparentes y TLV, se establece en 1.
28 4 Tamaño UINT32 Tamaño de cada elemento, en bytes. Para los archivos transparentes o TLV, este es el tamaño de todo EF. En el caso de los archivos basados en registros, representa el número total de registros.
32 16 EstadoDeBloqueoDelArchivo MBIM_PIN_TYPE_EX[4] Matriz de tipo MBIM_PIN_TYPE_EX que describe la condición de acceso para cada operación (READ, UPDATE, ACTIVATE y DEACTIVATE en ese orden) en el archivo mencionado.

MBIM_UICC_FILE_ACCESSIBILITY (Accesibilidad del archivo UICC MBIM)

La enumeración MBIM_UICC_FILE_ACCESSIBILITY se usa en la estructura MBIM_UICC_FILE_STATUS anterior.

Tipo Importancia Descripción
MBIMUiccFileAccessibilityUnknown 0 Se desconoce la capacidad de recursos compartidos de archivos.
MBIMUiccFileAccessibilityNotShareable 1 Archivo que no se puede compartir.
MBIMUiccFileAccessibilityShareable 2 Archivo que se puede compartir.

MBIM_UICC_FILE_TYPE

La enumeración MBIM_UICC_FILE_TYPE se usa en la estructura de MBIM_UICC_FILE_STATUS anterior.

Tipo Importancia Descripción
MBIMUiccFileTypeUnknown 0 Tipo de archivo desconocido.
MBIMUiccFileTypeWorkingEf 1 Funcionamiento de EF.
MBIMUiccFileTypeInternalEf 2 EF interno.
MBIMUiccFileTypeDfOrAdf 3 Archivo dedicado, un directorio que es el elemento primario de otros nodos. Puede ser un DF o un ADF.

MBIM_UICC_FILE_STRUCTURE

La enumeración MBIM_UICC_FILE_STRUCTURE se utiliza en la estructura anterior MBIM_UICC_FILE_STATUS.

Tipo Importancia Descripción
MBIMEstructuraDeArchivoDesconocida 0 Estructura de archivos desconocida.
MBIMUiccFileStructureTransparent 1 Un único registro de longitud variable.
MBIMUiccFileStructureCyclic 2 Un conjunto cíclico de registros, cada uno de los mismos largos.
MBIMUiccFileStructureLinear 3 Un conjunto lineal de registros, cada uno de los mismos largos.
MBIMUiccFileStructureBerTLV 4 Conjunto de valores de datos accesibles por etiqueta.

MBIM_PIN_TYPE_EX

La enumeración MBIM_PIN_TYPE_EX se usa en la estructura de MBIM_UICC_FILE_STATUS anterior.

Tipo Importancia Descripción
MBIMPinTypeNone 0 No hay ningún PIN pendiente de escribirse.
MBIMPinTypeCustom 1 El tipo de PIN es un tipo personalizado y no es ninguno de los otros tipos de PIN enumerados en esta enumeración.
MBIMPinTypePin1 2 Tecla PIN1.
MBIMPinTypePin2 3 Tecla PIN2.
MBIMPinTypeDeviceSimPin 4 El dispositivo a la tecla SIM.
MBIMPinTypeDeviceFirstSimPin 5 El dispositivo a la primera tecla SIM.
MBIMPinTypeNetworkPin 6 Clave de personalización de red.
MBIMPinTypeNetworkSubsetPin 7 Clave de personalización del subconjunto de red.
MBIMPinTypeServiceProviderPin 8 Clave de personalización del proveedor de servicios (SP).
MBIMPinTypeCorporatePin 9 Clave de personalización corporativa.
MBIMPinTypeSubsidyLock 10 Clave de desbloqueo de subsidios.
MBIMPinTypePuk1 11 Clave de desbloqueo número de identificación personal 1 (PUK1).
MBIMPinTypePuk2 12 Clave de desbloqueo número de identificación personal 2 (PUK2).
MBIMPinTypeDeviceFirstSimPuk 13 El dispositivo a la primera tecla de desbloqueo del PIN SIM.
MBIMPinTypeNetworkPuk 14 Clave de desbloqueo de personalización de red.
MBIMPinTypeNetworkSubsetPuk 15 Clave de desbloqueo de personalización del subconjunto de red.
MBIMPinTypeServiceProviderPuk 16 Clave de desbloqueo de personalización del proveedor de servicios (SP).
MBIMPinTypeCorporatePuk 17 Clave de desbloqueo de personalización corporativa.
MBIMPinTypeNev 18 Tecla NEV.
MBIMPinTypeAdm 19 Clave administrativa.

Eventos no solicitados

No aplicable.

Códigos de estado

Se aplican los siguientes códigos de estado:

Código de estado Descripción
MBIM_STATUS_BUSY Estado de MBIM básico definido para todos los comandos.
MBIM_STATUS_FAILURE Estado de MBIM básico definido para todos los comandos.
MBIM_STATUS_SIM_NOT_INSERTED No se puede realizar la operación UICC porque falta la UICC.
MBIM_STATUS_BAD_SIM No se puede realizar la operación UICC porque uiCC está en estado de error.
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR No se puede seleccionar el archivo porque no se puede compartir y está siendo accedido actualmente por otra aplicación. La palabra de estado devuelta por la SIM es 6985.

MBIM_CID_MS_UICC_ACCESS_BINARY

Este CID envía un comando específico para acceder a un archivo binario UICC, con el tipo de estructura MBIMUiccFileStructureTransparent o MBIMUiccFileStructureBerTLV.

Parámetros

Operación Establecer Consulta Notificación
Comando No aplicable MBIM_UICC_ACCESS_BINARY No aplicable
Respuesta No aplicable MBIM_UICC_RESPONSE No aplicable

Consulta

Lee un archivo binario. El InformationBuffer de MBIM_COMMAND_MSG contiene una estructura MBIM_UICC_ACCESS_BINARY. Se devuelve una estructura MBIM_UICC_RESPONSE en el InformationBuffer de MBIM_COMMAND_DONE.

MBIM_UICC_ACCESS_BINARY (versión 1)

Offset Tamaño Campo Tipo Descripción
0 4 Versión UINT32 Número de versión de la estructura siguiente. Este campo debe establecerse en 1 para la versión 1 de esta estructura.
4 4 AppIdOffset OFFSET Desplazamiento, en bytes, desde el inicio de esta estructura hasta el búfer que contiene el identificador de aplicación.
8 4 AppIdSize TAMAÑO (0..16) Tamaño del identificador de aplicación, en bytes, tal como se define en la sección 8.3 de la especificación técnica ETSI TS 102 221. Para las tarjetas 2G, este campo debe establecerse en cero (0).
12 4 DesplazamientoDeRutaDeArchivo OFFSET El desplazamiento, en bytes, se calcula desde el principio de esta estructura hasta el búfer que contiene la ruta de acceso al archivo. La ruta de acceso del archivo es una matriz de identificadores de archivo de 16 bits. El primer identificador debe ser 0x7FFF o 0x3F00. Si el primer identificador es 0x7FFF, la ruta de acceso es relativa a la ADF de la aplicación designada por AppId. De lo contrario, es una ruta absoluta a partir de mf.
16 4 FilePathSize (Tamaño de la ruta de archivo) TAMAÑO Tamaño de la ruta de acceso del archivo, en bytes.
20 4 FileOffset UINT32 El desplazamiento que se utiliza al leer desde el archivo. Este campo puede ser mayor que 256, y combina el desplazamiento alto y el desplazamiento bajo según se define en la especificación técnica ETSI TS 102 221.
veinticuatro 4 NumberOfBytes UINT32 Número de bytes que se van a leer. Por ejemplo, un controlador cliente podría usar esta función para leer un archivo transparente (binario) superior a 256 bytes, aunque la cantidad máxima que se puede leer o escribir en una sola operación UICC es de 256 bytes por la especificación técnica ETSI TS 102 221. Es responsabilidad de la función dividir esto en varios APDUs y devolver el resultado en una sola respuesta.
28 4 LocalPinOffset OFFSET El desplazamiento, en bytes, calculado desde el principio de esta estructura hasta el búfer que contiene la contraseña. Este es el PIN local (PIN2) y se usa en caso de que la operación requiera validación de PIN local.
32 4 LocalPinSize TAMAÑO (0..16) Tamaño de la contraseña, en bytes.
36 4 BinaryDataOffset OFFSET El desplazamiento, en bytes, calculado desde el principio de esta estructura hasta el búfer que contiene los datos específicos del comando. Los datos binarios solo se usan para las operaciones SET.
40 4 BinaryDataSize TAMAÑO (0..32768) Tamaño de los datos, en bytes.
44 Búfer de Datos DATABUFFER Búfer de datos que contiene AppId, FilePath, LocalPin y BinaryData.

Establecer

No aplicable.

Respuesta

La siguiente estructura MBIM_UICC_RESPONSE se usa en InformationBuffer.

MBIM_UICC_RESPONSE (versión 1)

Offset Tamaño Campo Tipo Descripción
0 4 Versión UINT32 Número de versión de la estructura siguiente. Este campo debe ser 1 para la versión 1 de esta estructura.
4 4 StatusWord1 UINT32(0..256) Parámetro devuelto específico del comando UICC.
8 4 StatusWord2 UINT32(0..256) Parámetro devuelto específico del comando UICC.
12 4 DesplazamientoDeDatosDeRespuesta OFFSET El desplazamiento, en bytes, calculado desde el principio de esta estructura hasta el búfer que contiene los datos de respuesta. Los datos de respuesta solo se usan para las operaciones QUERY.
16 4 TamañoDeDatosDeRespuesta TAMAÑO (0..32768) Tamaño de los datos, en bytes.
20 Búfer de Datos DATABUFFER Búfer de datos que contiene ResponseData.

Eventos no solicitados

No aplicable.

Códigos de estado

Se aplican los siguientes códigos de estado:

Código de estado Descripción
MBIM_STATUS_BUSY Estado de MBIM básico definido para todos los comandos.
MBIM_STATUS_FAILURE Estado de MBIM básico definido para todos los comandos.
MBIM_STATUS_SIM_NOT_INSERTED No se puede realizar la operación UICC porque falta la UICC.
MBIM_STATUS_BAD_SIM No se puede realizar la operación UICC porque uiCC está en estado de error.
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR No se puede seleccionar el archivo porque no se puede compartir y está siendo accedido actualmente por otra aplicación. La palabra de estado devuelta por la SIM es 6985.
MBIM_STATUS_PIN_FAILURE Error en la operación debido a un error de PIN.

MBIM_CID_MS_UICC_ACCESS_RECORD

Este CID envía un comando específico para acceder a un archivo lineal fijo o cíclico de UICC, con el tipo de estructura MBIMUiccFileStructureCyclic o MBIMUiccFileStructureLinear.

Parámetros

Operación Establecer Consulta Notificación
Comando No aplicable MBIM_UICC_ACCESS_RECORD No aplicable
Respuesta No aplicable MBIM_UICC_RESPONSE No aplicable

Consulta

Lee el contenido de un registro. El InformationBuffer para MBIM_COMMAND_MSG contiene la siguiente estructura MBIM_UICC_ACCESS_RECORD. MBIM_UICC_RESPONSE se devuelve en el InformationBuffer de MBIM_COMMAND_DONE.

MBIM_UICC_ACCESS_RECORD (versión 1)

Offset Tamaño Campo Tipo Descripción
0 4 Versión UINT32 Número de versión de la estructura siguiente. Este campo debe establecerse en 1 para la versión 1 de esta estructura.
4 4 AppIdOffset OFFSET Desplazamiento, en bytes, desde el inicio de esta estructura hasta el búfer que contiene el identificador de aplicación.
8 4 AppIdSize TAMAÑO (0..16) Tamaño del identificador de aplicación, en bytes, tal como se define en la sección 8.3 de la especificación técnica ETSI TS 102 221. Para las tarjetas 2G, este campo debe establecerse en cero (0).
12 4 DesplazamientoDeRutaDeArchivo OFFSET El desplazamiento, en bytes, se calcula desde el principio de esta estructura hasta el búfer que contiene la ruta de acceso al archivo. La ruta de acceso del archivo es una matriz de identificadores de archivo de 16 bits. El primer identificador debe ser 0x7FFF o 0x3F00. Si el primer identificador es 0x7FFF, la ruta de acceso es relativa a la ADF de la aplicación designada por AppId. De lo contrario, es una ruta absoluta a partir de mf.
16 4 FilePathSize (Tamaño de la ruta de archivo) TAMAÑO Tamaño de la ruta de acceso del archivo, en bytes.
20 4 NúmeroDeRegistro UINT32(0..256) Número de registro. Esto representa el índice de registro absoluto en todo momento. No se admite el acceso de registros relativos porque el módem puede realizar varios accesos en un archivo (NEXT, PREVIOUS).
veinticuatro 4 LocalPinOffset OFFSET El desplazamiento, en bytes, calculado desde el principio de esta estructura hasta el búfer que contiene la contraseña. La contraseña de bloqueo es una cadena UTF-8 terminada en null de dígitos decimales.
28 4 LocalPinSize TAMAÑO (0..16) Tamaño de la contraseña, en bytes.
32 4 RecordDataOffset OFFSET El desplazamiento, en bytes, calculado desde el principio de esta estructura hasta el búfer que contiene los datos específicos del comando. Los datos de registro solo se usan para las operaciones SET.
36 4 TamañoDeDatosDeRegistro TAMAÑO (0..256) Tamaño de los datos, en bytes.
40 Búfer de Datos DATABUFFER Búfer de datos que contiene AppId, FilePath, LocalPin y RecordData.

Establecer

No aplicable.

Respuesta

En InformationBuffer se usa una estructura MBIM_UICC_RESPONSE.

Eventos no solicitados

No aplicable.

Códigos de estado

Se aplican los siguientes códigos de estado:

Código de estado Descripción
MBIM_STATUS_BUSY Estado de MBIM básico definido para todos los comandos.
MBIM_STATUS_FAILURE Estado de MBIM básico definido para todos los comandos.
MBIM_STATUS_SIM_NOT_INSERTED No se puede realizar la operación UICC porque falta la UICC.
MBIM_STATUS_BAD_SIM No se puede realizar la operación UICC porque uiCC está en estado de error.
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR No se puede seleccionar el archivo porque no se puede compartir y está siendo accedido actualmente por otra aplicación. La palabra de estado devuelta por la SIM es 6985.
MBIM_STATUS_PIN_FAILURE Error en la operación debido a un error de PIN.

MBIM_CID_MS_PIN_EX

Este CID se usa para realizar todas las operaciones de seguridad de PIN tal y como se define en la sección 9 de la especificación técnica de ETSI TS 102 221. El CID es similar a MBIM_CID_MS_PIN, pero lo amplía para admitir tarjetas UICC de varias aplicaciones. Solo se admiten UICC compatibles con comprobación única. No se admiten UICC compatibles con varias comprobaciones que admiten más de un PIN de aplicación. Se asigna un PIN de aplicación (PIN1) a todos los archivos y ADFs en uiCC. Sin embargo, cada aplicación puede especificar un PIN local (PIN2) como requisito de comprobación de usuario de nivel 2, lo que da lugar a la necesidad de validación adicional para cada comando de acceso. Este es el escenario que admite MBIM_CID_MS_PIN_EX.

Al igual que MBIM_CID_MS_PIN, con MBIM_CID_MS_PIN_EX el dispositivo solo notifica un PIN a la vez. Si hay varios PIN habilitados y la notificación de varios PIN también está habilitada, las funciones deben notificar primero el PIN1. Por ejemplo, si la notificación de bloqueos de subvenciones está habilitada y el PIN1 de la SIM está habilitado, el PIN de bloqueo de subvención debe notificarse en una solicitud de consulta posterior solo después de que PIN1 se haya comprobado correctamente. Se permite un PIN vacío junto con MBIMPinOperationEnter. Se especifica un PIN vacío estableciendo PinSize en cero. En este caso, un comando SET es similar a una CONSULTA y devuelve el estado del PIN al que se hace referencia. Esto está totalmente alineado con el comportamiento del comando VERIFY tal como se especifica en la sección 11.1.9 de la especificación técnica ETSI TS 102 221.

Parámetros

Operación Establecer Consulta Notificación
Comando MBIM_SET_PIN_EX MBIM_PIN_APP No aplicable
Respuesta MBIM_PIN_INFO_EX MBIM_PIN_INFO_EX No aplicable

Consulta

La siguiente estructura MBIM_PIN_APP se usa en InformationBuffer.

MBIM_PIN_APP (versión 1)

Offset Tamaño Campo Tipo Descripción
0 4 Versión UINT32 Número de versión de la estructura siguiente. Este campo debe establecerse en 1 para la versión 1 de esta estructura.
4 4 AppIdOffset OFFSET Desplazamiento, en bytes, desde el inicio de esta estructura hasta el búfer que contiene el identificador de aplicación.
8 4 AppIdSize TAMAÑO (0..16) Tamaño del identificador de aplicación, en bytes, tal como se define en la sección 8.3 de la especificación técnica ETSI TS 102 221. Para las tarjetas 2G, este campo debe establecerse en cero (0).
12 Búfer de Datos DATABUFFER AppId tal como se define en la especificación técnica de ETSI TS 102 221.

Establecer

La siguiente estructura MBIM_SET_PIN_EX se usa en InformationBuffer.

MBIM_SET_PIN_EX

Offset Tamaño Campo Tipo Descripción
0 4 PinType MBIM_PIN_TYPE_EX Tipo de PIN. Consulte la tabla MBIM_PIN_TYPE_EX en este tema.
4 4 PinOperation MBIM_PIN_OPERATION Operación de PIN. Consulte MBIM 1.0.
8 4 PinOffset OFFSET Desplazamiento, en bytes, calculado desde el principio de esta estructura hasta una cadena que representa el valor del PIN con el que realizar la acción, o el valor del PIN necesario para habilitar o deshabilitar la configuración del PIN. Este campo se aplica a todos los valores de PinOperation.
12 4 Tamaño del Pin TAMAÑO (0..32) Tamaño, en bytes, usado para el PIN.
16 4 NewPinOffset OFFSET Desplazamiento, en bytes, calculado desde el principio de esta estructura hasta la cadena NewPin que representa el nuevo valor de PIN que debe establecerse cuando PinOperation sea MBIMPinOperationChange o MBIMPinOperationEnter, para PinTypeMBIMPinTypePuk1 o PinTypeMBIMPinTypePuk2.
20 4 NewPinSize TAMAÑO (0..32) Tamaño, en bytes, usado para NewPin.
veinticuatro 4 AppIdOffset OFFSET El desplazamiento, en bytes, calculado desde el principio de esta estructura hasta el búfer que contiene el ID de aplicación.
28 4 AppIdSize TAMAÑO (0..16) Tamaño del identificador de aplicación, en bytes, tal como se define en la sección 8.3 de la especificación técnica ETSI TS 102 221. Para las tarjetas 2G, este campo debe establecerse en cero (0).
32 Búfer de Datos DATABUFFER Búfer de datos que contiene el Pin, NewPin y AppId.

Respuesta

La siguiente estructura MBIM_PIN_INFO_EX se usa en InformationBuffer.

Offset Tamaño Campo Tipo Descripción
0 4 PinType MBIM_PIN_TYPE_EX Tipo de PIN. Consulte la tabla MBIM_PIN_TYPE_EX en este tema.
4 4 PinState MBIM_PIN_STATE Estado del PIN. Consulte MBIM 1.0.
8 4 IntentosRestantes UINT32 Número de intentos restantes para las operaciones relacionadas con EL PIN, como entrar, habilitar o deshabilitar. Los dispositivos que no admiten esta información deben establecer este miembro en 0xFFFFFFFF.

Eventos no solicitados

No aplicable.

Códigos de estado

Se aplican los siguientes códigos de estado:

Código de estado Descripción
MBIM_STATUS_BUSY Estado de MBIM básico definido para todos los comandos.
MBIM_STATUS_FAILURE Estado de MBIM básico definido para todos los comandos.
MBIM_STATUS_SIM_NOT_INSERTED No se puede realizar la operación UICC porque falta la UICC.
MBIM_STATUS_BAD_SIM No se puede realizar la operación UICC porque uiCC está en estado de error.
MBIM_STATUS_PIN_DISABLED (PIN desactivado) Error en la operación porque el PIN está deshabilitado.
MBIM_STATUS_PIN_REQUIRED (PIN requerido) Error en la operación porque se debe escribir un PIN para continuar.
MBIM_STATUS_NO_DEVICE_SUPPORT La operación falló porque el dispositivo no admite la configuración de un tipo de PIN correspondiente.