structure WWAN_REGISTRATION_STATE (wwan.h)
La structure WWAN_REGISTRATION_STATE représente l’état d’inscription de l’appareil Mo.
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;
uNwError
Erreur spécifique au réseau, en cas d’échec d’inscription. Pour plus d’informations sur ce membre, consultez la section « Remarques » suivante.
RegisterState
État d’inscription de l’appareil. Pour obtenir la liste des valeurs définies, consultez WWAN_REGISTER_STATE.
La valeur WwanRegisterStatePartner indique que l’appareil est itinérant sur un fournisseur de réseau partenaire préféré, tandis que WwanRegisterStateRoaming valeur indique que l’appareil est juste itinérant. Si la caractérisation partenaire de l’état d’itinérance n’est pas disponible, le pilote miniport doit signaler WwanRegisterStateRoaming.
RegisterMode
Mode d’inscription de l’appareil. Pour obtenir la liste des valeurs définies, consultez WWAN_REGISTER_MODE.
ProviderId[WWAN_PROVIDERID_LEN]
Chaîne numérique terminée par NULL (0-9) qui représente l’identité du fournisseur de réseau.
Pour les réseaux GSM, cette chaîne est une concaténation d’un code mcc (Mobile Country Code) à trois chiffres et d’un code MNC (Mobile Network Code) à deux ou trois chiffres. Les opérateurs basés sur GSM peuvent avoir plusieurs MNC, et donc plusieurs ProviderId .
Pour les réseaux CDMA, cette chaîne est un ID système à cinq chiffres (SID). En règle générale, un transporteur basé sur CDMA a plusieurs SID. En règle générale, un transporteur a un SID pour chaque marché, qui est généralement divisé géographiquement au sein d’une nation par réglementation, comme les zones statistiques métropolitaines (MSA) aux États-Unis d’Amérique. Les pilotes miniports des appareils CDMA doivent spécifier WWAN_CDMA_DEFAULT_PROVIDER_ID si ces informations ne sont pas disponibles.
Lors du traitement d’une requête demande et que l’état d’inscription est en mode d’inscription automatique, ce membre contient l’ID de fournisseur auquel l’appareil est actuellement associé (le cas échéant). Lorsque l’état d’inscription est en mode d’inscription manuel, ce membre contient l’ID de fournisseur que l’appareil est invité à s’inscrire (même si le fournisseur n’est pas disponible).
Lors du traitement d’un définir demande et que l’état d’inscription est en mode manuel, il contient l’ID de fournisseur sélectionné par le service Mo pour que l’appareil s’inscrive. Lorsque l’état d’inscription est en mode d’inscription automatique, ce paramètre est ignoré.
Les fournisseurs CDMA 1xRTT doivent être définis sur WWAN_CDMA_DEFAULT_PROVIDER_ID si l’ID du fournisseur n’est pas disponible.
ProviderName[WWAN_PROVIDERNAME_LEN]
Chaîne terminée par NULL qui représente le nom du fournisseur de réseau. Ce membre est limité à, au plus, WWAN_PROVIDERNAME_LEN caractères.
Pour les réseaux GSM, si la présentation préférée des initiales du pays et du nom de réseau mobile (PPCI&N) est supérieure à vingt caractères, le pilote miniport doit raccourcir le nom du réseau.
Ce membre est ignoré lorsque le service Mo définit la liste de fournisseurs par défaut.
Les pilotes miniport doivent spécifier une chaîne de NULL pour les appareils qui n’ont pas ces informations.
RoamingText[WWAN_ROAMTEXT_LEN]
Chaîne terminée par NULL pour informer l’utilisateur que l’appareil est itinérant. Ce membre est limité au plus WWAN_ROAMTEXT_LEN caractères.
Ce texte doit fournir des informations supplémentaires à l’utilisateur lorsque l’état d’inscription est WwanRegisterStatePartner ou WwanRegisterStateRoaming. Ce membre est facultatif.
WwanRegFlags
Indicateurs d’inscription.
Valeur | Signification |
---|---|
WWAN_REG_FLAGS_NONE | Aucun indicateur d’inscription. |
WWAN_REG_FLAGS_NO_MANUAL_REG | Aucune attachement manuel. |
WWAN_REG_FLAGS_PS_AUTO_ATTACH | Indique que l’appareil Mo gère son propre contexte de paquet. Le service Mo n’envoie pas de paquets détacher le pilote miniport, mais peut envoyer une attachement de paquets. |
CurrentCellularClass
Classe cellulaire actuelle du réseau inscrit. Pour les réseaux qui prennent uniquement en charge une seule classe cellulaire, ce membre doit être défini sur cette classe cellulaire. Pour les réseaux compatibles multimodes, le pilote miniport envoie NDIS_STATUS_WWAN_REGISTER_STATE notifications au service Mo lorsque le réseau change sa classe cellulaire.
PreferredDataClasses
Masque de bits qui représente les technologies d’accès aux données qui sont préférées pour une connexion.
requête et définir demandes OID ainsi que les événements d’état non sollicités utilisent le membre uNwError. S’il n’existe aucune erreur spécifique au réseau ou si l’erreur spécifique au réseau n’est pas connue, les pilotes miniport doivent définir ce membre sur zéro. La section « Structure de l’indication d’état » dans sémantique opérationnelle mo indique la cause d’inscription des valeurs d’échec de code définies dans la spécification 3GPP TS 24.008.
Les points suivants fournissent des instructions sur le renvoi d’une erreur spécifique au réseau dans différents scénarios :
- Si l’inscription réseau échoue en raison d’une erreur spécifique au réseau, les pilotes miniport doivent renvoyer l’erreur spécifique au réseau en réponse à requête demandes. Dans ce cas, les pilotes miniport doivent définir le membre uStatus de la structure NDIS_WWAN_REGISTRATION_STATE sur WWAN_STATUS_SUCCESS et définir le membre uNwError membre du code d’erreur spécifique au réseau.
- Si un défini demande échoue, les pilotes miniport doivent retourner le code d’erreur spécifique au réseau. Dans ce cas, les pilotes miniport doivent définir le membre uStatus de la structure NDIS_WWAN_REGISTRATION_STATE sur WWAN_STATUS_FAILURE et définir le membre uNwError sur le code d’erreur spécifique au réseau.
- Chaque fois que l’état d’inscription de l’appareil change parce que le réseau désinscrit l’appareil (par exemple, le réseau a désintéregistré l’appareil parce que l’abonnement de l’appareil a expiré), les événements d’état non sollicités doivent inclure l’erreur spécifique au réseau. Dans ce cas, le pilote miniport doit définir le membre uStatus de la structure NDIS_WWAN_REGISTRATION_STATE sur WWAN_STATUS_SUCCESS et définir le membre uNwError sur le code d’erreur spécifique au réseau.
Les pilotes miniport peuvent fournir des codes d’erreur supplémentaires tels que définis par la spécification des normes GSM des codes d’erreur d’attachement de paquets retournés par le réseau. Par exemple, les pilotes miniport peuvent communiquer les codes d’erreur d’attachement de paquet TS 24.008 de spécification 3GPP, tels que le code d’erreur 12 (zone d’emplacement non autorisée), au service Mb via le membre uNwError.
Les pilotes miniport doivent signaler le code de cause au plus tôt possible. Par exemple, si l’appareil Mo rencontre l’un de ces codes lors de la tentative d’inscription de l’appareil auprès d’un fournisseur de réseau, le pilote miniport doit le signaler à ce moment-là.
Les pilotes miniport connectés à un réseau multimode doivent indiquer la modification de la classe cellulaire par le biais d’une notification de NDIS_STATUS_WWAN_REGISTER_STATE.
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows 8 et versions ultérieures de Windows. |
d’en-tête | wwan.h (include Wwan.h) |