Partilhar via


Acesso ao aplicativo e sistema de arquivos MB UICC

Visão geral

Este tópico especifica uma extensão para a interface MBIM (Mobile Broadband Interface Model) para permitir o acesso a sistemas de arquivos e aplicativos de cartão inteligente UICC. Esta extensão para MBIM apresenta acesso lógico aos aplicativos e sistemas de arquivos compatíveis com a especificação técnica ETSI TS 102 221 da UICC, e é suportada no Windows 10, versão 1903 e posteriores.

O acesso e a segurança da UICC

O UICC fornece um sistema de arquivos e suporta um conjunto de aplicativos que podem ser executados simultaneamente. Estes incluem o USIM para UMTS, CSIM para CDMA e ISIM para IMS. O SIM é uma parte herdada da UICC que pode ser modelada como uma dessas aplicações (para GSM).

O diagrama a seguir da Seção 8.1 da especificação técnica ETSI TS 102 221 mostra um exemplo de estrutura de aplicação de cartão.

Diagrama que mostra um exemplo de estrutura de aplicativo UICC.

O sistema de arquivos UICC pode ser considerado como uma floresta de árvores de diretório. A árvore SIM herdada está enraizada em um Master File (MF) e contém até dois níveis de subdiretórios (Arquivos Dedicados ou DFs) contendo Arquivos Elementais (EFs) que contêm vários tipos de informações. O SIM define DFs sob o MF, um dos quais, DFTelecom, contém informações comuns a vários tipos de acesso, como o catálogo telefônico comum. Aplicativos adicionais são efetivamente implementados como árvores separadas, cada uma enraizada em seu próprio arquivo de diretório de aplicativos (ADF). Cada ADF é identificado por um identificador de aplicativo que pode ter até 128 bits de comprimento. Um arquivo sob a raiz do cartão (EFDir sob o MF no diagrama) contém os nomes dos aplicativos e identificadores correspondentes. Dentro de uma árvore (MF ou ADF), DFs e EFs podem ser identificados por um caminho de IDs de arquivo, onde um ID de arquivo é um inteiro de 16 bits.

Extensões de interface NDIS

Os seguintes OIDs foram definidos para suportar o acesso ao aplicativo UICC e ao sistema de arquivos.

Serviço MBIM e valores CID

Nome do serviço Identificador Único Universal (UUID) Valor UUID
Microsoft Low-Level Acesso ao UICC UUID_MS_UICC_LOW_LEVEL C2F6588E-F037-4BC9-8665-F4D44BD09367
Extensões de conectividade IP básica da Microsoft Extensões Básicas de Conexão UUID 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF

A tabela a seguir especifica o UUID e o código de comando para cada CID, bem como se o CID suporta solicitações set, Query ou Event (notificação). Consulte a Seção individual de cada CID neste tópico para obter mais informações sobre seus parâmetros, estruturas de dados e notificações.

CID UUID Código de comando Conjunto 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_EXTENSÕES_DE_CONEXÃO_BÁSICA 14 Y Y N

MBIM_CID_MS_UICC_APP_LIST

Este CID recupera uma lista de aplicações num(a) UICC e informações sobre elas. Quando o UICC no modem estiver totalmente inicializado e pronto para se registrar com a operadora móvel, um aplicativo UICC deve ser selecionado para registro e uma consulta com esse CID deve retornar o aplicativo selecionado no campo ActiveAppIndex na estrutura de MBIM_UICC_APP_LIST usada em resposta.

Parâmetros

Funcionamento Conjunto Consulta Notificação
Comando Não aplicável Vazio Não aplicável
Resposta Não aplicável MBIM_UICC_APP_LIST Não aplicável

Consulta

O InformationBuffer de MBIM_COMMAND_MSG está vazio.

Conjunto

Não aplicável.

Resposta

O InformationBuffer no MBIM_COMMAND_DONE contém a seguinte estrutura MBIM_UICC_APP_LIST.

MBIM_UICC_APP_LIST (versão 1)

Compensação Tamanho Campo Tipo Descrição
0 4 Versão UINT32 O número da versão da estrutura que se segue. Este campo deve ser definido como 1 para a versão 1 desta estrutura.
4 4 Contagem de aplicativos UINT32 O número de estruturas de aplicação UICC MBIM_UICC_APP_INFO que estão sendo retornadas nesta resposta.
8 4 ActiveAppIndex UINT32(0..NumApp - 1) O índice do aplicativo selecionado pelo modem para registro com a rede móvel. Este campo deve estar entre 0 e o AppCount - 1. Ele indexa à matriz de aplicativos retornados por essa resposta. Se nenhuma candidatura for selecionada para registo, este campo contém 0xFFFFFFFF.
12 4 AppListSize UINT32 O tamanho dos dados da lista de aplicativos, em bytes.
8*Contagem de aplicativos Lista de aplicativos OL_PAIR_LIST O primeiro elemento do par é um campo de 4 bytes com o deslocamento de informações de um aplicativo no DataBuffer. O segundo elemento do par é um campo de 4 bytes com o tamanho das informações do aplicativo.
TamanhoListaAplicações Buffer de Dados BUFFER DE DADOS Matriz de estruturas MBIM_UICC_APP_INFOAppCount * .

MBIM_UICC_APP_INFO

Deslocamento Tamanho Campo Tipo Descrição
0 4 Tipo de aplicativo MBIM_UICC_APP_TYPE O tipo do aplicativo UICC.
4 4 AppIdOffset DESLOCAMENTO Deslocamento para o ID da aplicação no buffer de dados. Apenas os primeiros bytes AppIdSize são significativos. Se o ID do aplicativo for maior que MBIM_MAXLENGTH_APPID bytes, o AppIdSize especifica o comprimento real, mas apenas os primeiros MBIM_MAXLENGTH_APPID bytes estão nesse campo. Este campo é válido apenas quando AppType não é MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM ou MBIMUiccAppTypeMfRUIM.
8 4 AppIdSize TAMANHO (0..16) O tamanho do ID do aplicativo, em bytes, conforme definido na seção 8.3 da especificação técnica ETSI TS 102 221. AppIdSize pode conter um número maior que 16, mas neste caso apenas os primeiros 16 (MBIM_MAXLENGTH_APPID) bytes estão no databuffer. Este campo é definido como zero para os tipos de aplicativo MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM ou MBIMUiccAppTypeMfRUIM.
12 AppNameOffset COMPENSAÇÃO Deslocamento para o nome do aplicativo no buffer de dados. Uma cadeia de caracteres UTF-8 especificando o nome do aplicativo. O comprimento deste campo é especificado por AppNameLength. Se o comprimento for maior ou igual a MBIM_MAXLENGTH_APPNAME bytes, este campo contém o primeiro MBIM_MAXLENGTH_APPNAME - 1 byte do nome. A cadeia de caracteres é sempre terminada em nulo.
16 4 AppNameLength TAMANHO (0..256) O comprimento, em bytes, do nome do aplicativo. AppNameLength pode conter um número igual ou maior que 256, mas nesses casos apenas os primeiros 255 (MBIM_MAXLENGTH_APPNAME - 1) bytes estão no databuffer.
20 4 NumPinKeyRefs TAMANHO (0..8) O número de referências de chave PIN do aplicativo. Em outras palavras, o número de elementos de PinKeyRef que são válidos. As aplicações num R-UIM virtual não têm referências de chave PIN.
24 4 KeyRefOffset COMPENSAÇÃO Deslocamento do PinKeyRef no DataBuffer. O PinKeyRef é uma matriz de bytes que especifica as referências de chave PIN do aplicativo para diferentes níveis de verificação (chaves para PIN1, PIN2 e, possivelmente, um PIN universal), conforme definido na Tabela 9.3 e na Seção 9.4.2 da especificação técnica ETSI TS 102 221. No caso de uma placa de verificação única, ou de um driver MBB e/ou modem que não suporte chaves de aplicativo diferentes para aplicações diferentes, o primeiro byte do campo PinKeyRef deve ser 0x01 (PIN1) e o segundo byte deve ser 0x81 (PIN2), conforme descrito na Seção 9.5.1 do ETSI TS 102 221.
28 4 KeyRefSize TAMANHO (0..8) O tamanho de PinKeyRef.
32 Buffer de Dados BUFFER DE DADOS O buffer de dados que contém AppId, AppName e PinKeyRef.de uma placa de verificação única ou um driver e/ou modem MBB que não suporta chaves de aplicativo diferentes para aplicativos diferentes, este campo deve ser 0x01.

MBIM_UICC_APP_TYPE

Tipo Valor Descrição
MBIMUiccAppTypeUnknown 0 Tipo desconhecido.
MBIMUiccAppTypeMf 1 Diretórios SIM herdados enraizados no MF.
MBIMUiccAppTypeMfSIM 2 Diretórios SIM herdados enraizados no DF_GSM.
MBIMUiccAppTypeMfRUIM 3 Diretórios SIM herdados enraizados no DF_CDMA.
MBIMUiccAppTypeUSIM 4 Aplicação USIM.
MBIMUiccAppTypeCSIM 5 Aplicação CSIM.
MBIMUiccAppTypeISIM 6 Aplicação ISIM.

Constantes

As constantes a seguir são definidas 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 não solicitados

Não aplicável.

Códigos de estado

São aplicáveis os seguintes códigos de estado:

Código de status Descrição
MBIM_STATUS_SUCCESS Status básico do MBIM conforme definido para todos os comandos.
MBIM_ESTADO_OCUPADO Status básico do MBIM, conforme definido para todos os comandos.
MBIM_STATUS_FAILURE Estado básico do MBIM conforme definido para todos os comandos.
MBIM_STATUS_SEM_SUPORTE_DO_DISPOSITIVO Status básico do MBIM, conforme definido para todos os comandos.
STATUS_MBIM_CARTÃO_SIM_NÃO_INSERIDO Não é possível executar a operação UICC porque o UICC está faltando.
MBIM_STATUS_BAD_SIM Não é possível executar a operação UICC porque o UICC está em um estado de erro.
MBIM_STATUS_NOT_INITIALIZED Não é possível executar a operação UICC porque a UICC ainda não está totalmente inicializada.

MBIM_CID_MS_UICC_FILE_STATUS

Este CID recupera informações sobre um ficheiro UICC especificado.

Parâmetros

Funcionamento Conjunto Consulta Notificação
Comando Não aplicável MBIM_UICC_FILE_PATH Não aplicável
Resposta Não aplicável MBIM_UICC_FILE_STATUS Não aplicável

Consulta

O InformationBuffer do MBIM_COMMAND_MSG contém o EF de destino como uma estrutura MBIM_UICC_FILE_PATH.

MBIM_UICC_FILE_PATH (versão 1)

Deslocamento Tamanho Campo Tipo Descrição
0 4 Versão UINT32 O número da versão da estrutura que se segue. Este campo deve ser 1 para a versão 1 desta estrutura.
4 4 AppIdOffset COMPENSAÇÃO O deslocamento, em bytes, calculado desde o início desta estrutura até o buffer que contém o ID da aplicação.
8 4 AppIdSize TAMANHO (0..16) O tamanho do ID do aplicativo, em bytes, conforme definido na seção 8.3 da especificação técnica ETSI TS 102 221 . Para placas 2G, este campo deve ser definido como zero (0).
12 4 FilePathOffset DESLOCAMENTO O deslocamento, em bytes, calculado desde o início dessa estrutura até o buffer que contém o caminho do arquivo. O caminho do arquivo é uma matriz de IDs de arquivo de 16 bits. O primeiro ID deve ser 0x7FFF ou 0x3F00. Se o primeiro ID for 0x7FFF, o caminho será relativo ao ADF da aplicação designada por AppId. Caso contrário, é um caminho absoluto a partir do MF.
16 4 FilePathSize TAMANHO (0..8) O tamanho do caminho do arquivo, em bytes.
20 Buffer de Dados BUFFER DE DADOS O buffer de dados que contém AppId e FilePath.

Conjunto

Não aplicável.

Resposta

A seguinte estrutura MBIM_UICC_FILE_STATUS é usada no InformationBuffer.

MBIM_UICC_FILE_STATUS (versão 1)

Deslocamento Tamanho Campo Tipo Descrição
0 4 Versão UINT32 O número da versão da estrutura que se segue. Este campo deve ser 1 para a versão 1 desta estrutura.
4 4 StatusWord1 UINT32(0..256) Um parâmetro de retorno específico para o comando UICC.
8 4 StatusWord2 UINT32(0..256) Um parâmetro de retorno específico para o comando UICC.
12 4 Acessibilidade de Ficheiros MBIM_UICC_FILE_ACCESSIBILITY A acessibilidade do arquivo UICC.
16 4 Tipo de ficheiro MBIM_UICC_FILE_TYPE O tipo de arquivo UICC.
20 4 Estrutura de Ficheiros MBIM_UICC_FILE_STRUCTURE A estrutura do arquivo UICC.
24 4 Contagem de Itens UINT32 O número de itens no arquivo UICC. Para arquivos transparentes e TLV, isso é definido como 1.
28 4 Tamanho UINT32 O tamanho de cada item, em bytes. Para arquivos transparentes ou TLV, esse é o tamanho de todo o EF. Para arquivos baseados em registros, isso representa o número total de registros.
32 16 FileLockStatus MBIM_PIN_TYPE_EX[4] Uma matriz do tipo MBIM_PIN_TYPE_EX que descreve a condição de acesso para cada operação (READ, UPDATE, ACTIVATE e DEACTIVATE nessa ordem) nesse arquivo.

MBIM_UICC_FILE_ACCESSIBILITY

A enumeração MBIM_UICC_FILE_ACCESSIBILITY é usada na estrutura MBIM_UICC_FILE_STATUS anterior.

Tipo Valor Descrição
MBIMUiccFileAccessibilityUnknown 0 Compartilhabilidade de arquivos desconhecida.
AcessibilidadeDoFicheiroUiccMBIMNãoPartilhável 1 Arquivo não compartilhável.
AcessibilidadeDoFicheiroUICCPartilhável 2 Arquivo compartilhável.

MBIM_UICC_FILE_TYPE

A enumeração MBIM_UICC_FILE_TYPE é usada na estrutura MBIM_UICC_FILE_STATUS anterior.

Tipo Valor Descrição
TipoDeArquivoDesconhecidoMBIMUicc 0 Tipo de ficheiro desconhecido.
MBIMUiccFileTypeWorkingEf 1 Funcionamento do EF.
TipoDeFicheiroInternoEfMBIMUicc 2 EF interna.
MBIMUiccFileTypeDfOrAdf 3 Arquivo dedicado, ou seja, um diretório que serve como pai de outros nós. Pode ser um DF ou ADF.

MBIM_UICC_FILE_STRUCTURE

A enumeração MBIM_UICC_FILE_STRUCTURE é usada na estrutura MBIM_UICC_FILE_STATUS anterior.

Tipo Valor Descrição
MBIMUiccFileStructureUnknown 0 Uma estrutura de arquivo desconhecida.
EstruturaDeFicheiroTransparenteMBIMUicc 1 Um único registo de comprimento variável.
MBIMUiccFileStructureCyclic 2 Um conjunto cíclico de registos, cada um com o mesmo comprimento.
MBIMUiccFileStructureLinear 3 Um conjunto linear de registos, cada um com o mesmo comprimento.
MBIMUiccFileStructureBerTLV 4 Um conjunto de valores de dados acessíveis por tag .

MBIM_PIN_TYPE_EX

A enumeração MBIM_PIN_TYPE_EX é usada na estrutura MBIM_UICC_FILE_STATUS anterior.

Tipo Valor Descrição
MBIMPinTypeNone 0 Nenhum PIN está pendente para ser inserido.
MBIMPinTypeCustom 1 O tipo de PIN é um tipo personalizado e não é nenhum dos outros tipos de PIN listados nesta enumeração.
MBIMPinTypePin1 2 A tecla PIN1.
MBIMPinTypePin2 3 A tecla PIN2.
MBIMPinTypeDeviceSimPin 4 O dispositivo para o cartão SIM.
MBIMPinTypeDeviceFirstSimPin 5 O dispositivo para a primeira chave SIM.
MBIMPinTypeNetworkPin 6 A chave de personalização da rede.
MBIMPinTypeNetworkSubsetPin 7 A chave de personalização do subconjunto de rede.
MBIMPinTypeServiceProviderPin 8 A chave de personalização do provedor de serviços (SP).
MBIMPinTypeCorporatePin 9 A chave de personalização corporativa.
MBIMPinTypeSubsidyLock 10 A chave de desbloqueio do subsídio.
MBIMPinTypePuk1 11 A Chave de Desbloqueio Número de Identificação Pessoal 1 (PUK1).
MBIMPinTypePuk2 12 A Chave de Desbloqueio do Número de Identificação Pessoal 2 (PUK2).
MBIMPinTypeDeviceFirstSimPuk 13 O dispositivo para desbloquear o PIN SIM pela primeira vez.
MBIMPinTypeNetworkPuk 14 A chave de desbloqueio de personalização de rede.
MBIMPinTypeNetworkSubsetPuk 15 A chave de desbloqueio de personalização do subconjunto de rede.
MBIMPinTypeServiceProviderPuk 16 A chave de desbloqueio de personalização do provedor de serviços (SP).
MBIMPinTypeCorporatePuk 17 A chave de desbloqueio para personalização corporativa.
MBIMPinTypeNev 18 A chave NEV.
MBIMPinTypeAdm 19 A chave administrativa.

Eventos não solicitados

Não aplicável.

Códigos de estado

São aplicáveis os seguintes códigos de estado:

Código de status Descrição
MBIM_STATUS_BUSY Estado básico do MBIM tal como definido para todos os comandos.
MBIM_STATUS_FAILURE (Falha) Status básico do MBIM tal como definido para todos os comandos.
MBIM_STATUS_SIM_NÃO_INSERIDO Não é possível executar a operação UICC porque o UICC está faltando.
MBIM_STATUS_BAD_SIM Não é possível executar a operação UICC porque o UICC está em um estado de erro.
Erro de Condição de Partilha - MBIM_STATUS_SHAREABILITY_CONDITION_ERROR O arquivo não pode ser selecionado porque não é compartilhável e está sendo acessado por outro aplicativo. A palavra de status retornada pelo SIM é 6985.

MBIM_CID_MS_UICC_ACCESS_BINARY

Este CID envia um comando específico para acessar um arquivo binário UICC, com o tipo de estrutura MBIMUiccFileStructureTransparent ou MBIMUiccFileStructureBerTLV.

Parâmetros

Funcionamento Conjunto Consulta Notificação
Comando Não aplicável MBIM_UICC_ACCESS_BINARY Não aplicável
Resposta Não aplicável MBIM_UICC_RESPONSE Não aplicável

Consulta

Lê um arquivo binário. O InformationBuffer para MBIM_COMMAND_MSG contém uma estrutura MBIM_UICC_ACCESS_BINARY. Uma estrutura MBIM_UICC_RESPONSE é retornada no buffer de informações do MBIM_COMMAND_DONE.

MBIM_UICC_ACCESS_BINARY (versão 1)

Compensação Tamanho Campo Tipo Descrição
0 4 Versão UINT32 O número da versão da estrutura que se segue. Este campo deve ser definido como 1 para a versão 1 desta estrutura.
4 4 AppIdOffset COMPENSAÇÃO O deslocamento, em bytes, do início desta estrutura até o buffer que contém o identificador do aplicativo.
8 4 AppIdSize TAMANHO (0..16) O tamanho do ID do aplicativo, em bytes, conforme definido na seção 8.3 da especificação técnica ETSI TS 102 221 . Para placas 2G, este campo deve ser definido como zero (0).
12 4 FilePathOffset COMPENSAÇÃO O deslocamento, em bytes, calculado desde o início dessa estrutura até o buffer que contém o caminho do arquivo. O caminho do arquivo é uma matriz de IDs de arquivo de 16 bits. O primeiro ID deve ser 0x7FFF ou 0x3F00. Se o primeiro ID for 0x7FFF, o caminho será relativo ao ADF da aplicação designada por AppId. Caso contrário, é um caminho absoluto a partir do MF.
16 4 FilePathSize TAMANHO O tamanho do caminho do arquivo, em bytes.
20 4 FileOffset UINT32 O offset a utilizar ao ler o ficheiro. Este campo pode ser maior que 256 e combina deslocamento alto e deslocamento baixo, conforme definido na especificação técnica ETSI TS 102 221 .
24 4 NúmeroDeBytes UINT32 O número de bytes a serem lidos. Por exemplo, um driver de cliente pode usar essa função para ler um arquivo transparente (binário) maior que 256 bytes, embora a quantidade máxima que pode ser lida ou gravada em uma única operação UICC seja de 256 bytes de acordo com a especificação técnica ETSI TS 102 221. É responsabilidade da função dividir isso em vários APDUs e enviar de volta o resultado em uma única resposta.
28 4 LocalPinOffset COMPENSAÇÃO O deslocamento, em bytes, calculado a partir do início desta estrutura até ao buffer que contém a senha. Este é o PIN local (PIN2) e é usado no caso de a operação exigir validação de PIN local.
32 4 LocalPinSize TAMANHO (0..16) O tamanho da senha, em bytes.
36 4 BinaryDataOffset OFFSET O deslocamento, em bytes, calculado desde o início dessa estrutura até o buffer que contém os dados específicos do comando. Os dados binários são usados apenas para operações SET.
40 4 BinaryDataSize TAMANHO (0..32768) O tamanho dos dados, em bytes.
44 Buffer de Dados BUFFER DE DADOS O buffer de dados que contém AppId, FilePath, LocalPin e BinaryData.

Conjunto

Não aplicável.

Resposta

A seguinte estrutura MBIM_UICC_RESPONSE é usada no InformationBuffer.

MBIM_UICC_RESPONSE (versão 1)

Compensação Tamanho Campo Tipo Descrição
0 4 Versão UINT32 O número da versão da estrutura que se segue. Este campo deve ser 1 para a versão 1 desta estrutura.
4 4 StatusWord1 UINT32(0..256) Um parâmetro de retorno específico para o comando UICC.
8 4 StatusWord2 UINT32(0..256) Um parâmetro de retorno específico para o comando UICC.
12 4 DeslocamentoDeDadosDeResposta COMPENSAÇÃO O deslocamento, em bytes, calculado desde o início dessa estrutura até o buffer que contém os dados de resposta. Os dados de resposta são usados apenas para operações QUERY.
16 4 TamanhoDosDadosDeResposta TAMANHO (0..32768) O tamanho dos dados, em bytes.
20 Buffer de Dados BUFFER DE DADOS O buffer de dados que contém ResponseData.

Eventos não solicitados

Não aplicável.

Códigos de estado

São aplicáveis os seguintes códigos de estado:

Código de status Descrição
MBIM_STATUS_BUSY Estado básico do MBIM conforme definido para todos os comandos.
MBIM_STATUS_FAILURE (Falha de Status MBIM) Status básico do MBIM conforme definido para todos os comandos.
MBIM_STATUS_SIM_NÃO_INSERIDO Não é possível executar a operação UICC porque o UICC está faltando.
MBIM_STATUS_BAD_SIM Não é possível executar a operação UICC porque o UICC está em um estado de erro.
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR O arquivo não pode ser selecionado porque não é compartilhável e está sendo acessado por outro aplicativo. A palavra de status retornada pelo SIM é 6985.
MBIM_STATUS_PIN_FAILURE (Falha no PIN) A operação falhou devido a um erro de PIN.

MBIM_CID_MS_UICC_ACCESS_RECORD

Este CID envia um comando específico para aceder a um ficheiro UICC linear fixo ou cíclico, com a estrutura de tipo MBIMUiccFileStructureCyclic ou MBIMUiccFileStructureLinear.

Parâmetros

Funcionamento Conjunto Consulta Notificação
Comando Não aplicável MBIM_UICC_ACCESS_RECORD Não aplicável
Resposta Não aplicável MBIM_UICC_RESPONSE Não aplicável

Consulta

Lê o conteúdo de um registro. O buffer de informação para MBIM_COMMAND_MSG contém a seguinte estrutura MBIM_UICC_ACCESS_RECORD. MBIM_UICC_RESPONSE é retornado no InformationBuffer de MBIM_COMMAND_DONE.

MBIM_UICC_ACCESS_RECORD (versão 1)

Compensação Tamanho Campo Tipo Descrição
0 4 Versão UINT32 O número da versão da estrutura que vem a seguir. Este campo deve ser definido como 1 para a versão 1 desta estrutura.
4 4 AppIdOffset DESLOCAMENTO O deslocamento, em bytes, do início dessa estrutura para o buffer que contém a ID do aplicativo.
8 4 AppIdSize TAMANHO (0..16) O tamanho do ID do aplicativo, em bytes, conforme definido na seção 8.3 da especificação técnica ETSI TS 102 221 . Para placas 2G, este campo deve ser definido como zero (0).
12 4 FilePathOffset DESLOCAMENTO O deslocamento, em bytes, calculado desde o início dessa estrutura até o buffer que contém o caminho do arquivo. O caminho do arquivo é uma matriz de IDs de arquivo de 16 bits. O primeiro ID deve ser 0x7FFF ou 0x3F00. Se o primeiro ID for 0x7FFF, o caminho será relativo ao ADF da aplicação designada por AppId. Caso contrário, é um caminho absoluto começando no MF.
16 4 FilePathSize TAMANHO O tamanho do caminho do arquivo, em bytes.
20 4 Número de registo UINT32(0..256) O número de registo. Isso representa o índice recorde absoluto em todos os momentos. O acesso relativo a registros não é suportado porque o modem pode executar vários acessos em um arquivo (NEXT, PREVIOUS).
24 4 LocalPinOffset DESLOCAMENTO O deslocamento, em bytes, calculado desde o início desta estrutura até o buffer que contém a senha. A senha de bloqueio é uma cadeia de caracteres UTF-8 terminada em nulo de dígitos decimais.
28 4 LocalPinSize TAMANHO (0..16) O tamanho da senha, em bytes.
32 4 DeslocamentoDeDadosDeRegisto COMPENSAÇÃO O deslocamento, em bytes, calculado desde o início desta estrutura até o buffer que contém os dados específicos do comando. Os dados de registro são usados apenas para operações SET.
36 4 TamanhoDeDadosDeRegistro TAMANHO (0..256) O tamanho dos dados, em bytes.
40 Buffer de Dados BUFFER DE DADOS O buffer de dados que contém AppId, FilePath, LocalPin e RecordData.

Conjunto

Não aplicável.

Resposta

Uma estrutura MBIM_UICC_RESPONSE é usada no InformationBuffer.

Eventos não solicitados

Não aplicável.

Códigos de estado

São aplicáveis os seguintes códigos de estado:

Código de status Descrição
MBIM_STATUS_BUSY Status básico do MBIM conforme definido para todos os comandos.
MBIM_STATUS_FAILURE Status básico do MBIM conforme definido para todos os comandos.
MBIM_STATUS_SIM_NOT_INSERTED Não é possível executar a operação UICC porque o UICC está faltando.
MBIM_STATUS_BAD_SIM Não é possível executar a operação UICC porque o UICC está em um estado de erro.
Erro de Condição de Partilhabilidade MBIM_STATUS O arquivo não pode ser selecionado porque não é compartilhável e está sendo acessado por outro aplicativo. A palavra de status retornada pelo SIM é 6985.
MBIM_STATUS_PIN_FALHA A operação falhou devido a um erro de PIN.

MBIM_CID_MS_PIN_EX

Este CID é utilizado para efetuar todas as operações de segurança PIN definidas na secção 9 da ETSI TS 102 221 especificações técnicas. O CID é semelhante ao MBIM_CID_MS_PIN, mas estende-o para suportar cartões UICC multiaplicativo. Somente UICCs com capacidade de verificação única são suportadas. Não há suporte para UICCs com capacidade de verificação múltipla que suportem mais de um PIN de aplicativo. Um PIN de aplicação (PIN1) é atribuído a todos os ADFs/DFs e ficheiros no UICC. No entanto, cada aplicativo pode especificar um PIN local (PIN2) como um requisito de verificação de usuário de nível 2, resultando na necessidade de validação adicional para cada comando de acesso. Este cenário é o que MBIM_CID_MS_PIN_EX apoia.

Assim como MBIM_CID_MS_PIN, com MBIM_CID_MS_PIN_EX o dispositivo relata apenas um PIN de cada vez. Se vários PINs estiverem habilitados e o relatório de vários PINs também estiver habilitado, as funções deverão relatar o PIN1 primeiro. Por exemplo, se o relatório de bloqueio de subsídio estiver habilitado e o PIN1 do SIM estiver habilitado, o PIN de bloqueio de subsídio deverá ser relatado em uma solicitação de consulta subsequente somente depois que o PIN1 tiver sido verificado com êxito. É permitido um PIN vazio juntamente com MBIMPinOperationEnter. Um PIN vazio é especificado definindo o PinSize como zero. Nesse caso, um comando SET é semelhante a um QUERY e retorna o estado do PIN referenciado. Isto está totalmente alinhado com o comportamento do comando VERIFY, conforme especificado no ponto 11.1.9 da especificação técnica ETSI TS 102 221.

Parâmetros

Funcionamento Conjunto Consulta Notificação
Comando MBIM_SET_PIN_EX MBIM_PIN_APP Não aplicável
Resposta MBIM_PIN_INFO_EX MBIM_PIN_INFO_EX Não aplicável

Consulta

A seguinte estrutura MBIM_PIN_APP é usada no InformationBuffer.

MBIM_PIN_APP (versão 1)

Compensação Tamanho Campo Tipo Descrição
0 4 Versão UINT32 O número da versão da estrutura que se segue. Este campo deve ser definido como 1 para a versão 1 desta estrutura.
4 4 AppIdOffset DESLOCAMENTO O deslocamento, em bytes, do início dessa estrutura para o buffer que contém a ID do aplicativo.
8 4 AppIdSize TAMANHO (0..16) O tamanho do ID do aplicativo, em bytes, conforme definido na seção 8.3 da especificação técnica ETSI TS 102 221 . Para placas 2G, este campo deve ser definido como zero (0).
12 Buffer de Dados BUFFER DE DADOS O AppId, tal como definido na especificação técnica ETSI TS 102 221.

Conjunto

A seguinte estrutura MBIM_SET_PIN_EX é usada no InformationBuffer.

MBIM_SET_PIN_EX

Compensação Tamanho Campo Tipo Descrição
0 4 Tipo de pino MBIM_PIN_TYPE_EX O tipo de PIN. Consulte a tabela MBIM_PIN_TYPE_EX neste tópico.
4 4 Operação de Pino Operação de PIN MBIM A operação PIN. Ver MBIM 1.0.
8 4 PinOffset COMPENSAÇÃO O deslocamento, em bytes, calculado desde o início desta estrutura até um PIN em forma de cadeia de caracteres, que representa o valor do PIN com o qual executar a ação ou o valor do PIN necessário para ativar ou desativar as definições do PIN. Este campo aplica-se a todos os valores de PinOperation.
12 4 Tamanho do PinSize TAMANHO (0.32) O tamanho, em bytes, usado para o PIN.
16 4 NewPinOffset COMPENSAÇÃO O deslocamento, em bytes, calculado desde o início desta estrutura até a string NewPin que representa o novo valor de PIN a ser definido quando PinOperation for MBIMPinOperationChange ou MBIMPinOperationEnter, para PinTypeMBIMPinTypePuk1 ou PinTypeMBIMPinTypePuk2.
20 4 NewPinSize TAMANHO (0.32) O tamanho, em bytes, usado para o NewPin.
24 4 AppIdOffset DESLOCAMENTO O deslocamento, em bytes, calculado desde o início dessa estrutura até o buffer que contém a ID do aplicativo.
28 4 AppIdSize TAMANHO (0..16) O tamanho do ID do aplicativo, em bytes, conforme definido na seção 8.3 da especificação técnica ETSI TS 102 221 . Para placas 2G, este campo deve ser definido como zero (0).
32 Buffer de Dados BUFFER DE DADOS O buffer de dados que contém o PIN, Novo PIN e AppId.

Resposta

A seguinte estrutura MBIM_PIN_INFO_EX é usada no InformationBuffer.

Deslocamento Tamanho Campo Tipo Descrição
0 4 Tipo de Pin MBIM_PIN_TYPE_EX O tipo de PIN. Consulte a tabela MBIM_PIN_TYPE_EX neste tópico.
4 4 PinState MBIM_PIN_STATE O estado do PIN. Ver MBIM 1.0.
8 4 Tentativas restantes UINT32 O número de tentativas restantes para quaisquer operações relacionadas ao PIN, como inserir, habilitar ou desabilitar. Os dispositivos que não suportam essas informações devem definir esse membro como 0xFFFFFFFF.

Eventos não solicitados

Não aplicável.

Códigos de estado

São aplicáveis os seguintes códigos de estado:

Código de status Descrição
MBIM_STATUS_OCUPADO Status básico do MBIM conforme definido para todos os comandos.
MBIM_STATUS_FAILURE Status básico do MBIM tal como definido para todos os comandos.
MBIM_STATUS_SIM_NÃO_INSERIDO Não é possível executar a operação UICC porque o UICC está faltando.
MBIM_STATUS_BAD_SIM Não é possível executar a operação UICC porque o UICC está em um estado de erro.
MBIM_STATUS_PIN_DESATIVADA A operação falhou porque o PIN está desativado.
MBIM_STATUS_PIN_NECESSÁRIO A operação falhou porque um PIN deve ser inserido para continuar.
MBIM_ESTADO_SEM_SUPORTE_PARA_DISPOSITIVO A operação falhou porque um SET em um tipo de PIN correspondente não é suportado pelo dispositivo.