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 en itinérance sur un fournisseur réseau partenaire préféré, tandis que la valeur WwanRegisterStateRoaming indique que l’appareil est simplement en itinérance. 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 réseau.
Pour les réseaux gsm, cette chaîne est une concaténation d’un code de pays mobile (MCC) à trois chiffres et d’un code de réseau mobile (MNC) à deux ou trois chiffres. Les opérateurs basés sur GSM peuvent avoir plusieurs MNC, et donc plusieurs ProviderId .
Pour les réseaux basés sur CDMA, cette chaîne est un ID système (SID) à cinq chiffres. 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’un pays par des réglementations, telles que les zones statistiques métropolitaines (MSA) dans le États-Unis d’Amérique. Les pilotes miniport 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 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 manuelle, ce membre contient l’ID de fournisseur avec lequel l’appareil est invité à s’inscrire (même si le fournisseur n’est pas disponible).
Lorsque vous traitez une demande de jeu et que l’état d’inscription est en mode manuel, cela contient l’ID de fournisseur sélectionné par le service Mo avec lequel l’appareil doit s’inscrire. 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 de 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é à WWAN_PROVIDERNAME_LEN caractères au maximum.
Pour les réseaux gsm, si la présentation préférée des initiales de pays et du nom de réseau mobile (PPCI&N) est supérieure à vingt caractères, le pilote miniport doit abréger le nom du réseau.
Ce membre est ignoré lorsque le service Mo définit la liste des fournisseurs préférés.
Les pilotes miniport doivent spécifier une chaîne NULL pour les appareils qui ne disposent pas de 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 manuelle. |
WWAN_REG_FLAGS_PS_AUTO_ATTACH | Indique que l’appareil Mo gère son propre contexte de paquets. Le service MB n’envoie pas de détachement de paquet au pilote miniport, mais peut envoyer une attachement de paquet. |
CurrentCellularClass
Classe cellulaire actuelle du réseau inscrit. Pour les réseaux qui ne prennent en charge qu’une seule classe cellulaire, ce membre doit être défini sur cette classe cellulaire. Pour les réseaux multimodes compatibles, 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.
Interroger et définir des requêtes OID ainsi que des événements status non sollicités utilisent le membre uNwError. S’il n’y a pas d’erreur propre 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 d’indication d’état » dans La sémantique opérationnelle mo montre les valeurs d’échec de code qui sont 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 propre au réseau, les pilotes miniport doivent retourner l’erreur spécifique au réseau en réponse aux demandes de requête . 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 sur le code d’erreur propre au réseau.
- Si une demande de jeu échoue, les pilotes miniport doivent retourner le code d’erreur propre 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 propre au réseau.
- Chaque fois que l’état d’inscription de l’appareil change parce que le réseau annule l’inscription de l’appareil (par exemple, le réseau a désinscrit l’appareil en raison de l’expiration de l’abonnement de l’appareil), les événements status non sollicités doivent inclure l’erreur propre 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 propre 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 paquets TS 24.008 de spécification 3GPP, tels que le code d’erreur 12 (zone d’emplacement non autorisée), au service MB par le biais du membre uNwError .
Les pilotes miniport doivent signaler le code de cause le plus tôt possible instance. 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 le changement de classe cellulaire via une notification NDIS_STATUS_WWAN_REGISTER_STATE .
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows 8 et versions ultérieures de Windows. |
En-tête | wwan.h (inclure Wwan.h) |