Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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:
- Configurações de APN que são conhecidas pelo SO porque existem aplicações ou clientes acima do SO que requerem essas ligações.
- Configurações de APN que não são divulgadas ao SO porque são consumidas internamente pelo modem para conexões que não são aproveitadas pelo SO e seus clientes.
Idealmente, o modem deve armazenar 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 compram APNs, configurações conhecidas do sistema operacional, no modem também. Antes do lançamento do Windows 10, versão 1703, o Windows lia apenas as configurações de Internet e APN de Compra do modem para estabelecer ligações à Internet. A partir do Windows 10, versão 1703, pode haver casos adicionais em que a configuração do APN do modem teria que ser gerenciada pelo Windows, especialmente se houver clientes no sistema operacional, como configurações do 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 do APN do modem. Por exemplo, pode haver uma pilha IMS no modem que está a usar o APN 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 do APN do IMS pode ter que ser alterada. Esta alteração pode ser feita através do SO. Para suportar 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 fórum USB têm um CID e um OID existentes, respectivamente, para permitir que o SO defina e consulte as configurações de APN no modem. Para o MBIM 1.0, isto é feito através do MBIM_CID_PROVISIONED_CONTEXT, enquanto para o NDIS, isto é feito através do OID_WWAN_PROVISIONED_CONTEXTS. No entanto, o CID e o OID existentes não foram projetados com orientações claras sobre como o modem deve se comportar em várias situações, como um ciclo de energia ou troca de SIM. Os dispositivos que desejam suportar a configuração do sistema operacional e a 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, para IHVs/OEMs que desejam oferecer suporte a novo hardware em versões do sistema operacional anteriores a 1703, eles terão que continuar a oferecer suporte aos MBIM_CID_PROVISIONED_CONTEXT e OID_WWAN_PROVISIONED_CONTEXTS existentes. A partir do Windows 10, versão 1703, se o dispositivo suportar a 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 APN no modem.
Atualização da interface MB para operações de contexto provisionado
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 MSFT é definido como MBIM_CID_MS_PROVISIONED_CONTEXT_V2.
Nome do Serviço = Extensões Básicas do Connect
UUID = UUID_BASIC_CONNECT_EXTENSIONS
Valor UUID = 3d01dcc5-fef5-4d05-0d3abef7058e9aaf
| CID | Código de comando | Versão mínima do SO |
|---|---|---|
| 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 MBIM_CID_PROVISIONED_CONTEXT para o SO e os seus clientes superiores gerirem contextos provisionados no modem, o Windows tradicionalmente consultava apenas o contexto no modem, mas não o definia a partir do SO. 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 é invisível para o sistema operativo, o sistema operativo deve ser capaz de especificar o APN 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 MBIM_CID_PROVISIONED_CONTEXT pode sugerir. Em vez disso, da perspetiva 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 estão no modem, se o sistema operacional definir um contexto que tenha MBIM_CONTEXT_TYPE = IMS, todo o tráfego IMS iniciado pelo modem só deverá ser tentado nesse contexto.
O MBIM 1.0 especifica que MBIM_CID_PROVISIONED_CONTEXT só pode chamar Query em contextos que correspondam ao ID do Provedor (par MCC/MNC) do cartão SIM inserido. Para Definir solicitações, MBIM_CID_PROVISIONED_CONTEXT pode especificar a ID do provedor do contexto que deseja armazenar. MBIM_CID_MS_PROVISIONED_CONTEXT_V2 especifica um comportamento semelhante, mas diferente, do MBIM 1.0. Para cada consulta, o SO continua a esperar que o modem apenas devolva contextos que correspondam ao ID de fornecedor do cartão SIM inserido. Para set, o comando não permitirá mais que o SO defina contextos que não correspondam à ID do provedor atual no cartão SIM. Espera-se que a solicitação set crie um contexto para a ID do provedor atual do cartão SIM apresentado. Por exemplo, o utilizador muda do SIM 1 para o SIM 2 e, em seguida, de volta para o SIM 1. Espera-se que durante a primeira troca de SIM, o modem deve resolver todos os seus contextos antes de carregar o contexto para 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.
Os OEMs e IHVs que pré-configuraram o modem devem manter a configuração original de fábrica caso o SO ou o usuário queira restaurar as configurações de contexto no modem para as configurações originais. Apenas os contextos originais de fábrica do ID de Provedor do SIM atualmente inserido devem ser restaurados. Os contextos pré-configurados da configuração de fábrica original nunca devem ser substituídos pela configuração do SO. O diagrama a seguir é um fluxo de exemplo para quando um usuário escolhe restaurar as configurações de fábrica:
Espera-se que o modem não responda às solicitações de Consulta ou Configuração quando o SIM estiver ausente, bloqueado ou a ID do fornecedor estiver inacessível. O modem deve ter apenas um contexto por CONTEXT_TYPE por ID de provedor. Se o IHV ou OEM decidir pré-configurar contextos de modem no modem, é importante que ele verifique se os contextos estão configurados corretamente para cada provedor para o qual ele escolhe fazê-lo. No caso de o cartão SIM inserido não ter contextos pré-configurados IHV, o modem não deve ter quaisquer contextos sem a configuração do SO. IHVs e OEMs devem assegurar-se de que MBIM_MS_CONTEXT_SOURCE = MbimMsContextSourceModemProvisioned para que o SO use o contexto do modem para conexão, se existir, e não o substitua pela base de dados APN do Windows.
A forma como os mapas do modem lidam com o contexto e o apresentam de volta através 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 fornece ao SO a capacidade de ativar ou desativar o contexto associado a um tipo de contexto no modem. Quando o contexto é desativado no modem, espera-se que o modem não use o contexto armazenado para qualquer conexão com a rede, mesmo aqueles que não estão cientes do sistema operacional. Se o SO solicitar uma conexão correspondente a um contexto desativado no modem, o modem deverá falhar a solicitação imediatamente sem sinalização para a rede. O processo de correspondência deve alinhar todos os campos na estrutura MBIM_MS_CONTEXT_V2.
A estrutura MBIM_CONTEXT_IP_TYPE do MBIM 1.0 é usada apenas para MBIM_CID_CONNECT. Em 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 determinado.
No Windows 10, versão 1703, com novo hardware que suporta MBIM_CID_MS_PROVISIONED_CONTEXT_V2, o MBIM_CID_PROVISIONED_CONTEXT herdado não será usado a partir de componentes de primeira parte. Se houver outros componentes de cliente/sistema operacional herdados que enviam MBIM_CID_PROVISIONED_CONTEXT, espera-se que o modem retorne resultados como nas versões do Windows anteriores ao Windows 10, versão 1703.
Consulta
MBIM_MS_PROVISIONED_CONTEXTS_INFO é retornado de mensagens de consulta e de conclusão de configuração no InformationBuffer.
Para Query, o InformationBuffer é null.
Conjunto
Para Set, o InformationBuffer contém uma estrutura MBIM_MS_SET_PROVISIONED_CONTEXT_V2. Na operação Set, como cada IHV de modem pode ter maneiras proprietárias de gerenciar o armazenamento de contexto, o sistema operativo não especifica mais o campo ContextId e espera que o modem mapeie os contextos para o slot apropriado. Quando o SO define contextos, ele espera que o modem o use para todas as conexões que correspondam ao MBIM_CONTEXT_TYPE do contexto determinado. 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 passa pelo comando MBIM_CID_MS_PROVISIONED_CONTEXT_V2 do SO. A função deve atualizar a lista de contextos provisionados e marcar MBIM_MS_CONTEXT_SOURCE = MbimMsContextSourceOperatorProvisioned em conformidade. Depois disso, as funções devem notificar o host sobre atualizações usando esse evento com a lista atualizada.
Parâmetros
| Funcionamento | Conjunto | 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.
Conjunto
Deve ser utilizada a seguinte estrutura de dados MBIM_SET_MS_PROVISIONED_CONTEXT_V2 no InformationBuffer.
| Compensação | Tamanho | Campo | Tipo | Descrição |
|---|---|---|---|---|
| 0 | 4 | Funcionamento | MBIM_MS_CONTEXT_OPERATIONS | Especifica o tipo de operação para a qual o comando SET é usado. Se definido como MbimMsContextOperationDelete, o contexto para o 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 SO devem ser removidos, os contextos pré-configurados de fábrica padrão devem ser carregados e todos os outros campos em MBIM_SET_MS_PROVISIONED_CONTEXT_V2 devem ser ignorados. |
| 4 | 16 | Tipo de contexto | 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 Voice-over-IP (VOIP). Para obter mais informações, consulte a tabela MBIM_CONTEXT_TYPES. |
| 20 | 4 | Tipo de IP | 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 Voice-over-IP (VOIP). Para obter mais informações, consulte a tabela MBIM_CONTEXT_IP_TYPES. |
| 24 | 4 | Ativar | MBIM_MS_CONTEXT_ENABLE | Especifica se o contexto pode ser usado pelo modem. Se estiver definido como MbimMsContextDisabled, qualquer solicitação de conexão do sistema operacional que corresponda ao contexto deve falhar sem sinalização para a rede. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_ENABLE. |
| 28 | 4 | Itinerância | MBIM_MS_CONTEXT_ROAMING_CONTROL | Especifica se o roaming é permitido ou não para este contexto. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_ROAMING_CONTROL. |
| 32 | 4 | Tipo de Mídia | MBIM_MS_CONTEXT_MEDIA_TYPE | Especifica para que tipo de transporte de mídia o contexto é usado. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_MEDIA_TYPE. |
| 36 | 4 | Fonte | 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 aceder à rede. Para redes baseadas em GSM, esta seria uma cadeia de caracteres de nome de ponto de acesso (APN), como "data.thephone-company.com". Para redes baseadas em CDMA, isso pode ser um código de discagem especial, como "#777", ou um Identificador de Acesso à Rede (NAI), como "foo@thephone-company.com". Este membro pode ser NULL para solicitar que a rede atribua o APN padrão. Nota: Nem todas as redes suportam esta convenção NULL APN, portanto, uma falha de conexão causada por um APN inválido é 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 | DeslocamentoDoNomeDoUtilizador | 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. Este membro pode ser nulo (NULL). |
| 52 | 4 | TamanhoDoNomeDeUtilizador | TAMANHO(0..510) | Tamanho usado para UserName . |
| 56 | 4 | Offset de senha | DESLOCAMENTO | Deslocamento em bytes, calculados a partir do início dessa estrutura, para uma cadeia de caracteres, Senha, que representa a senha do nome de usuário. Este membro pode ser nulo (NULL). |
| 60 | 4 | PasswordSize | TAMANHO(0..510) | Tamanho usado para palavra-passe. |
| 64 | 4 | Compressão | MBIM_COMPRESSION | Especifica a compactação a utilizar na conexão de dados para o cabeçalho e os 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 | Protocolo de autenticação | MBIM_AUTH_PROTOCOL | Tipo de autenticação a ser usado para a ativação PDP. Para obter mais informações, consulte a tabela MBIM_AUTH_PROTOCOL. |
| 72 | 4 | Buffer de Dados | 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.
MBIM_MS_CONTEXT_ROAMING_CONTROL especifica a política de roaming por contexto. O sistema operacional pode especificar se o contexto dado pode ser ativado durante o roaming ou não. O modem não deve ativar automaticamente o contexto sem intervenção do SO se o estado de roaming não satisfizer as condições especificadas. Nos casos em que o modem não suporta parceiros, todas as configurações de parceiros devem ser tratadas como equivalentes a casa.
| Tipo | Valor | Descrição |
|---|---|---|
| Controlo de Roaming de Contexto MbimMs: Apenas em Casa | 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 de roaming parceiras ou não. |
| MbimMsContextRoamingControlNonPartnerOnly | 2 | Indica se o contexto só pode ser usado em redes de roaming não parceiras ou não. |
| MbimMsContextRoamingControlHomeAndPartner | 3 | Indica se o contexto pode ser usado em redes móveis domésticas e de parceiros. |
| MbimMsContextRoamingControlHomeAndNonPartner | 4 | Indica se o contexto pode ser usado em redes móveis domésticas e não parceiras. |
| MbimMsContextRoamingControlParceiroENãoParceiro | 5 | Indica se o contexto pode ser usado em redes de roaming de parceiros e não parceiros. |
| MbimMsContextRoamingControlAllowAll | 6 | Indica se o contexto pode ser usado em qualquer condição de roaming. |
MBIM_MS_CONTEXT_MEDIA_TYPE foi adicionado para especificar se o contexto é usado para redes móveis ou iWLAN quando o descarregamento Wi-Fi for suportado em plataformas futuras. Por exemplo, se um contexto estiver definido como celular e o modem estiver atualmente a realizar o offloading Wi-Fi, então não deve iniciar uma conexão utilizando esse contexto.
| Tipo | Valor | Descrição |
|---|---|---|
| MbimMsContextMediaTypeCellularOnly | 0 | Indica se o contexto só pode ser usado quando registrado pela rede celular. |
| MbimMsContextMediaTypeWifiOnly | 1 | Indica se o contexto só pode ser utilizado quando registado através de iWLAN (Wi-Fi offload). |
| MbimMsContextMediaTypeAll | 2 | Indica se o contexto pode ser usado quando registrado por meio de celular ou Wi-Fi. |
MBIM_MS_CONTEXT_ENABLE especifica se um contexto está habilitado ou desabilitado.
| Tipo | Valor | Descrição |
|---|---|---|
| ContextoMbimMsDesativado | 0 | O contexto provisionado está desabilitado. O modem não deve permitir a ativação neste contexto a partir do SO e do próprio modem. |
| MbimMsContextEnabled | 1 | O contexto provisionado está habilitado. O contexto pode ser ativado se outras condições forem atendidas; Por exemplo, se o roaming não for permitido, o contexto não deverá ser ativado durante o roaming. |
MBIM_MS_CONTEXT_SOURCE foi adicionado para dar visibilidade ao SO 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 SO. |
| MbimMsContextSourceUser | 1 | O contexto foi criado pelo usuário através das configurações do sistema operacional. |
| MbimMsContextSourceOperator | 2 | O contexto foi criado pelo operador através de OMA-DM ou outros canais. |
| MbimMsContextSourceModem | 3 | O contexto foi criado pelo IHV ou OEM que acompanhava o firmware do modem. |
| MbimMsContextSourceDevice | 4 | O contexto foi criado pelo banco de dados do OS APN. |
MBIM_MS_CONTEXT_OPERATIONS especifica as operações que o SO pode executar para configurar contextos no modem.
| Tipo | Valor | Descrição |
|---|---|---|
| MbimMsContextOperationDefault | 0 | Operação padrão, incluindo a adição ou substituição de um contexto existente no modem. |
| MbimMsContextOperationDelete | 1 | A operação de exclusão requer que o modem exclua um contexto existente no modem. |
| MbimMsContextOperationRestoreFactory | 2 | Restaure o contexto pré-configurado de fábrica para o ID do fornecedor do SIM atualmente inserido. Todos os contextos substituídos ou criados pelo SO devem ser removidos e substituídos. Se não houver um contexto de sistema operacional pré-configurado padrão para a ID do provedor SIM inserida 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 proprietários com outros valores 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 determinadas aplicações permitidas pelas operadoras móveis. |
| MBIMMsContextTypeXcap | 50D378A7-BAA5-4A50-B872-3FE5BB463411 | O contexto é usado para provisionamento XCAP em serviços IMS. |
| MBIMMsContextTypeTethering | 5e4e0601-48dc-4e2b-acb8-08b4016bbaac | O contexto é usado para partilha de ligação através de Mobile Hotspot. |
| MBIMMsContextTypeEmergencyCalling | 5F41ADB8-204E-4D31-9DA8-B3C970E360F2 | O contexto é usado para chamadas de emergência IMS. |
Resposta
A seguinte estrutura MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 deve ser utilizada no InformationBuffer.
| Compensação | Tamanho | Campo | Tipo | Descrição |
|---|---|---|---|---|
| 0 | 4 | ElementCount (CE) | UINT32 | Contagem das estruturas MBIM_MS_CONTEXT_V2 que seguem no DataBuffer. |
| 4 | 8 * CE | MsProvisionedContextV2RefList | OL_PAIR_LIST | O primeiro elemento do par é um Deslocamento de 4 bytes em bytes, calculado desde o início (deslocamento 0) desta 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 ponteiro para a estrutura MBIM_MS_CONTEXT_V2 correspondente, com um tamanho de 4 bytes. |
| 4 + 8 * CE | Buffer de Dados | BUFFER DE DADOS | Matriz de estruturas MBIM_MS_CONTEXT_V2. |
MBIM_MS_CONTEXT_V2, usado na tabela anterior, fornece informações sobre um determinado contexto.
| Compensação | Tamanho | Campo | Tipo | Descrição |
|---|---|---|---|---|
| 0 | 4 | ContextId | UINT32 | Um ID exclusivo para este contexto. |
| 4 | 16 | Tipo de contexto | 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 Voice-over-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 | Tipo de IP | MBIM_CONTEXT_IP_TYPES | Para obter mais informações, consulte a tabela MBIM_CONTEXT_IP_TYPES. |
| 24 | 4 | Ativar | MBIM_MS_CONTEXT_ENABLE | Especifica se o contexto pode ser usado pelo modem. Se estiver definido como MbimMsContextDisabled, qualquer solicitação de conexão do sistema operacional que corresponda ao contexto deve falhar sem sinalização para a rede. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_ENABLE. |
| 28 | 4 | Itinerância | MBIM_MS_CONTEXT_ROAMING_CONTROL | Especifica se o roaming é permitido ou não para este contexto. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_ROAMING_CONTROL. |
| 32 | 4 | Tipo de Mídia | MBIM_MS_CONTEXT_MEDIA_TYPE | Especifica para que tipo de transporte de mídia o contexto é usado. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_MEDIA_TYPE. |
| 36 | 4 | Fonte | 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 aceder à rede. Para redes baseadas em GSM, esta seria uma cadeia de caracteres de nome de ponto de acesso (APN), como "data.thephone-company.com". Para redes baseadas em CDMA, isso pode ser um código de discagem especial, como "#777", ou um Identificador de Acesso à Rede (NAI), como "foo@thephone-company.com". Este membro pode ser NULL, para solicitar que a rede atribua o APN padrão. Nota: Nem todas as redes suportam esta convenção NULL APN, portanto, uma falha de conexão causada por um APN inválido é 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 | DeslocamentoDoNomeDoUtilizador | 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. Este membro pode ser nulo (NULL). |
| 52 | 4 | TamanhoDoNomeDeUtilizador | TAMANHO(0..510) | Tamanho usado para UserName. |
| 56 | 4 | Offset de senha | DESLOCAMENTO | Deslocamento em bytes, calculados a partir do início dessa estrutura, para uma cadeia de caracteres, Senha, que representa a senha do nome de usuário. Este membro pode ser nulo (NULL). |
| 60 | 4 | PasswordSize | TAMANHO(0..510) | Tamanho usado para palavra-passe. |
| 64 | 4 | Compressão | MBIM_COMPRESSION | Especifica a compactação a utilizar na conexão de dados para o cabeçalho e os 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 | Protocolo de autenticação | MBIM_AUTH_PROTOCOL | Tipo de autenticação a ser usado para a ativação PDP. Para obter mais informações, consulte a tabela MBIM_AUTH_PROTOCOL. |
| 72 | Buffer de Dados | 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 estado
Para operações Query e set:
| Código de estado | Descrição |
|---|---|
| FALHA_AO_LER_MBIM_STATUS | A operação falhou porque o dispositivo não conseguiu recuperar contextos provisionados. |
| Status MBIM: Sem Suporte ao Dispositivo | A operação falhou porque o dispositivo não suporta a operação. |
Apenas para operações de conjunto:
| Código de estado | Descrição |
|---|---|
| MBIM_STATUS_INVALID_PARAMETERS | A operação falhou devido a parâmetros inválidos. |
| MBIM_STATUS_WRITE_FAILURE (Falha de Escrita) | A operação falhou porque a solicitação de atualização não foi bem-sucedida. |
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 de usuário ideal para dispositivos MB baseados em GSM. A experiência pronta a usar não requer configuração por parte do usuário. Presume-se que o dispositivo está configurado para selecionar automaticamente a rede para se registrar. Os rótulos em negrito representam identificadores OID ou controle de fluxo transacional. Os rótulos em texto regular representam os sinalizadores importantes dentro da estrutura OID.
Para inicializar um dispositivo baseado em GSM não bloqueado por SIM, implemente as seguintes etapas:
O Serviço MB envia uma solicitação de consulta OID_WWAN_READY_INFO assíncrona (sem bloqueio) para o driver de miniporta para identificar o estado pronto do dispositivo. O driver da miniporta responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas posteriormente.
O driver de miniporta envia uma notificação de NDIS_STATUS_WWAN_READY_INFO para o Serviço MB, indicando que o estado do dispositivo MB é WwanReadyStateInitialized.
O Serviço MB envia uma solicitação de consulta assíncrona (sem bloqueio) OID_WWAN_REGISTER_STATE para o controlador de miniporta para identificar o estado de registo do dispositivo. O driver da miniporta responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas posteriormente.
O driver de miniporta envia uma notificação de NDIS_STATUS_WWAN_REGISTER_STATE para o Serviço MB que indica que o modo de registo do dispositivo é WwanRegistraterModeAutomatic e o seu estado de registo atual é WwanRegisterStateSearching.
Mais tarde, quando o dispositivo é registrado para um provedor de rede, o driver de miniporta envia uma notificação de NDIS_STATUS_WWAN_REGISTER_STATE não solicitada para o Serviço MB que indica que o estado de registro atual do dispositivo é WwanRegisterStateHome.
O dispositivo tenta conectar-se ao serviço de pacotes. Quando o estado do serviço de pacotes muda para conectado, o driver da miniporta envia uma notificação não solicitada NDIS_STATUS_WWAN_PACKET_SERVICE ao Serviço MB, indicando que o serviço de pacotes está conectado e que a classe de dados atual é WWAN_DATA_CLASS_GPRS.
O Serviço MB envia um pedido de consulta assíncrono (não bloqueante) OID_WWAN_HOME_PROVIDER ao driver da miniporta para recuperar informações do fornecedor de origem. O motorista da miniporta responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas no futuro.
O driver de miniporta envia uma notificação de NDIS_STATUS_WWAN_HOME_PROVIDER para o Serviço MB que indica os detalhes do provedor doméstico.
O Serviço MB envia uma solicitação de consulta OID_WWAN_PROVISIONED_CONTEXTS assíncrona (sem bloqueio) para o driver de miniporta para recuperar a lista de contextos provisionados. O driver da miniporta responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas posteriormente.
O driver de miniporta envia uma notificação de NDIS_STATUS_WWAN_PROVISIONED_CONTEXTS para o Serviço MB que contém uma lista de estruturas WWAN_CONTEXT.
O Serviço MB envia uma solicitação assíncrona (sem bloqueio) OID_WWAN_CONNECT set para o driver de miniporta para ativar o contexto PDP (Packet Data Protocol). O driver da miniporta responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas posteriormente.
O driver de miniporta envia uma notificação de NDIS_STATUS_WWAN_CONTEXT_STATE para o Serviço MB, indicando que o contexto PDP foi ativado.
O driver de miniporta envia uma notificação de 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 de usuário ideal para dispositivos baseados em CDMA. A experiência pronta a usar não precisa de configuração do utilizador. Este 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 regular são os sinalizadores importantes dentro da estrutura OID.
Para inicializar um dispositivo de pacote baseado em CDMA com um contexto provisionado, implemente as seguintes etapas:
O Serviço MB envia uma OID_WWAN_READY_INFO assíncrona (sem bloqueio) para o driver de miniporta. O motorista da miniporta responde com um aviso provisório (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará uma notificação com as informações solicitadas no futuro.
O driver de miniporta envia NDIS_STATUS_WWAN_FAILURE para o serviço MB.
O Serviço MB envia uma OID_WWAN_SERVICE_ACTIVATION assíncrona (sem bloqueio) para o driver de miniporta. O motorista da miniporta responde com um aviso provisório (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará uma notificação com as informações solicitadas no futuro.
O driver de miniport envia NDIS_STATUS_WWAN_SUCCESS ao serviço MB.
O driver de miniport envia NDIS_STATUS_WWAN_REGISTER_STATE para o serviço MB.
O driver de miniport envia NDIS_STATUS_WWAN_REGISTER_STATE para o serviço MB.
O driver de miniporta envia NDIS_STATUS_WWAN_PACKET_SERVICE para o serviço MB.
O Serviço MB envia uma OID_WWAN_HOME_PROVIDER assíncrona (sem bloqueio) para o driver de miniporta. O motorista da miniporta responde com um aviso provisório (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará uma notificação com as informações solicitadas no futuro.
O driver de miniport envia NDIS_STATUS_WWAN_SUCCESS ao serviço MB.
O Serviço MB envia um OID_WWAN_PROVISIONED_CONTEXTS assíncrono (sem bloqueio) para o driver de miniportas. O motorista da miniporta responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará uma notificação com as informações solicitadas no futuro.
O driver de miniport envia NDIS_STATUS_WWAN_SUCCESS ao serviço MB.
O Serviço MB envia um OID_WWAN_PROVISIONED_CONTEXTS assíncrono (sem bloqueio) para o driver de miniportas. O driver da miniporta responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas posteriormente.
O driver de miniport envia NDIS_STATUS_WWAN_SUCCESS ao serviço MB.
O driver de miniporta envia NDIS_STATUS_LINK_STATE para o serviço MB.