Acesso UICC de baixo nível mb

Visão geral

A Revisão do Modelo de Interface de Banda Larga Móvel 1.0 ou MBIM1 define uma interface independente de OEM e IHV entre um dispositivo host e um modem de dados da rede celular.

Uma função MBIM1 inclui uma cartão inteligente UICC e fornece acesso a alguns de seus dados e estado interno. No entanto, a cartão inteligente pode ter funcionalidades adicionais além daquelas definidas pela interface MBIM. Esses recursos adicionais incluem suporte para um elemento seguro para soluções de pagamento móvel com base na comunicação de campo próximo ou para provisionamento remoto de um perfil UICC inteiro.

Em um dispositivo Windows habilitado para banda larga móvel, a interface MBIM é usada além da interface RIL (Radio Interface Layer). Um dos recursos que o RIL fornece é uma interface para acesso de baixo nível à UICC. Este tópico descreve um conjunto de extensões da Microsoft para MBIM que descrevem essa funcionalidade adicional na interface MBIM.

As extensões da Microsoft compõem um conjunto de comandos de serviço de dispositivo (definir e consultar) e notificações. Essas extensões não incluem novos usos de fluxos de serviço de dispositivo.

Valores de SERVIÇO e CID do MBIM

Nome do serviço UUID Valor UUID
Microsoft Low-Level UICC Access UUID_MS_UICC_LOW_LEVEL C2F6588E-F037-4BC9-8665-F4D44BD09367

A tabela a seguir especifica o código de comando para cada CID, bem como se o CID dá suporte a 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 Código de comando Definir Consulta Notificar
MBIM_CID_MS_UICC_ATR 1 N S N
MBIM_CID_MS_UICC_OPEN_CHANNEL 2 S N N
MBIM_CID_MS_UICC_CLOSE_CHANNEL 3 S N N
MBIM_CID_MS_UICC_APDU) 4 S N N
MBIM_CID_MS_UICC_TERMINAL_CAPABILITY 5 S S N
MBIM_CID_MS_UICC_RESET 6 S S N

Códigos de status

Os códigos de status do MBIM são definidos na Seção 9.4.5 do padrão MBIM. Além disso, os seguintes códigos de status de falha adicionais são definidos:

Código de status Valor (hex) Descrição
MBIM_STATUS_MS_NO_LOGICAL_CHANNELS 87430001 O canal lógico aberto não foi bem-sucedido porque nenhum canais lógicos está disponível na UICC (ele não dá suporte a eles ou todos eles estão em uso).
MBIM_STATUS_MS_SELECT_FAILED 87430002 O canal lógico aberto não foi bem-sucedido porque SELECT falhou.
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL 87430003 O número do canal lógico é inválido (não foi aberto por MBIM_CID_MS_UICC_OPEN_CHANNEL).

MBIM_SUBSCRIBER_READY_STATE

Tipo Valor Descrição
MBIMSubscriberReadyStateNoEsimProfile 7 O cartão está pronto, mas não tem nenhum perfil habilitado.

Respostas e status UICC

A UICC pode implementar uma interface baseada em caracteres ou de registro ou ambas. Embora o mecanismo específico seja diferente, o resultado é que a UICC responde a cada comando com dois bytes status (chamados SW1 e SW2) e uma resposta (que pode estar vazia). Uma status de sucesso normal é indicada por 90 00. No entanto, se a UICC der suporte ao kit de ferramentas de aplicativo cartão e a UICC quiser enviar um comando proativo para o terminal, um retorno bem-sucedido será indicado por um status de 91 XX (em que XX varia). A função MBIM, ou terminal, é responsável por lidar com esse comando proativo, assim como lidaria com um comando proativo recebido durante qualquer outra operação UICC (enviar um FETCH para a UICC, manipular o comando proativo ou enviá-lo para o host com MBIM_CID_STK_PAC). Quando o host MBIM envia MBIM_CID_MS_UICC_OPEN_CHANNEL ou MBIM_CID_MS_UICC_APDU ele deve considerar 90 00 e 91 XX como uma status normal.

Os comandos devem ser capazes de retornar respostas maiores que 256 bytes. Esse mecanismo é descrito na Seção 5.1.3 do padrão ISO/IEC 7816-4:2013. Nesse caso, o cartão retornará SW1 SW2 status palavras de 61 XX, em vez de 90 00, em que XX será o número de bytes restantes ou 00 se houver 256 bytes ou mais restantes. O modem deve emitir um GET RESPONSE com o mesmo byte de classe repetidamente até que todos os dados sejam recebidos. Isso será indicado pelas palavras finais status 90 00. A sequência deve ser ininterrupta em um canal lógico específico. APDUs adicionais devem ser tratadas no modem e devem ser transparentes para o host. Se tratado no host, não há garantia de que alguma outra APDU possa referenciar assíncronamente o cartão durante a sequência de APDUs.

Comparação com IHVRIL

As seções 5.2.3.3.10 a 5.2.3.3.14 da especificação IHVRIL definem uma interface semelhante na qual essa especificação se baseia. Algumas diferenças incluem:

  • A interface RIL não fornece uma maneira de especificar mensagens seguras. O comando MBIM para trocar APDUs especifica isso como um parâmetro explícito.
  • A interface RIL não define claramente a interpretação do byte de classe dentro da APDU. A especificação do MBIM afirma que o byte de classe enviado do host deve estar presente, mas não é usado (e, em vez disso, a função MBIM constrói esse byte).
  • A interface RIL usa uma função separada para fechar todos os canais UICC em um grupo, enquanto a interface MBIM faz isso com argumentos variantes para um único CID.
  • A relação entre o status de erro do MBIM e a status UICC (SW1 SW2) é mais claramente definida do que a relação entre erros RIL e status UICC.
  • A interface do MBIM distingue a falha ao alocar um novo canal lógico de falha para SELECIONAR um aplicativo especificado.
  • A interface do MBIM permite enviar os objetos de funcionalidade do terminal do modem para enviar para o cartão.

MBIM_CID_MS_UICC_ATR

A ATR (Resposta à Redefinição) é a primeira cadeia de caracteres de bytes enviada pelo UICC após a execução de uma redefinição. Ele descreve os recursos do cartão, como o número de canais lógicos aos quais ele dá suporte. A função MBIM deve salvar o ATR quando ele é recebido do UICC. Posteriormente, o host pode usar o comando MBIM_CID_MS_UICC_ATR para recuperar o ATR.

Parâmetros

Tipo Definir Consulta Notificação
Comando Não aplicável Vazio Não aplicável
Resposta Não aplicável MBIM_MS_ATR_INFO Não aplicável

Consulta

O InformationBuffer de uma mensagem de consulta está vazio.

Definir

Não aplicável.

Resposta

O InformationBuffer do MBIM_COMMAND_DONE contém a seguinte estrutura MBIM_MS_ATR_INFO que descreve a resposta para redefinir para o UICC anexado a essa função.

MBIM_MS_ATR_INFO

Deslocamento Tamanho Campo Tipo Descrição
0 4 AtrSize SIZE(0..33) O comprimento de AtrData.
4 4 AtrOffset OFFSET O deslocamento em bytes, calculado desde o início dessa estrutura, para uma matriz de bytes chamada AtrData que contém os dados atr.
8 AtrSize DataBuffer DATABUFFER A matriz de bytes AtrData .

Eventos não solicitados

Não aplicável.

Códigos de status

Os seguintes códigos de status são aplicáveis.

Código de status Descrição
MBIM_STATUS_SUCCESS O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_BUSY O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_FAILURE O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_NO_DEVICE_SUPPORT O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_SIM_NOT_INSERTED Não é possível executar a operação UICC porque o UICC está ausente.
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 o UICC ainda não foi totalmente inicializado.

MBIM_CID_MS_UICC_OPEN_CHANNEL

O host usa o comando MBIM_CID_MS_UICC_OPEN_CHANNEL para solicitar que a função abra um novo canal lógico no cartão UICC e selecione um aplicativo UICC especificado (especificado pela ID do aplicativo).

A função implementa esse comando MBIM usando uma sequência de comandos UICC:

  1. A função envia um comando MANAGE CHANNEL para o UICC, conforme descrito pela seção 11.1.17 da especificação técnica ETSI TS 102 221, para criar um novo canal lógico. Se esse comando falhar, a função retornará o MBIM_STATUS_MS_NO_LOGICAL_CHANNELS status com SW1 SW2 e não executará nenhuma ação adicional.
  2. Se o comando MANAGE CHANNEL for bem-sucedido, o UICC relatará o número do canal do novo canal lógico para a função. A função envia um comando SELECT [por nome] em que P1 = 04, conforme descrito pela seção 11.1.1 da especificação técnica ETSI TS 102 221. Se essa operação falhar, a função enviará um comando MANAGE CHANNEL para o UICC para fechar o canal lógico e retornará o MBIM_STATUS_MS_SELECT_FAILED status com SW1 SW2 do SELECT.
  3. Se o comando SELECT for bem-sucedido, a função registrará o número do canal lógico e o grupo de canais especificado pelo host para referência futura. Em seguida, ele retornará o número do canal lógico, SW1 SW2 do SELECT e a resposta de SELECT para o host.

Parâmetros

Operação Definir Consulta Notificação
Comando MBIM_MS_SET_UICC_OPEN_CHANNEL Não aplicável Não aplicável
Resposta MBIM_MS_UICC_OPEN_CHANNEL_INFO Não aplicável Não aplicável

Consulta

Não aplicável.

Definir

O InformationBuffer do MBIM_COMMAND_MSG contém a estrutura de MBIM_MS_SET_UICC_OPEN_CHANNEL a seguir.

MBIM_MS_SET_UICC_OPEN_CHANNEL

Deslocamento Tamanho Campo Tipo Descrição
0 4 AppIdSize SIZE(0..32) O tamanho da ID do aplicativo (AppId).
4 4 AppIdOffset OFFSET O deslocamento em bytes, calculado desde o início dessa estrutura, para uma matriz de bytes chamada AppId que define o AppId a ser SELECTed.
8 4 SelectP2Arg UINT32(0..255) O argumento P2 para o comando SELECT.
12 4 ChannelGroup UINT32 Um valor de marca que identifica o grupo de canais para este canal.
16 AppIdSize DataBuffer DATABUFFER A matriz de bytes AppId .

Resposta

O InformationBuffer de MBIM_COMMAND_DONE contém a estrutura de MBIM_MS_UICC_OPEN_CHANNEL_INFO a seguir.

MBIM_MS_UICC_OPEN_CHANNEL_INFO

Deslocamento Tamanho Campo Tipo Descrição
0 4 Status BYTE[2] SW1 e SW2, nessa ordem de bytes. Para obter mais informações, consulte as anotações que seguem esta tabela.
4 4 Canal UINT32(0..19) O identificador de canal lógico. Se esse membro for 0, a operação falhará.
8 4 ResponseLength SIZE(0..256) O comprimento da resposta em bytes.
12 4 ResponseOffset OFFSET O deslocamento em bytes, calculado desde o início dessa estrutura, para uma matriz de bytes chamada Response que contém a resposta do SELECT.
16 - DataBuffer DATABUFFER Os dados da matriz de bytes de resposta .

Se o comando retornar MBIM_STATUS_MS_NO_LOGICAL_CHANNELS, o campo Status conterá as palavras UICC status SW1 e SW2 do comando MANAGE CHANNEL e os campos restantes serão zero. Se o comando retornar MBIM_STATUS_MS_SELECT_FAILED, o campo Status conterá as palavras UICC status SW1 e SW2 do comando SELECT e os campos restantes serão zero. Para qualquer outro status, o InformationBuffer estará vazio.

Eventos não solicitados

Não aplicável.

Códigos de status

Os seguintes códigos de status são aplicáveis:

Código de status Descrição
MBIM_STATUS_SUCCESS O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_BUSY O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_FAILURE O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_NO_DEVICE_SUPPORT O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_SIM_NOT_INSERTED Não é possível executar a operação UICC porque a UICC está ausente.
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 o UICC ainda não foi totalmente inicializado.
MBIM_STATUS_MS_NO_LOGICAL_CHANNELS Falha na abertura do canal lógico porque não há canais lógicos disponíveis na UICC (ele não dá suporte a eles ou todos eles estão em uso).
MBIM_STATUS_MS_SELECT_FAILED O canal lógico aberto não foi bem-sucedido porque SELECT falhou.

MBIM_CID_MS_UICC_CLOSE_CHANNEL

O host envia MBIM_CID_MS_UICC_CLOSE_CHANNEL para a função para fechar um canal lógico na UICC. O host pode especificar um número de canal ou pode especificar um grupo de canais.

Se o host especificar um número de canal, a função deverá marcar se esse canal foi aberto por um MBIM_CID_MS_UICC_OPEN_CHANNEL anterior. Nesse caso, ele deve enviar um comando MANAGE CHANNEL para o UICC para fechar o canal, retornar uma status de MBIM_STATUS_SUCCESS e retornar o SW1 SW2 do MANAGE CHANNEL. Caso contrário, ele não deve tomar nenhuma ação e retornar o status de falha MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL.

Se o host especificar um grupo de canais, a função determinará quais (se houver) canais lógicos foram abertos com esse grupo de canais e enviará um comando MANAGE CHANNEL para a UICC para cada canal desse tipo. Ele retorna uma status de MBIM_STATUS_SUCCESS com o SW1 SW2 do último MANAGE CHANNEL. Se nenhum canal tiver sido fechado, retornará 90 00.

Parâmetros

Operação Definir Consulta Notificação
Comando MBIM_MS_SET_UICC_CLOSE_CHANNEL Não aplicável Não aplicável
Resposta MBIM_MS_UICC_CLOSE_CHANNEL_INFO Não aplicável Não aplicável

Consulta

Não aplicável.

Definir

O InformationBuffer de MBIM_COMMAND_MSG contém a estrutura de MBIM_MS_SET_UICC_CLOSE_CHANNEL a seguir.

MBIM_MS_SET_UICC_CLOSE_CHANNEL

Deslocamento Tamanho Campo Tipo Descrição
0 4 Canal UINT32(0..19) Se diferente de zero, especifica o canal a ser fechado. Se zero, especifica que os canais associados ao ChannelGroup devem ser fechados.
4 4 ChannelGroup UINT32 Se Channel for zero, isso especificará um valor de marca e todos os canais com essa marca serão fechados. Se Channel não for zero, esse campo será ignorado.

Resposta

O InformationBuffer de MBIM_COMMAND_DONE contém a estrutura de MBIM_MS_UICC_CLOSE_CHANNEL_INFO a seguir.

MBIM_MS_UICC_CLOSE_CHANNEL_INFO

Deslocamento Tamanho Campo Tipo Descrição
0 4 Status BYTE[2] SW1 e SW2 do último MANAGE CHANNEL executado pela função em nome desse comando.

Eventos não solicitados

Não aplicável.

Códigos de status

Código de status Descrição
MBIM_STATUS_SUCCESS O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_BUSY O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_FAILURE O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_NO_DEVICE_SUPPORT O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_SIM_NOT_INSERTED Não é possível executar a operação UICC porque a UICC está ausente.
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 o UICC ainda não foi totalmente inicializado.
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL O número do canal lógico não é válido (em outras palavras, ele não foi aberto com MBIM_CID_MS_UICC_OPEN_CHANNEL).

MBIM_CID_MS_UICC_APDU

O host usa MBIM_CID_MS_UICC_APDU para enviar uma APDU de comando para um canal lógico especificado na UICC e receber a resposta. A função MBIM deve garantir que o canal lógico foi aberto anteriormente com MBIM_CID_MS_UICC_OPEN_CHANNEL e falhar com status MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL se não fosse.

O host deve enviar uma APDU completa para a função. A APDU pode ser enviada com um valor de byte de classe definido na primeira definição de interindustry na seção 4 do padrão ISO/IEC 7816-4:2013 ou na definição estendida na Seção 10.1.1 da especificação técnica ETSI TS 102 221. A APDU pode ser enviada sem mensagens seguras ou com mensagens seguras. O cabeçalho de comando não autenticado. O host especifica o tipo de byte de classe, número de canal lógico e mensagens seguras junto com a APDU.

O primeiro byte do comando APDU é o byte de classe, codificado conforme definido pela seção 4 da especificação técnica ISO/IEC 7816-4:2013 ou da seção 10.1.1 da especificação técnica ETSI TS 102 221. O host pode enviar bytes de classe 0X, 4X, 6X, 8X, CX ou EX. No entanto, a função não passa esse byte diretamente para a UICC. Em vez disso, antes de enviar a APDU para o UICC, a função substituirá o primeiro byte do host por um novo byte de classe (codificado conforme definido pela seção 4 da especificação técnica ISO/IEC 7816-4:2013 ou da seção 10.1.1 da especificação técnica ETSI TS 102 221) com base no Tipo, Valores de canal e SecureMessaging especificados pelo host:

Classe Byte Descrição
0X 7816-4 interindustry, 1 <= channel <= 3, codifica a segurança em nibble baixo, se relevante
4X Interindustry 7816-4, 4 <= channel <= 19, sem mensagens seguras
6X 7816-4 interindustry, 4 <= channel <= 19, secure (cabeçalho não autenticado)
8X 102 221 estendido, 1<= canal <= 3, codifica a segurança em nibble baixo, se relevante
CX 102 221 estendido, 4 <= canal <= 19, sem mensagens seguras
EX 102 221 estendido, 4 <= canal <= 19, seguro (cabeçalho não autenticado)

A função deve retornar o status, SW1 SW2 e resposta do UICC para o host.

Parâmetros

Operação Definir Consulta Notificação
Comando MBIM_MS_SET_UICC_APDU Não aplicável Não aplicável
Resposta MBIM_MS_UICC_APDU_INFO Não aplicável Não aplicável

Consulta

Não aplicável.

Definir

O InformationBuffer do MBIM_COMMAND_MSG contém a seguinte estrutura de MBIM_MS_SET_UICC_APDU.

MBIM_MS_SET_UICC_APDU

Deslocamento Tamanho Campo Tipo Descrição
0 4 Canal UINT32(1..19) Especifica o canal no qual a APDU será enviada.
4 4 SecureMessaging MBIM_MS_UICC_SECURE_MESSAGING Especifica se a APDU é trocada usando mensagens seguras.
8 4 Tipo MBIM_MS_UICC_CLASS_BYTE_TYPE Especifica o tipo de definição de bytes de classe.
12 4 CommandSize UINT32(0..261) O comprimento do comando em bytes.
16 4 CommandOffset OFFSET O deslocamento em bytes, calculado desde o início dessa estrutura, para uma matriz de bytes chamada Command que contém a APDU.
20 - DataBuffer DATABUFFER A matriz de bytes command .

A estrutura MBIM_MS_SET_UICC_APDU usa as estruturas de dados MBIM_MS_UICC_SECURE_MESSAGING e MBIM_MS_UICC_CLASS_BYTE_TYPE a seguir.

MBIM_MS_UICC_SECURE_MESSAGING
Tipo Valor Descrição
MBIMMsUiccSecureMessagingNone 0 Sem mensagens seguras.
MBIMMsUiccSecureMessagingNoHdrAuth 1 Mensagens seguras, cabeçalho de comando não autenticado.
MBIM_MS_UICC_CLASS_BYTE_TYPE
Tipo Valor Descrição
MBIMMsUiccInterindustry 0 Definido de acordo com a primeira definição de interindustry na ISO 7816-4.
MBIMMsUiccExtended 1 Definido de acordo com a definição estendida no ETSI 102 221.

Resposta

O InformationBuffer de MBIM_COMMAND_DONE contém a estrutura de MBIM_MS_UICC_APDU_INFO a seguir.

MBIM_MS_UICC_APDU_INFO

Deslocamento Tamanho Campo Tipo Descrição
0 4 Status BYTE[2] As palavras SW1 e SW2 status resultantes do comando .
4 4 ResponseLength SIZE O comprimento da resposta em bytes.
8 4 ResponseOffset OFFSET O deslocamento em bytes, calculado desde o início dessa estrutura, para uma matriz de bytes chamada Resposta que contém a resposta do SELECT.
12 - DataBuffer DATABUFFER A matriz de bytes de resposta .

Eventos não solicitados

Não aplicável.

Códigos de status

Os seguintes códigos de status são aplicáveis:

Código de status Descrição
MBIM_STATUS_SUCCESS O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_BUSY O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_FAILURE O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_NO_DEVICE_SUPPORT O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_SIM_NOT_INSERTED Não é possível executar a operação UICC porque o UICC está ausente.
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 o UICC ainda não foi totalmente inicializado.
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL O número do canal lógico não é válido (em outras palavras, ele não foi aberto com MBIM_CID_MS_UICC_OPEN_CHANNEL).

Se a função puder enviar a APDU para a UICC, ela retornará MBIM_STATUS_SUCCESS juntamente com as palavras status SW1 SW2 e a resposta do UICC (se houver). O host deve examinar o status (SW1 SW2) para determinar se o comando APDU foi bem-sucedido na UICC ou o motivo pelo qual ele falhou.

MBIM_CID_MS_UICC_TERMINAL_CAPABILITY

O host envia MBIM_CID_MS_UICC_TERMINAL_CAPABILITY para informar o modem sobre os recursos do host. A APDU DE CAPACIDADE DE TERMINAL, especificada na Seção 11.1.19 da especificação técnica ETSI TS 102 221, deve ser enviada ao cartão antes que o primeiro aplicativo seja selecionado (se houver suporte). Portanto, o host não pode enviar diretamente a APDU DE CAPACIDADE DO TERMINAL, mas envia o comando MBIM_CID_MS_UICC_TERMINAL_CAPABILITY que contém um ou mais objetos de funcionalidade de terminal que seriam armazenados persistentemente pelo modem. No próximo cartão inserção ou redefinição, após o ATR, o modem selecionaria o MF e marcar se o TERMINAL CAPABILITY tem suporte. Nesse caso, o modem enviaria a APDU DE CAPACIDADE DE TERMINAL com as informações especificadas pelo comando MBIM_CID_MS_UICC_TERMINAL_CAPABILITY, bem como quaisquer informações geradas pelo modem.

Parâmetros

Operação Definir Consulta Notificação
Comando MBIM_MS_SET_UICC_TERMINAL_CAPABILITY Vazio Não aplicável
Resposta Não aplicável MBIM_MS_TERMINAL_CAPABILITY_INFO Não aplicável

Consulta

O InformationBuffer será nulo e InformationBufferLength será zero.

Definir

O InformationBuffer de MBIM_COMMAND_MSG contém a estrutura de MBIM_MS_SET_UICC_TERMINAL_CAPABILITY a seguir.

MBIM_MS_SET_UICC_TERMINAL_CAPABILITY

Deslocamento Tamanho Campo Tipo Descrição
0 4 ElementCount UINT32 A contagem de elementos de objetos de funcionalidade de terminal.
4 8*EC CapabilityList OL_PAIR_LIST Uma lista de pares de comprimento de deslocamento para cada objeto de funcionalidade de terminal TLV.
4+8*EC - DataBuffer DATABUFFER Uma matriz de bytes das TLVs reais do objeto de funcionalidade do terminal.

Resposta

As respostas conterão o comando SET exato com os últimos objetos de funcionalidade de terminal enviados para o modem. Portanto, MBIM_MS_TERMINAL_CAPABILITY_INFO é idêntica à MBIM_MS_SET_UICC_TERMINAL_CAPABILITY.

MBIM_MS_TERMINAL_CAPABILITY_INFO

Deslocamento Tamanho Campo Tipo Descrição
0 4 ElementCount UINT32 A contagem de elementos de objetos de funcionalidade de terminal.
4 8*EC CapabilityList OL_PAIR_LIST Uma lista de pares de comprimento de deslocamento para cada objeto de funcionalidade de terminal TLV.
4+8*EC - DataBuffer DATABUFFER Uma matriz de bytes das TLVs reais do objeto de funcionalidade do terminal.

Eventos não solicitados

Não aplicável.

Códigos de status

Código de status Descrição
MBIM_STATUS_SUCCESS O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_BUSY O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_FAILURE O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_NO_DEVICE_SUPPORT O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_SIM_NOT_INSERTED Não é possível executar a operação UICC porque o UICC está ausente.
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 o UICC ainda não foi totalmente inicializado.
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL O número do canal lógico não é válido (em outras palavras, ele não foi aberto com MBIM_CID_MS_UICC_OPEN_CHANNEL).

MBIM_CID_MS_UICC_RESET

O host envia MBIM_CID_MS_UICC_RESET para a função MBIM para redefinir o UICC ou para consultar o estado de passagem da função.

Quando o host solicita que a função redefina o UICC, ele especifica uma ação de passagem.

Se o host especificar a ação de passagem MBIMMsUICCPassThroughEnable , a função redefinirá o UICC e, após a ativação da UICC, tratará o UICC como se estivesse em um modo de passagem que permite a comunicação entre o host e o UICC (mesmo que a UICC não tenha nenhum sistema de arquivos UICC de Telecomunicações). A função não envia APDUs para o cartão e não interfere em nenhum momento com a comunicação entre o host e a UICC.

Se o host especificar a ação de passagem MBIMMsUICCPassThroughDisable , a função redefinirá o UICC e, após a ativação da UICC, tratará a UICC como uma UICC de telecomunicações regular e espera que um sistema de arquivos UICC de telecomunicações esteja presente na UICC.

Quando o host consulta a função para determinar a passagem status, se a função responder com o status MBIMMsUICCPassThroughEnabled, isso significa que o modo de passagem está habilitado. Se a função responder com a status MBIMMsUICCPassThroughDisabled, isso significa que o modo de passagem está desabilitado.

Parâmetros

Tipo Definir Consulta Notificação
Comando MBIM_MS_SET_UICC_RESET Vazio Não aplicável
Resposta MBIM_MS_UICC_RESET_INFO MBIM_MS_UICC_RESET_INFO Não aplicável

Consulta

O InformationBuffer será nulo e InformationBufferLength será zero.

Definir

MBIM_SET_MS_UICC_RESET

A estrutura MBIM_SET_MS_UICC_RESET contém a ação de passagem especificada pelo host.

Deslocamento Tamanho Campo Tipo Descrição
0 4 PassThroughAction MBIM_MS_UICC_PASSTHROUGH_ACTION Para obter mais informações, consulte MBIM_MS_UICC_PASSTHROUGH_ACTION.

MBIM_MS_UICC_PASSTHROUGH_ACTION

A enumeração MBIM_MS_UICC_PASSTHROUGH_ACTION define os tipos de ações de passagem que o host pode especificar para a função MBIM.

Tipos Valor
MBIMMsUiccPassThroughDisable 0
MBIMMsUiccPassThroughEnable 1

Resposta

MBIM_MS_UICC_RESET_INFO

A estrutura MBIM_MS_UICC_RESET_INFO contém a status de passagem da função MBIM.

Deslocamento Tamanho Campo Tipo Descrição
0 4 PassThroughStatus MBIM_MS_UICC_PASSTHROUGH_STATUS Para obter mais informações, consulte MBIM_MS_UICC_PASSTHROUGH_STATUS.

MBIM_MS_UICC_PASSTHROUGH_STATUS

A enumeração MBIM_MS_UICC_PASSTHROUGH_STATUS define os tipos de passagem status a função MBIM especifica ao host.

Tipos Valor
MBIMMsUiccPassThroughDisabled 0
MBIMMsUiccPassThroughEnabled 1

Eventos não solicitados

Não aplicável.

Códigos de status

Código de status Descrição
MBIM_STATUS_SUCCESS O MBIM básico status conforme definido para todos os comandos.
MBIM_STATUS_BUSY O dispositivo está ocupado.
MBIM_STATUS_FAILURE Falha na operação.
MBIM_STATUS_NO_DEVICE_SUPPORT O dispositivo não dá suporte a essa operação.

OID_WWAN_UICC_RESET

O equivalente de NDIS para MBIM_CID_MS_UICC_RESET é OID_WWAN_UICC_RESET.