estrutura WWAN_REGISTRATION_STATE (wwan.h)

A estrutura WWAN_REGISTRATION_STATE representa o estado de registro do dispositivo MB.

Sintaxe

typedef struct _WWAN_REGISTRATION_STATE {
  ULONG               uNwError;
  WWAN_REGISTER_STATE RegisterState;
  WWAN_REGISTER_MODE  RegisterMode;
  WCHAR               ProviderId[WWAN_PROVIDERID_LEN];
  WCHAR               ProviderName[WWAN_PROVIDERNAME_LEN];
  WCHAR               RoamingText[WWAN_ROAMTEXT_LEN];
  DWORD               WwanRegFlags;
  WWAN_CELLULAR_CLASS CurrentCellularClass;
  ULONG               PreferredDataClasses;
} WWAN_REGISTRATION_STATE, *PWWAN_REGISTRATION_STATE;

Membros

uNwError

Um erro específico da rede, em caso de falha de registro. Para obter mais informações sobre esse membro, consulte a seção "Comentários" a seguir.

RegisterState

O estado de registro do dispositivo. Para obter uma lista de valores definidos, consulte WWAN_REGISTER_STATE.

O valor WwanRegisterStatePartner indica que o dispositivo está em roaming em um provedor de rede de parceiro preferencial, enquanto o valor WwanRegisterStateRoaming indica que o dispositivo está apenas em roaming. Se a caracterização do parceiro do estado de roaming não estiver disponível, o driver de miniporte deverá relatar WwanRegisterStateRoaming.

RegisterMode

O modo de registro do dispositivo. Para obter uma lista de valores definidos, consulte WWAN_REGISTER_MODE.

ProviderId[WWAN_PROVIDERID_LEN]

Uma cadeia de caracteres numérica terminada em NULL (0-9) que representa a identidade do provedor de rede.

Para redes baseadas em GSM, essa cadeia de caracteres é uma concatenação de um MCC (Mobile Country Code) de três dígitos e um MNC (Código de Rede Móvel) de dois ou três dígitos. As operadoras baseadas em GSM podem ter mais de um MNC e, portanto, mais de um ProviderId .

Para redes baseadas em CDMA, essa cadeia de caracteres é uma SID (ID do Sistema) de cinco dígitos. Geralmente, uma operadora baseada em CDMA tem mais de um SID. Normalmente, uma transportadora tem um SID para cada mercado, que geralmente é dividido geograficamente dentro de uma nação por regulamentos, como Áreas Estatísticas Metropolitanas (MSA) no Estados Unidos da América. Os drivers de miniporte de dispositivos baseados em CDMA devem especificar WWAN_CDMA_DEFAULT_PROVIDER_ID se essas informações não estiverem disponíveis.

Ao processar uma solicitação de consulta e o estado de registro estiver no modo de registro automático, esse membro contém a ID do provedor à qual o dispositivo está associado no momento (se aplicável). Quando o estado de registro está no modo de registro manual, esse membro contém a ID do provedor com a qual o dispositivo é solicitado a se registrar (mesmo que o provedor não esteja disponível).

Ao processar uma solicitação definida e o estado de registro estiver no modo manual, isso contém a ID do provedor selecionada pelo Serviço MB para o dispositivo se registrar. Quando o estado de registro está no modo de registro automático, esse parâmetro é ignorado.

Os provedores CDMA 1xRTT devem ser definidos como WWAN_CDMA_DEFAULT_PROVIDER_ID se a ID do provedor não estiver disponível.

ProviderName[WWAN_PROVIDERNAME_LEN]

Uma cadeia de caracteres terminada em NULL que representa o nome do provedor de rede. Esse membro é limitado a, no máximo, WWAN_PROVIDERNAME_LEN caracteres.

Para redes baseadas em GSM, se a apresentação preferencial de iniciais de país e nome de rede móvel (PPCI&N) for maior que vinte caracteres, o driver de miniporto deverá abreviar o nome da rede.

Esse membro é ignorado quando o Serviço MB define a lista de provedores preferenciais.

Os drivers de miniport devem especificar uma cadeia de caracteres NULL para dispositivos que não têm essas informações.

RoamingText[WWAN_ROAMTEXT_LEN]

Uma cadeia de caracteres terminada em NULL para informar ao usuário que o dispositivo está em roaming. Esse membro é limitado ao máximo WWAN_ROAMTEXT_LEN caracteres.

Esse texto deve fornecer informações adicionais ao usuário quando o estado de registro for WwanRegisterStatePartner ou WwanRegisterStateRoaming. Esse membro é opcional.

WwanRegFlags

Sinalizadores de registro.

Valor Significado
WWAN_REG_FLAGS_NONE Sem sinalizadores de registro.
WWAN_REG_FLAGS_NO_MANUAL_REG Nenhuma anexação manual.
WWAN_REG_FLAGS_PS_AUTO_ATTACH Indica que o dispositivo MB gerencia seu próprio contexto de pacote. O Serviço MB não enviará um pacote desanexado para o driver de miniporte, mas poderá enviar uma anexação de pacote.

CurrentCellularClass

A classe celular atual da rede registrada. Para redes que dão suporte apenas a uma única classe celular, esse membro deve ser definido como essa classe celular. Para redes compatíveis com vários modos, o driver de miniporto envia NDIS_STATUS_WWAN_REGISTER_STATE notificações para o serviço MB quando a rede altera sua classe celular.

PreferredDataClasses

Uma máscara de bits que representa as tecnologias de acesso a dados que são preferenciais para uma conexão.

Comentários

Consultar e definir solicitações OID, bem como eventos de status não solicitados, usam o membro uNwError. Se não houver nenhum erro específico de rede ou o erro específico da rede não for conhecido, os drivers de miniporto deverão definir esse membro como zero. A seção "Estrutura de Indicação de Status" na Semântica Operacional do MB mostra que o registro causa valores de falha de código definidos na Especificação 3GPP TS 24.008.

Os pontos a seguir fornecem diretrizes sobre como retornar um erro específico de rede em cenários diferentes:

  • Se o registro de rede falhar devido a um erro específico de rede, os drivers de miniporto deverão retornar o erro específico da rede em resposta às solicitações de consulta . Nesse caso, os drivers de miniporto devem definir o membro uStatus da estrutura NDIS_WWAN_REGISTRATION_STATE como WWAN_STATUS_SUCCESS e definir o membro uNwError como o código de erro específico da rede.
  • Se uma solicitação definida falhar, os drivers de miniporto deverão retornar o código de erro específico da rede. Nesse caso, os drivers de miniporto devem definir o membro uStatus da estrutura NDIS_WWAN_REGISTRATION_STATE como WWAN_STATUS_FAILURE e definir o membro uNwError como o código de erro específico da rede.
  • Sempre que o estado de registro do dispositivo for alterado porque a rede cancela o registro do dispositivo (por exemplo, a rede descrevia o dispositivo porque a assinatura do dispositivo expirou) e os eventos de status não solicitados devem incluir o erro específico da rede. Nesse caso, o driver de miniporto deve definir o membro uStatus da estrutura NDIS_WWAN_REGISTRATION_STATE como WWAN_STATUS_SUCCESS e definir o membro uNwError como o código de erro específico da rede.
Para retornar um erro específico de rede ao processar solicitações de OID_WWAN_REGISTER_STATE, os drivers de miniport devem definir o membro uStatus da estrutura NDIS_WWAN_REGISTRATION_STATE como WWAN_STATUS_FAILURE e definir o membro uNwError como o código de erro específico da rede.

Os drivers de miniport podem fornecer códigos de erro adicionais, conforme definido pela especificação de padrões GSM de códigos de erro de anexação de pacotes retornados pela rede. Por exemplo, os drivers de miniporto podem comunicar os códigos de erro TS 24.008 de especificação 3GPP, como o código de erro 12 (área de localização não permitida), ao Serviço MB por meio do membro uNwError .

Os drivers de miniporto devem relatar o código de causa na instância mais antiga possível. Por exemplo, se o dispositivo MB encontrar um desses códigos ao tentar registrar o dispositivo com um provedor de rede, o driver de miniporte deverá reportá-lo nesse momento.

Os drivers de miniporte conectados a uma rede de vários modos devem indicar a alteração da classe celular por meio de uma notificação de NDIS_STATUS_WWAN_REGISTER_STATE .

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível em Windows 8 e versões posteriores do Windows.
Cabeçalho wwan.h (inclua Wwan.h)

Confira também

NDIS_WWAN_REGISTRATION_STATE

WWAN_REGISTER_MODE

WWAN_REGISTER_STATE