Acceso al sistema de archivos y aplicación de UICC de MB
Información general
En este tema se especifica una extensión a la interfaz de modelo de interfaz de banda ancha móvil (MBIM) para permitir el acceso a sistemas de archivos y aplicaciones de tarjetas inteligentes UICC. Esta extensión a MBIM expone el acceso lógico a las aplicaciones y sistemas de archivos compatibles con las especificaciones técnicas de ETSI TS 102 221 de UICC, y se admite en Windows 10, versión 1903 y posteriores.
Acceso a UICC y seguridad
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.
El sistema de archivos UICC puede considerarse un bosque de árboles de directorios. El árbol de SIM heredado se basa en un archivo maestro (MF) y contiene hasta dos niveles de subdirectorios (archivos dedicados o DF) que contienen archivos elementales (EFs) que contienen varios tipos de información. La SIM define los DF bajo el MF, uno de las cuales, DFTelecom, contiene información común a varios tipos de acceso, como la libreta de teléfonos 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 MF en el diagrama) contiene los nombres de aplicación y los identificadores correspondientes. Dentro de un árbol (MF o ADF), los DF y EF podrían identificarse mediante una ruta 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.
- OID_WWAN_UICC_APP_LIST
- OID_WWAN_UICC_FILE_STATUS
- OID_WWAN_UICC_ACCESS_BINARY
- OID_WWAN_UICC_ACCESS_RECORD
- OID_WWAN_PIN_EX2
Valores del servicio MBIM y CID
Nombre del servicio | UUID | Valor UUID |
---|---|---|
Acceso de UICC de bajo nivel de Microsoft | UUID_MS_UICC_LOW_LEVEL | C2F6588E-F037-4BC9-8665-F4D44BD09367 |
Extensiones de conexión de IP básicas 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 | UUID | Código de comando | Set | Consultar | Notificar |
---|---|---|---|---|---|
MBIM_CID_MS_UICC_APP_LIST | UUID_MS_UICC_LOW_LEVEL | 7 | N | Y | No |
MBIM_CID_MS_UICC_FILE_STATUS | UUID_MS_UICC_LOW_LEVEL | 8 | N | Y | No |
MBIM_CID_MS_UICC_ACCESS_BINARY | UUID_MS_UICC_LOW_LEVEL | 9 | Y | Y | No |
MBIM_CID_MS_UICC_ACCESS_RECORD | UUID_MS_UICC_LOW_LEVEL | 10 | Y | Y | No |
MBIM_CID_MS_PIN_EX | UUID_BASIC_CONNECT_EXTENSIONS | 14 | Y | Y | No |
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 de la estructura MBIM_UICC_APP_LIST usada en respuesta.
Parámetros
Operación | Set | Consultar | Notificación |
---|---|---|---|
Get-Help | No aplicable | Vacío | No aplicable |
Respuesta | No aplicable | MBIM_UICC_APP_LIST | No aplicable |
Consultar
InformationBuffer de MBIM_COMMAND_MSG está vacío.
Set
No aplicable.
Respuesta
InformationBuffer en MBIM_COMMAND_DONE contiene la siguiente estructura MBIM_UICC_APP_LIST.
MBIM_UICC_APP_LIST (versión 1)
Desplazamiento | Size | 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 UICC MBIM_UICC_APP_INFO de la aplicación UICC 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 a 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 una información de 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 | DataBuffer | DATABUFFER | Matriz de estructuras AppCount * MBIM_UICC_APP_INFO. |
MBIM_UICC_APP_INFO
Desplazamiento | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | AppType | MBIM_UICC_APP_TYPE | Tipo de la aplicación UICC. |
4 | 4 | AppIdOffset | OFFSET | Desplazamiento del identificador de aplicación en el databuffer. 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 | SIZE (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 del nombre de la aplicación en el databuffer. 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 que MBIM_MAXLENGTH_APPNAME bytes, este campo contiene el primer MBIM_MAXLENGTH_APPNAME - 1 bytes del nombre. La cadena siempre es terminada en null. | |
16 | 4 | AppNameLength | SIZE (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 | SIZE (0..8) | Número de referencias de clave PIN de 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. |
24 | 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 | SIZE (0..8) | Tamaño de PinKeyRef. |
32 | DataBuffer | DATABUFFER | El búfer de datos que contiene AppId, AppName y PinKeyRef de una sola tarjeta de verificación, 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 | Valor | Descripción |
---|---|---|
MBIMUiccAppTypeUnknown | 0 | Tipo desconocido. |
MBIMUiccAppTypeMf | 1 | Directorios SIM heredados con acceso root en el MF. |
MBIMUiccAppTypeMfSIM | 2 | Directorios SIM heredados con acceso root en DF_GSM. |
MBIMUiccAppTypeMfRUIM | 3 | Directorios SIM heredados con acceso root en 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:
status code | Descripción |
---|---|
MBIM_STATUS_SUCCESS | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_BUSY | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_FAILURE | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_SIM_NOT_INSERTED | No se puede realizar la operación UICC porque falta 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 | Set | Consultar | Notificación |
---|---|---|---|
Get-Help | No aplicable | MBIM_UICC_FILE_PATH | No aplicable |
Respuesta | No aplicable | MBIM_UICC_FILE_STATUS | No aplicable |
Consultar
InformationBuffer de MBIM_COMMAND_MSG contiene el EF de destino como una estructura MBIM_UICC_FILE_PATH.
MBIM_UICC_FILE_PATH (versión 1)
Desplazamiento | Size | 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 | Desplazamiento, en bytes, calculado desde el principio de esta estructura hasta el búfer que contiene el identificador de aplicación. |
8 | 4 | AppIdSize | SIZE (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 | FilePathOffset | OFFSET | Desplazamiento, en bytes, calculado desde el principio de esta estructura hasta el búfer que contiene la ruta del archivo. La ruta del archivo es una matriz de identificadores de archivo de 16 bits. El primer identificador debe ser 0x7FFF o 0x3F00. Si el primer ID es 0x7FFF, entonces la ruta es relativa al ADF de la aplicación designada por AppId. De lo contrario, es una ruta absoluta a partir de MF. |
16 | 4 | FilePathSize | SIZE (0..8) | Tamaño de la ruta del archivo, en bytes. |
20 | DataBuffer | DATABUFFER | Búfer de datos que contiene AppId y FilePath. |
Set
No aplicable.
Respuesta
La siguiente estructura MBIM_UICC_FILE_STATUS se usa en InformationBuffer.
MBIM_UICC_FILE_STATUS (versión 1)
Desplazamiento | Size | 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 | FileAccessibility | MBIM_UICC_FILE_ACCESSIBILITY | Accesibilidad del archivo UICC. |
16 | 4 | FileType | MBIM_UICC_FILE_TYPE | El tipo de archivo UICC. |
20 | 4 | FileStructure | MBIM_UICC_FILE_STRUCTURE | Estructura del archivo UICC. |
24 | 4 | ItemCount | UINT32 | Número de elementos en el archivo UICC. Para los archivos transparentes y TLV, se establece en 1. |
28 | 4 | Size | 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 | FileLockStatus | 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 ese archivo. |
MBIM_UICC_FILE_ACCESSIBILITY
La enumeración MBIM_UICC_FILE_ACCESSIBILITY se usa en la estructura de MBIM_UICC_FILE_STATUS anterior.
Tipo | Valor | 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 | Valor | Descripción |
---|---|---|
MBIMUiccFileTypeUnknown | 0 | Tipo de archivo desconocido. |
MBIMUiccFileTypeWorkingEf | 1 | EF operativo. |
MBIMUiccFileTypeInternalEf | 2 | EF interno. |
MBIMUiccFileTypeDfOrAdf | 3 | Archivo dedicado, un directorio que es el elemento primario de otros nodos. Puede ser un DF o ADF. |
MBIM_UICC_FILE_STRUCTURE
La enumeración MBIM_UICC_FILE_STRUCTURE se usa en la estructura de MBIM_UICC_FILE_STATUS anterior.
Tipo | Valor | Descripción |
---|---|---|
MBIMUiccFileStructureUnknown | 0 | Estructura de archivos desconocida. |
MBIMUiccFileStructureTransparent | 1 | Un único registro de longitud variable. |
MBIMUiccFileStructureCyclic | 2 | Conjunto cíclico de registros, cada uno de la misma longitud. |
MBIMUiccFileStructureLinear | 3 | Conjunto lineal de registros, cada uno de la misma longitud. |
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 | Valor | 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 | La clave de PIN1. |
MBIMPinTypePin2 | 3 | La clave de PIN2. |
MBIMPinTypeDeviceSimPin | 4 | El dispositivo a la llave SIM. |
MBIMPinTypeDeviceFirstSimPin | 5 | El dispositivo a la primera llave 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 a la red GSM. |
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 clave 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 | La clave de NEV. |
MBIMPinTypeAdm | 19 | Clave administrativa. |
Eventos no solicitados
No aplicable.
Códigos de estado
Se aplican los siguientes códigos de estado:
status code | Descripción |
---|---|
MBIM_STATUS_BUSY | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_FAILURE | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_SIM_NOT_INSERTED | No se puede realizar la operación UICC porque falta 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 actualmente otra aplicación está accediendo a él. 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 | Set | Consultar | Notificación |
---|---|---|---|
Get-Help | No aplicable | MBIM_UICC_ACCESS_BINARY | No aplicable |
Respuesta | No aplicable | MBIM_UICC_RESPONSE | No aplicable |
Consultar
Lee un archivo binario. InformationBuffer para MBIM_COMMAND_MSG contiene una estructura MBIM_UICC_ACCESS_BINARY. Se devuelve una estructura MBIM_UICC_RESPONSE en informationBuffer de MBIM_COMMAND_DONE.
MBIM_UICC_ACCESS_BINARY (versión 1)
Desplazamiento | Size | 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 principio de esta estructura hasta el búfer que contiene el identificador de aplicación. |
8 | 4 | AppIdSize | SIZE (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 | FilePathOffset | OFFSET | Desplazamiento, en bytes, calculado desde el principio de esta estructura hasta el búfer que contiene la ruta del archivo. La ruta del archivo es una matriz de identificadores de archivo de 16 bits. El primer identificador debe ser 0x7FFF o 0x3F00. Si el primer ID es 0x7FFF, entonces la ruta es relativa al ADF de la aplicación designada por AppId. De lo contrario, es una ruta absoluta a partir de MF. |
16 | 4 | FilePathSize | SIZE | Tamaño de la ruta del archivo, en bytes. |
20 | 4 | FileOffset | UINT32 | Desplazamiento que se va a usar al leer desde el archivo. Este campo puede tener más de 256 bytes y combina el desplazamiento alto y el desplazamiento bajo según se define en la especificación técnica ETSI TS 102 221. |
24 | 4 | NumberOfBytes | UINT32 | Número de bytes que se va a leer. Por ejemplo, un controlador cliente podría usar esta función para leer un archivo transparente (binario) de más de 256 bytes, aunque la cantidad máxima que se puede leer o escribir en una sola operación UICC es de 256 bytes según la especificación técnica ETSI TS 102 221. Es responsabilidad de la función dividirlo en varias APDU y devolver el resultado en una única respuesta. |
28 | 4 | LocalPinOffset | OFFSET | 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 | SIZE (0..16) | Tamaño de la contraseña, en bytes. |
36 | 4 | BinaryDataOffset | OFFSET | 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 | SIZE (0..32768) | Tamaño de los datos, en bytes. |
44 | DataBuffer | DATABUFFER | Búfer de datos que contiene AppId, FilePath, LocalPin y BinaryData. |
Set
No aplicable.
Respuesta
La siguiente estructura MBIM_UICC_RESPONSE se usa en InformationBuffer.
MBIM_UICC_RESPONSE (versión 1)
Desplazamiento | Size | 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 | ResponseDataOffset | OFFSET | 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 | ResponseDataSize | SIZE (0..32768) | Tamaño de los datos, en bytes. |
20 | DataBuffer | DATABUFFER | El búfer de datos que contiene ResponseData. |
Eventos no solicitados
No aplicable.
Códigos de estado
Se aplican los siguientes códigos de estado:
status code | Descripción |
---|---|
MBIM_STATUS_BUSY | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_FAILURE | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_SIM_NOT_INSERTED | No se puede realizar la operación UICC porque falta 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 actualmente otra aplicación está accediendo a él. 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 fijo o cíclico de UICC lineal, con el tipo de estructura MBIMUiccFileStructureCíclico o MBIMUIccFileStructureLinear.
Parámetros
Operación | Set | Consultar | Notificación |
---|---|---|---|
Get-Help | No aplicable | MBIM_UICC_ACCESS_RECORD | No aplicable |
Respuesta | No aplicable | MBIM_UICC_RESPONSE | No aplicable |
Consultar
Lee el contenido de un registro. InformationBuffer para MBIM_COMMAND_MSG contiene la siguiente estructura MBIM_UICC_ACCESS_RECORD. MBIM_UICC_RESPONSE se devuelve en informationBuffer de MBIM_COMMAND_DONE.
MBIM_UICC_ACCESS_RECORD (versión 1)
Desplazamiento | Size | 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 principio de esta estructura hasta el búfer que contiene el identificador de aplicación. |
8 | 4 | AppIdSize | SIZE (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 | FilePathOffset | OFFSET | Desplazamiento, en bytes, calculado desde el principio de esta estructura hasta el búfer que contiene la ruta del archivo. La ruta del archivo es una matriz de identificadores de archivo de 16 bits. El primer identificador debe ser 0x7FFF o 0x3F00. Si el primer ID es 0x7FFF, entonces la ruta es relativa al ADF de la aplicación designada por AppId. De lo contrario, es una ruta absoluta a partir de MF. |
16 | 4 | FilePathSize | SIZE | Tamaño de la ruta del archivo, en bytes. |
20 | 4 | RecordNumber | UINT32 (0..256) | Número de registro. 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). |
24 | 4 | LocalPinOffset | OFFSET | 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 | SIZE (0..16) | Tamaño de la contraseña, en bytes. |
32 | 4 | RecordDataOffset | OFFSET | 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 | RecordDataSize | SIZE (0..256) | Tamaño de los datos, en bytes. |
40 | DataBuffer | DATABUFFER | Búfer de datos que contiene AppId, FilePath, LocalPin y RecordData. |
Set
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:
status code | Descripción |
---|---|
MBIM_STATUS_BUSY | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_FAILURE | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_SIM_NOT_INSERTED | No se puede realizar la operación UICC porque falta 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 actualmente otra aplicación está accediendo a él. 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 se amplía para admitir tarjetas UICC de varias aplicaciones. Solo se admiten UICC compatibles con la 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 ADF/DF y archivos 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 escenario es lo que MBIM_CID_MS_PIN_EX admite.
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 PIN1. Por ejemplo, si la notificación de bloqueo a la red GSM está habilitada y el PIN1 de la SIM está habilitado, el PIN de bloqueo a la red GSM 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 QUERY 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 de ETSI TS 102 221.
Parámetros
Operación | Set | Consultar | Notificación |
---|---|---|---|
Get-Help | MBIM_SET_PIN_EX | MBIM_PIN_APP | No aplicable |
Respuesta | MBIM_PIN_INFO_EX | MBIM_PIN_INFO_EX | No aplicable |
Consultar
La siguiente estructura MBIM_PIN_APP se usa en InformationBuffer.
MBIM_PIN_APP (versión 1)
Desplazamiento | Size | 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 principio de esta estructura hasta el búfer que contiene el identificador de aplicación. |
8 | 4 | AppIdSize | SIZE (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 | DataBuffer | DATABUFFER | AppId tal como se define en la especificación técnica de ETSI TS 102 221. |
Set
La siguiente estructura MBIM_SET_PIN_EX se usa en InformationBuffer.
MBIM_SET_PIN_EX
Desplazamiento | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | PinType | MBIM_PIN_TYPE_EX | Tipo PIN. Consulte la tabla MBIM_PIN_TYPE_EX en este tema. |
4 | 4 | PinOperation | MBIM_PIN_OPERATION | La operación de PIN. Consulte MBIM 1.0. |
8 | 4 | PinOffset | OFFSET | Desplazamiento, en bytes, calculado desde el principio de esta estructura a un PIN de cadena que representa el valor del PIN con el que realizar la acción, o el valor de PIN necesario para habilitar o deshabilitar la configuración del PIN. Este campo se aplica a todos los valores de PinOperation. |
12 | 4 | PinSize | SIZE (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 se va a establecer cuando PinOperation es MBIMPinOperationChange o MBIMPinOperationEnter, para PinTypeMBIMPinTypePuk1 o PinTypeMBIMPinTypePuk2. |
20 | 4 | NewPinSize | SIZE (0..32) | Tamaño, en bytes, usado para NewPin. |
24 | 4 | AppIdOffset | OFFSET | Desplazamiento, en bytes, calculado desde el principio de esta estructura hasta el búfer que contiene el identificador de aplicación. |
28 | 4 | AppIdSize | SIZE (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 | DataBuffer | DATABUFFER | Búfer de datos que contiene el Pin, NewPin y AppId. |
Respuesta
La siguiente estructura MBIM_PIN_INFO_EX se usa en InformationBuffer.
Desplazamiento | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | PinType | MBIM_PIN_TYPE_EX | Tipo PIN. Consulte la tabla MBIM_PIN_TYPE_EX en este tema. |
4 | 4 | PinState | MBIM_PIN_STATE | El estado del PIN. Consulte MBIM 1.0. |
8 | 4 | RemainingAttempts | 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:
status code | Descripción |
---|---|
MBIM_STATUS_BUSY | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_FAILURE | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_SIM_NOT_INSERTED | No se puede realizar la operación UICC porque falta UICC. |
MBIM_STATUS_BAD_SIM | No se puede realizar la operación UICC porque UICC está en estado de error. |
MBIM_STATUS_PIN_DISABLED | Error en la operación porque el PIN está deshabilitado. |
MBIM_STATUS_PIN_REQUIRED | Error en la operación porque se debe escribir un PIN para continuar. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Error en la operación porque el dispositivo no admite SET en un tipo de PIN correspondiente. |