Compartilhar via


Operações de contexto provisionadas do MB

O provisionamento é vital para dispositivos conectáveis por celular porque cada operadora móvel tem configurações de APN diferentes para sua rede. As configurações de APN geralmente podem ser divididas em duas categorias:

  1. Configurações de APN que são conhecidas pelo sistema operacional porque há aplicativos ou clientes acima dele que exigem essas conexões.
  2. Configurações de APN que não são divulgadas ao sistema operacional porque são consumidas internamente pelo modem para conexões que não são aproveitadas pelo sistema operacional e seus clientes.

O ideal é que o modem armazene apenas as configurações de APN que o sistema operacional não precisa saber. No entanto, os parceiros IHV e OEM tradicionalmente fornecem a Internet e APNs de compra, configurações conhecidas pelo sistema operacional, também no modem. Antes do lançamento do Windows 10, versão 1703, o Windows só lia as configurações de Internet e APN de compra do modem para estabelecer conexões com a Internet. A partir do Windows 10, versão 1703, pode haver outros casos em que a configuração de APN do modem tem que ser gerenciada pelo Windows, especialmente se houver clientes no sistema operacional, como configurações de usuário ou OMA-DM, que desejam alterar a configuração da rede celular. Isso, por sua vez, também pode afetar a configuração de APN do modem. Por exemplo, pode haver uma pilha IMS no modem que está usando a APN do IMS para SMS sobre IMS. Normalmente, essas conexões não são expostas ao sistema operacional, mas em determinados cenários a configuração da APN do IMS pode precisar ser alterada. Essa mudança podia ser feita por meio do sistema operacional. Para dar suporte a isso, a partir do Windows 10, versão 1703, o sistema operacional pode configurar diferentes tipos de APNs no modem.

O MBIM 1.0 e o Microsoft NDIS do USB Forum têm um CID e um OID existentes, respectivamente, para permitir que o sistema operacional defina e consulte as configurações de APN no modem. Para o MBIM 1.0, ele faz isso por meio de MBIM_CID_PROVISIONED_CONTEXT. Já para o NDIS, ele faz isso por meio de OID_WWAN_PROVISIONED_CONTEXTS. No entanto, o CID e o OID existentes não foram criados com orientação clara sobre como o modem deve se comportar em várias situações, como um ciclo de energia ou troca de SIM. Os dispositivos que querem oferecer suporte à configuração do sistema operacional e à atualização de contextos provisionados por modem no futuro terão que implementar a versão mais recente do CID e do OID no Windows 10, versão 1703. Para garantir a compatibilidade com versões anteriores, IHVs/OEMs que desejam oferecer suporte a novo hardware em versões do sistema operacional anteriores à 1703, terão que continuar a dar suporte a MBIM_CID_PROVISIONED_CONTEXT e OID_WWAN_PROVISIONED_CONTEXTS existentes. A partir do Windows 10, versão 1703, se o dispositivo der suporte à nova versão do CID e OID, o sistema operacional usará apenas a versão mais recente do comando para consultar e definir a configuração de contexto da APN no modem.

Atualização da interface MB para operações de contexto provisionadas

Embora o MBIM tenha um comando para recuperar e substituir contextos armazenados no modem, ele não tem um campo para "desabilitar" ou "habilitar" um perfil. Portanto, o MBIM_CID_PROVISIONED_CONTEXT existente deve ser atualizado para o Windows 10, versão 1703 para incluir esse recurso. Como o MBIM não tem um mecanismo de controle de versão, um novo CID proprietário do MSFT é definido como MBIM_CID_MS_PROVISIONED_CONTEXT_V2.

Nome do serviço = Extensões de conexão básicas

UUID = UUID_BASIC_CONNECT_EXTENSIONS

Valor de UUID = 3d01dcc5-fef5-4d05-0d3abef7058e9aaf

CID Código de comando Minimum OS Version
MBIM_CID_MS_PROVISIONED_CONTEXT_V2 1 Windows 10, versão 1703

MBIM_CID_MS_PROVISIONED_CONTEXT_V2

Descrição

Embora o MBIM 1.0 tenha definido o MBIM_CID_PROVISIONED_CONTEXT para o sistema operacional e seus clientes superiores para gerenciar contextos provisionados no modem, o Windows tradicionalmente só consultava o contexto no modem, mas não o definia no sistema operacional. A partir do Windows 10, versão 1703, há uma necessidade crescente de que o sistema operacional seja capaz de configurar os contextos no modem. Por exemplo, se houver uma pilha IMS no modem que é opaca para o sistema operacional, o sistema operacional deverá ser capaz de especificar a APN do IMS que o modem deve usar. Como cada IHV de modem pode ter sua própria maneira proprietária de armazenar contextos no modem, é impossível para o sistema operacional gerenciar perfis no nível ContextId da maneira que MBIM_CID_PROVISIONED_CONTEXT pode sugerir. Em vez disso, da perspectiva do sistema operacional, é mais importante prescrever qual contexto usar para cada tipo de contexto. Voltando ao exemplo do IMS, independentemente de quantos contextos provisionados existentes estejam no modem, se o sistema operacional definir um contexto que tenha MBIM_CONTEXT_TYPE = IMS, todo o tráfego do IMS iniciado pelo modem só deverá ser tentado nesse contexto.

O MBIM 1.0 especifica que MBIM_CID_PROVISIONED_CONTEXT só pode chamar Consulta em contextos que correspondam à ID do provedor (par MCC/MNC) do cartão SIM inserido. Para definir solicitações, o MBIM_CID_PROVISIONED_CONTEXT pode especificar a ID do provedor do contexto que deseja armazenar. O MBIM_CID_MS_PROVISIONED_CONTEXT_V2 especifica um comportamento semelhante, mas diferente, do MBIM 1.0. Para cada consulta, o sistema operacional continua a esperar que o modem retorne apenas contextos que correspondam à ID do provedor do cartão SIM inserido. Para Set, o comando não habilitará mais o sistema operacional para definir contextos que não correspondam à ID do provedor atual no cartão SIM. Espera-se que a solicitação Set crie um contexto para o ID do provedor atual do cartão SIM apresentado. Como exemplo, o usuário troca de SIM 1 para SIM 2 e, em seguida, volta para SIM 1. Espera-se que, durante a primeira troca de SIM, o modem resolva todos os seus contextos antes de carregar o contexto do SIM 2. Quando o usuário troca de volta para o SIM 1, a configuração padrão de fábrica do SIM 1 deve ser restaurada. Não é esperado que o modem salve a configuração de tempo de execução em trocas de SIM.

O diagrama a seguir ilustra um fluxo de exemplo para quando um usuário troca de um SIM para outro e, em seguida, volta para o primeiro.

Exemplo de troca de SIM de provisionamento de contexto do modem.

Os OEMs e IHVs que pré-configuraram o modem devem manter a configuração original de fábrica, caso o sistema operacional ou o usuário queira restaurar as configurações de contexto no modem para as originais. Somente os contextos de fábrica originais da ID do provedor do SIM inserido atualmente devem ser restaurados. Os contextos pré-configurados originais de fábrica nunca devem ser substituídos pela configuração do sistema operacional. O diagrama a seguir é um exemplo de fluxo para quando um usuário opta por restaurar as configurações de fábrica:

Exemplo de redefinição de fábrica do provisionamento de contexto do modem.

Espera-se que o modem falhe nas solicitações de consulta ou conjunto quando o SIM estiver ausente, bloqueado ou a ID do provedor estiver inacessível. O modem deve ter apenas um contexto por CONTEXT_TYPE por ID do provedor. Se o IHV ou OEM decidir pré-configurar contextos no modem, é importante que ele verifique se os contextos estão configurados corretamente para cada provedor para o qual ele escolher fazer isso. No caso de o cartão SIM inserido não ter contextos pré-configurados IHV, o modem não deverá ter contextos sem a configuração do sistema operacional. IHVs e OEMs precisam verificar se o MBIM_MS_CONTEXT_SOURCE = MbimMsContextSourceModemProvisioned para que o sistema operacional use o contexto do modem para conexão, se existir, e não o substitua do banco de dados da APN do Windows.

A forma como os mapas de modem lidam com o contexto e o apresentam de volta por meio do MBIM_CID_PROVISIONED_CONTEXT existente depende de cada IHV e está fora do escopo desta documentação.

O novo comando MBIM_CID_MS_PROVISONED_CONTEXT_V2 é quase idêntico ao comando MBIM_CID_PROVISIONED_CONTEXT existente do MBIM 1.0, mas com várias adições. O primeiro permite que o sistema operacional habilite ou desabilite o contexto associado a um tipo de contexto no modem. Quando o contexto é desabilitado no modem, espera-se que o modem não use o contexto armazenado para nenhuma conexão com a rede, mesmo aqueles que não são informados ao sistema operacional. Se o sistema operacional solicitar uma conexão correspondente a um contexto desabilitado no modem, a solicitação do modem falhará imediatamente sem sinalizar para a rede. O processo de correspondência deve corresponder a todos os campos na estrutura do MBIM_MS_CONTEXT_V2.

A estrutura do MBIM_CONTEXT_IP_TYPE do MBIM 1.0 é usada apenas para o MBIM_CID_CONNECT. Além do MBIM_CID_MS_PROVISIONED_CONTEXT_V2, a Microsoft adicionou o tipo de IP como um dos parâmetros para cada contexto. O modem deve relatar MBIMContextIPTypeDefault se não estiver configurado para o contexto especificado.

No Windows 10, versão 1703, com novo hardware que oferece suporte ao MBIM_CID_MS_PROVISIONED_CONTEXT_V2, o MBIM_CID_PROVISIONED_CONTEXT herdado não será usado a partir de componentes primários. Se houver outros componentes de cliente/sistema operacional herdados que enviam o MBIM_CID_PROVISIONED_CONTEXT, espera-se que o modem retorne resultados como fazia em versões do Windows anteriores ao Windows 10, versão 1703.

Consulta

O MBIM_MS_PROVISIONED_CONTEXTS_INFO é retornado de mensagens de Consulta e Conjunto concluído no InformationBuffer.

Para Consulta, o InformationBuffer é null.

Definir

Para Conjunto, o InformationBuffer contém uma estrutura MBIM_MS_SET_PROVISIONED_CONTEXT_V2. Na operação Conjunto, como cada IHV de modem pode ter maneiras próprias de gerenciar o armazenamento de contexto, o sistema operacional não especifica mais o campo ContextId e espera que o modem mapeie os contextos para o slot apropriado. Quando o sistema operacional define contextos, ele espera que o modem o use para todas as conexões que correspondam ao MBIM_CONTEXT_TYPE do contexto específico. Se o MBIM_CONTEXT_TYPE não for reconhecido pelo modem, ele ainda deverá armazená-lo, mesmo que não se conecte a ele.

Evento não solicitado

O Event InformationBuffer contém uma estrutura MBIM_MS_PROVISIONED_CONTEXTS_INFO_V2. Em alguns casos, a lista de contextos provisionados é atualizada pela rede Over-The-Air (OTA) ou pelo Short Message Service (SMS) que não analisa o comando MBIM_CID_MS_PROVISIONED_CONTEXT_V2 do sistema operacional. A função deve atualizar a lista de contextos provisionados e marcar MBIM_MS_CONTEXT_SOURCE = MbimMsContextSourceOperatorProvisioned. Depois disso, as funções devem notificar o host sobre atualizações usando esse evento com a lista atualizada.

Parâmetros

Operação Definir Consulta Notificação
Comando MBIM_SET_MS_PROVISIONED_CONTEXT_V2 Não aplicável Não aplicável
Resposta MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 MBIM_MS_PROVISIONED_CONTEXT_INFO_V2

estruturas de dados

Consulta

O InformationBuffer deve ser NULL e InformationBufferLength deve ser zero.

Definir

A seguinte estrutura de dados MBIM_SET_MS_PROVISIONED_CONTEXT_V2 deve ser utilizada no InformationBuffer.

Deslocamento Tamanho Campo Type Descrição
0 4 Operação MBIM_MS_CONTEXT_OPERATIONS Especifica o tipo de operação para a qual o comando SET é usado. Se definido como MbimMsContextOperationDelete, o contexto do MBIM_CONTEXT_TYPES especificado deve ser excluído, e todos os outros campos em MBIM_SET_MS_PROVISIONED_CONTEXT_V2 devem ser ignorados. Se definido como MbimMsContextOperationRestoreFactory, todos os contextos criados ou modificados pelo sistema operacional deverão ser removidos, os contextos pré-configurados padrão de fábrica deverão ser carregados, e todos os outros campos no MBIM_SET_MS_PROVISIONED_CONTEXT_V2 deverão ser ignorados.
4 16 ContextType MBIM_CONTEXT_TYPES Especifica o tipo de contexto que está sendo representado, por exemplo, conectividade com a Internet, VPN (uma conexão com uma rede corporativa) ou Voz sobre IP (VOIP). Para obter mais informações, consulte a tabela MBIM_CONTEXT_TYPES.
20 4 IPType MBIM_CONTEXT_IP_TYPES Especifica o tipo de contexto que está sendo representado, por exemplo, conectividade com a Internet, VPN (uma conexão com uma rede corporativa) ou Voz sobre IP (VOIP). Para obter mais informações, consulte a tabela MBIM_CONTEXT_IP_TYPES.
24 4 Habilitar MBIM_MS_CONTEXT_ENABLE Especifica se o contexto pode ser usado pelo modem. Se ele estiver definido como MbimMsContextDisabled, qualquer solicitação de conexão do sistema operacional que corresponda ao contexto deverá falhar sem sinalizar para a rede. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_ENABLE.
28 4 Roaming MBIM_MS_CONTEXT_ROAMING_CONTROL Especifica se o roaming é permitido ou não para esse contexto. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_ROAMING_CONTROL.
32 4 MediaType MBIM_MS_CONTEXT_MEDIA_TYPE Especifica para qual tipo de transporte de mídia o contexto é usado. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_MEDIA_TYPE.
36 4 Origem MBIM_MS_CONTEXT_SOURCE Especifica a origem de criação do contexto. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_SOURCE.
40 4 AccessStringOffset DESLOCAMENTO Deslocamento no buffer de dados para uma cadeia de caracteres, AccessString, para acessar a rede. Para redes baseadas em GSM, é uma cadeia de caracteres APN (Nome do Ponto de Acesso), como "data.thephone-company.com". Para redes baseadas em CDMA, esse pode ser um código de discagem especial, como "#777", ou um identificador de acesso à rede (NAI), como "foo@thephone-company.com". Esse membro pode ser NULL para solicitar que a rede atribua a APN padrão. Observação: nem todas as redes dão suporte a essa convenção de APN NULL, portanto, uma falha de conexão causada por uma APN inválida é um resultado possível. O tamanho da cadeia de caracteres não deve exceder 100 caracteres.
44 4 AccessStringSize TAMANHO(0..200) Tamanho usado para AccessString.
48 4 UserNameOffset DESLOCAMENTO Deslocamento em bytes, calculado a partir do início dessa estrutura, para uma cadeia de caracteres, UserName, que representa o nome de usuário a ser autenticado. Esse membro pode ser NULL.
52 4 UserNameSize TAMANHO(0..510) Tamanho usado para UserName.
56 4 PasswordOffset DESLOCAMENTO Deslocamento em bytes, calculado a partir do início dessa estrutura, para uma cadeia de caracteres, Password, que representa a senha do nome de usuário. Esse membro pode ser NULL.
60 4 PasswordSize TAMANHO(0..510) Tamanho usado para Password.
64 4 Compactação MBIM_COMPRESSION Especifica a compactação a ser usada na conexão de dados para cabeçalho e dados. Este membro aplica-se apenas a dispositivos baseados em GSM. O Host define esse membro como MBIMCompressionNone para dispositivos baseados em CDMA. Para obter mais informações, consulte a tabela MBIM_COMPRESSION.
68 4 AuthProtocol MBIM_AUTH_PROTOCOL Tipo de autenticação a ser usada para a ativação do PDP. Para obter mais informações, consulte a tabela MBIM_AUTH_PROTOCOL.
72 4 DataBuffer BUFFER DE DADOS O buffer de dados que contém AccessString, UserName e Password.

As estruturas de dados a seguir são usadas na tabela anterior.

O MBIM_MS_CONTEXT_ROAMING_CONTROL especifica a política de roaming por contexto. O sistema operacional pode especificar se o contexto informado pode ser habilitado durante o roaming ou não. O modem não deve ativar automaticamente o contexto sem a intervenção do sistema operacional se o estado de roaming não atender às condições especificadas. Nos casos em que o modem não oferece suporte a parceiros, todas as configurações de parceiro devem ser tratadas como equivalentes a domésticas.

Tipo Valor Descrição
MbimMsContextRoamingControlHomeOnly 0 Indica se o contexto só pode ser usado na rede doméstica ou não.
MbimMsContextRoamingControlPartnerOnly 1 Indica se o contexto só pode ser usado em redes móveis de parceiros ou não.
MbimMsContextRoamingControlNonPartnerOnly 2 Indica se o contexto só pode ser usado em redes móveis de não parceiros ou não.
MbimMsContextRoamingControlHomeAndPartner 3 Indica se o contexto pode ser usado em redes de roaming domésticas e de parceiros.
MbimMsContextRoamingControlHomeAndNonPartner 4 Indica se o contexto pode ser usado em redes de roaming domésticas e de não parceiros.
MbimMsContextRoamingControlPartnerAndNonPartner 5 Indica se o contexto pode ser usado em redes de roaming de parceiros e de não parceiros.
MbimMsContextRoamingControlAllowAll 6 Indica se o contexto tem permissão para ser usado em qualquer condição de roaming.

O MBIM_MS_CONTEXT_MEDIA_TYPE foi adicionado para poder especificar se o contexto é usado para celular ou iWLAN quando o descarregamento de Wi-Fi se torna compatível em plataformas futuras. Por exemplo, se um contexto for definido como celular e o modem estiver descarregando Wi-Fi no momento, ele não deverá iniciar uma conexão usando esse contexto.

Tipo Valor Descrição
MbimMsContextMediaTypeCellularOnly 0 Indica se o contexto só pode ser usado quando registrado na rede celular.
MbimMsContextMediaTypeWifiOnly 1 Indica se o contexto só pode ser usado quando registrado por iWLAN (descarregamento de Wi-Fi).
MbimMsContextMediaTypeAll 2 Indica se o contexto tem permissão para ser usado quando registrado por meio de rede celular ou Wi-Fi.

O MBIM_MS_CONTEXT_ENABLE especifica se um contexto está habilitado ou desabilitado.

Tipo Valor Descrição
MbimMsContextDisabled 0 O contexto provisionado está desabilitado. O modem não deve habilitar a ativação nesse contexto a partir do sistema operacional e do próprio sistema.
MbimMsContextEnabled 1 O contexto provisionado está habilitado. O contexto poderá ser habilitado se outras condições forem atendidas, por exemplo, se o roaming não for permitido, o contexto não deverá ser habilitado durante o roaming.

O MBIM_MS_CONTEXT_SOURCE foi adicionado para dar ao sistema operacional visibilidade sobre como o contexto do modem foi criado. Isso ajuda o sistema operacional a se comportar corretamente após várias situações, como a redefinição de fábrica, para que ele possa saber o que deve persistir e o que deve ser retornado ao estado padrão com base em vários requisitos do operador.

Tipo Valor Descrição
MbimMsContextSourceAdmin 0 O contexto foi criado por um administrador de TI empresarial do sistema operacional.
MbimMsContextSourceUser 1 O contexto foi criado pelo usuário por meio das configurações do sistema operacional.
MbimMsContextSourceOperator 2 O contexto foi criado pela operadora por meio do OMA-DM ou de outros canais.
MbimMsContextSourceModem 3 O contexto foi criado pelo IHV ou OEM que foi incluído com o firmware do modem.
MbimMsContextSourceDevice 4 O contexto foi criado pelo banco de dados da APN do sistema operacional.

O MBIM_MS_CONTEXT_OPERATIONS especifica as operações que o sistema operacional pode executar para configurar contextos no modem.

Tipo Valor Descrição
MbimMsContextOperationDefault 0 Operação padrão, incluindo adicionar ou substituir um contexto existente no modem.
MbimMsContextOperationDelete 1 A operação de exclusão requer que o modem exclua um contexto existente nele.
MbimMsContextOperationRestoreFactory 2 Restaure o contexto pré-configurado de fábrica para a ID do provedor do SIM inserido no momento. Todos os contextos substituídos ou criados pelo sistema operacional devem ser removidos e substituídos. Se não houver nenhum contexto de sistema operacional pré-configurado padrão para a ID do provedor do SIM inserido atual, o contexto provisionado no modem deverá ser removido.

O MBIM_CONTEXT_TYPES original do MBIM 1.0 ainda é válido. A Microsoft está adicionando tipos de contexto adicionais à medida que mais tipos de contextos foram introduzidos desde que o MBIM 1.0 foi definido. A tabela a seguir define os novos tipos que estão sendo introduzidos. IHVs e OEMs podem definir outros tipos de contexto próprios com outros valores de UUID exclusivos que não serão reconhecíveis pelo sistema operacional para seus próprios fins.

Tipo Valor Descrição
MBIMMsContextTypeAdmin 5f7e4c2e-e80b-40a9-a239-f0abcfd11f4b O contexto é usado para fins administrativos, como gerenciamento de dispositivos.
MBIMMSContextTypeApp 74d88a3d-dfbd-4799-9a8c-7310a37bb2ee O contexto é usado para determinados aplicativos permitidos pelas operadoras de celular.
MBIMMsContextTypeXcap 50d378a7-baa5-4a50-b872-3fe5bb463411 O contexto é usado para provisionamento XCAP em serviços do IMS.
MBIMMsContextTypeTethering 5e4e0601-48dc-4e2b-acb8-08b4016bbaac O contexto é usado para tethering de Hotspot Móvel.
MBIMMsContextTypeEmergencyCalling 5f41adb8-204e-4d31-9da8-b3c970e360f2 O contexto é usado para chamadas de emergência do IMS.
Resposta

A seguinte estrutura de dados MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 deve ser utilizada no InformationBuffer.

Deslocamento Tamanho Campo Type Descrição
0 4 ElementCount (EC) UINT32 Contagem de estruturas MBIM_MS_CONTEXT_V2 que seguem no DataBuffer.
4 8 * EC MsProvisionedContextV2RefList OL_PAIR_LIST O primeiro elemento do par é um Deslocamento de 4 bytes em bytes, calculado desde o início (deslocamento 0) dessa estrutura MBIM_MS_PROVISIONED_CONTEXTS_INFO_V2, até uma estrutura MBIM_MS_CONTEXT_V2 (para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_V2). O segundo elemento do par é um tamanho de 4 bytes de um ponteiro para a estrutura MBIM_MS_CONTEXT_V2 correspondente.
4 + 8 * EC DataBuffer BUFFER DE DADOS Matriz de estruturas MBIM_MS_CONTEXT_V2.

O MBIM_MS_CONTEXT_V2, usado na tabela anterior, fornece informações sobre um determinado contexto.

Deslocamento Tamanho Campo Type Descrição
0 4 ContextId UINT32 Um ID exclusivo para esse contexto.
4 16 ContextType MBIM_CONTEXT_TYPES Especifica o tipo de contexto que está sendo representado, por exemplo, conectividade com a Internet, VPN (uma conexão com uma rede corporativa) ou Voz sobre IP (VOIP). Os dispositivos devem especificar MBIMContextTypeNone para contextos vazios ou não provisionados. Para obter mais informações, consulte a tabela MBIM_CONTEXT_TYPES.
20 4 IPType MBIM_CONTEXT_IP_TYPES Para obter mais informações, consulte a tabela MBIM_CONTEXT_IP_TYPES.
24 4 Habilitar MBIM_MS_CONTEXT_ENABLE Especifica se o contexto pode ser usado pelo modem. Se ele estiver definido como MbimMsContextDisabled, qualquer solicitação de conexão do sistema operacional que corresponda ao contexto deverá falhar sem sinalizar para a rede. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_ENABLE.
28 4 Roaming MBIM_MS_CONTEXT_ROAMING_CONTROL Especifica se o roaming é permitido ou não para esse contexto. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_ROAMING_CONTROL.
32 4 MediaType MBIM_MS_CONTEXT_MEDIA_TYPE Especifica para qual tipo de transporte de mídia o contexto é usado. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_MEDIA_TYPE.
36 4 Origem MBIM_MS_CONTEXT_SOURCE Especifica a origem de criação do contexto. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_SOURCE.
40 4 AccessStringOffset DESLOCAMENTO Deslocamento no buffer de dados para uma cadeia de caracteres, AccessString, para acessar a rede. Para redes baseadas em GSM, é uma cadeia de caracteres APN (Nome do Ponto de Acesso), como "data.thephone-company.com". Para redes baseadas em CDMA, esse pode ser um código de discagem especial, como "#777", ou um identificador de acesso à rede (NAI), como "foo@thephone-company.com". Esse membro pode ser NULL para solicitar que a rede atribua a APN padrão. Observação: nem todas as redes dão suporte a essa convenção de APN NULL, portanto, uma falha de conexão causada por uma APN inválida é um resultado possível. O tamanho da cadeia de caracteres não deve exceder 100 caracteres.
44 4 AccessStringSize TAMANHO(0..200) Tamanho usado para AccessString.
48 4 UserNameOffset DESLOCAMENTO Deslocamento em bytes, calculado a partir do início dessa estrutura, para uma cadeia de caracteres, UserName, que representa o nome de usuário a ser autenticado. Esse membro pode ser NULL.
52 4 UserNameSize TAMANHO(0..510) Tamanho usado para UserName.
56 4 PasswordOffset DESLOCAMENTO Deslocamento em bytes, calculado a partir do início dessa estrutura, para uma cadeia de caracteres, Password, que representa a senha do nome de usuário. Esse membro pode ser NULL.
60 4 PasswordSize TAMANHO(0..510) Tamanho usado para Password.
64 4 Compactação MBIM_COMPRESSION Especifica a compactação a ser usada na conexão de dados para cabeçalho e dados. Este membro aplica-se apenas a dispositivos baseados em GSM. O Host define esse membro como MBIMCompressionNone para dispositivos baseados em CDMA. Para obter mais informações, consulte a tabela MBIM_COMPRESSION.
68 4 AuthProtocol MBIM_AUTH_PROTOCOL Tipo de autenticação a ser usada para a ativação do PDP. Para obter mais informações, consulte a tabela MBIM_AUTH_PROTOCOL.
72 DataBuffer BUFFER DE DADOS O buffer de dados que contém AccessString, UserName e Password.
Notificação

Para obter mais informações, consulte a tabela MBIM_MS_PROVISIONED_CONTEXT_V2.

Códigos de status

Para operações de Consulta e Conjunto:

Código de status Descrição
MBIM_STATUS_READ_FAILURE A operação falhou porque o dispositivo não pôde recuperar contextos provisionados.
MBIM_STATUS_NO_DEVICE_SUPPORT A operação falhou porque o dispositivo não dá suporte à operação.

Somente para operações de Conjunto:

Código de status Descrição
MBIM_STATUS_INVALID_PARAMETERS A operação falhou devido a parâmetros inválidos.
MBIM_STATUS_WRITE_FAILURE A operação falhou porque a solicitação de atualização não teve êxito.

Inicialização de dispositivos com um contexto provisionado

Inicialização de um dispositivo GPRS não bloqueado por SIM com um contexto provisionado

O diagrama a seguir representa a experiência ideal do usuário para dispositivos MB baseados em GSM. A experiência pronta para uso não requer configuração do usuário. Presume-se que o dispositivo está configurado para selecionar automaticamente a rede com a qual se registrar. Os rótulos em negrito representam identificadores OID ou controle de fluxo transacional. Os rótulos em texto normal representam os sinalizadores importantes dentro da estrutura OID.

Diagrama ilustrando a sequência de inicialização de dispositivo MB baseada em GSM.

Para inicializar um dispositivo baseado em GSM não bloqueado por SIM, implemente as seguintes etapas:

  1. O Serviço MB envia uma solicitação de consulta de OID_WWAN_READY_INFO assíncrona (sem bloqueio) ao driver de miniporta para identificar o estado pronto do dispositivo. O driver de miniporta responde com um aviso provisório (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas no futuro.

  2. O driver de miniporta envia uma notificação NDIS_STATUS_WWAN_READY_INFO para o Serviço MB que indica ao Serviço MB que o estado do dispositivo MB é WwanReadyStateInitialized.

  3. O Serviço MB envia uma solicitação de consulta de OID_WWAN_REGISTER_STATE assíncrona (sem bloqueio) ao driver de miniporta para identificar o estado de registro do dispositivo. O driver de miniporta responde com um aviso provisório (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas no futuro.

  4. O driver de miniporta envia uma notificação NDIS_STATUS_WWAN_REGISTER_STATE para o Serviço MB que indica que o modo de registro do dispositivo é WwanRegistraterModeAutomatic e seu estado de registro atual é WwanRegisterStateSearching.

  5. Posteriormente, quando o dispositivo é registrado em um provedor de rede, o driver de miniporta envia uma notificação NDIS_STATUS_WWAN_REGISTER_STATE não solicitada ao Serviço MB que indica que o estado de registro atual do dispositivo é WwanRegisterStateHome.

  6. O dispositivo tenta anexar o serviço de pacotes. Quando o estado do serviço de pacote muda para anexado, o driver de miniporta envia uma notificação NDIS_STATUS_WWAN_PACKET_SERVICE não solicitada ao Serviço MB que indica que o serviço de pacote está anexado e a classe de dados atual é WWAN_DATA_CLASS_GPRS.

  7. O Serviço MB envia uma solicitação de consulta de OID_WWAN_HOME_PROVIDER assíncrona (sem bloqueio) ao driver de miniporta para recuperar informações do provedor doméstico. O driver de miniporta responde com um aviso provisório (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas no futuro.

  8. O driver de miniporta envia uma notificação NDIS_STATUS_WWAN_HOME_PROVIDER ao Serviço MB que indica os detalhes do provedor doméstico.

  9. O Serviço MB envia uma solicitação de consulta de OID_WWAN_PROVISIONED_CONTEXTS assíncrona (sem bloqueio) ao driver de miniporta para recuperar a lista de contextos provisionados. O driver de miniporta responde com um aviso provisório (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas no futuro.

  10. O driver de miniporta envia uma notificação NDIS_STATUS_WWAN_PROVISIONED_CONTEXTS ao Serviço MB que contém uma lista de estruturas WWAN_CONTEXT.

  11. O Serviço MB envia uma solicitação de conjunto de OID_WWAN_CONNECT assíncrona (sem bloqueio) ao driver de miniporta para ativar o contexto PDP (Packet Data Protocol). O driver de miniporta responde com um aviso provisório (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas no futuro.

  12. O driver de miniporta envia uma notificação NDIS_STATUS_WWAN_CONTEXT_STATE ao Serviço MB que indica que o contexto PDP está ativado.

  13. O driver de miniporta envia uma notificação NDIS_STATUS_LINK_STATE para indicar que o estado de conexão de mídia é MediaConnectStateConnected.

Inicialização de um dispositivo de pacote CDMA com um contexto provisionado

O diagrama a seguir ilustra a experiência ideal do usuário para dispositivos baseados em CDMA. A experiência pronta para uso não requer configuração do usuário. Esse cenário pressupõe que a conta baseada em CDMA não foi ativada. Ao contrário dos dispositivos baseados em GSM, um dispositivo baseado em CDMA inicia automaticamente o registro na rede após a conclusão da ativação. Os rótulos em negrito são identificadores OID ou controle de fluxo transacional. Os rótulos em texto normal são os sinalizadores importantes dentro da estrutura OID.

Diagrama que ilustra a sequência de inicialização de um dispositivo de banda larga móvel baseada em CDMA.

Para inicializar um dispositivo de pacote baseado em CDMA com um contexto provisionado, implemente as seguintes etapas:

  1. O Serviço MB envia um OID_WWAN_READY_INFO assíncrono (sem bloqueio) ao driver de miniporta. O driver de miniporta responde com um aviso provisório (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas no futuro.

  2. O driver de miniporta envia NDIS_STATUS_WWAN_FAILURE ao Serviço MB.

  3. O Serviço MB envia um OID_WWAN_SERVICE_ACTIVATION assíncrono (sem bloqueio) ao driver de miniporta. O driver de miniporta responde com um aviso provisório (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas no futuro.

  4. O driver de miniporta envia NDIS_STATUS_WWAN_SUCCESS ao Serviço MB.

  5. O driver de miniporta envia NDIS_STATUS_WWAN_REGISTER_STATE ao Serviço MB.

  6. O driver de miniporta envia NDIS_STATUS_WWAN_REGISTER_STATE ao Serviço MB.

  7. O driver de miniporta envia NDIS_STATUS_WWAN_PACKET_SERVICE ao Serviço MB.

  8. O Serviço MB envia um OID_WWAN_HOME_PROVIDER assíncrono (sem bloqueio) ao driver de miniporta. O driver de miniporta responde com um aviso provisório (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas no futuro.

  9. O driver de miniporta envia NDIS_STATUS_WWAN_SUCCESS ao Serviço MB.

  10. O Serviço MB envia um OID_WWAN_PROVISIONED_CONTEXTS assíncrono (sem bloqueio) ao driver de miniporta. O driver de miniporta responde com um aviso provisório (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas no futuro.

  11. O driver de miniporta envia NDIS_STATUS_WWAN_SUCCESS ao Serviço MB.

  12. O Serviço MB envia um OID_WWAN_PROVISIONED_CONTEXTS assíncrono (sem bloqueio) ao driver de miniporta. O driver de miniporta responde com um aviso provisório (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas no futuro.

  13. O driver de miniporta envia NDIS_STATUS_WWAN_SUCCESS ao Serviço MB.

  14. O driver de miniporta envia NDIS_STATUS_LINK_STATE ao Serviço MB.

Confira também

Preparação do dispositivo MB