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.

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 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.

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.