struttura WWAN_REGISTRATION_STATE (wwan.h)
La struttura WWAN_REGISTRATION_STATE rappresenta lo stato di registrazione del dispositivo MB.
Sintassi
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;
Members
uNwError
Errore specifico della rete, in caso di errore di registrazione. Per altre informazioni su questo membro, vedere la sezione "Osservazioni" seguente.
RegisterState
Stato di registrazione del dispositivo. Per un elenco di valori definiti, vedere WWAN_REGISTER_STATE.
Il valore WwanRegisterStatePartner indica che il dispositivo è in roaming in un provider di rete partner preferito, mentre il valore WwanRegisterStateRoaming indica che il dispositivo è solo roaming. Se la caratterizzazione del partner dello stato di roaming non è disponibile, il driver miniport deve segnalare WwanRegisterStateRoaming.
RegisterMode
Modalità di registrazione del dispositivo. Per un elenco di valori definiti, vedere WWAN_REGISTER_MODE.
ProviderId[WWAN_PROVIDERID_LEN]
Stringa numerica con terminazione NULL (0-9) che rappresenta l'identità del provider di rete.
Per le reti basate su GSM, questa stringa è una concatenazione di un codice paese mobile a tre cifre (MCC) e un codice di rete mobile (MNC) a due o tre cifre. I gestori basati su GSM possono avere più MNC e quindi più providerId .
Per le reti basate su CDMA, questa stringa è un SID (System ID) a cinque cifre. In genere, un vettore basato su CDMA ha più di un SID. In genere, un vettore ha un SID per ogni mercato, che in genere è diviso geograficamente all'interno di una nazione in base a normative, ad esempio aree statistiche metropolitane (MSA) nel Stati Uniti d'America. I driver miniport dei dispositivi basati su CDMA devono specificare WWAN_CDMA_DEFAULT_PROVIDER_ID se queste informazioni non sono disponibili.
Quando si elabora una richiesta di query e lo stato di registrazione è in modalità di registrazione automatica, questo membro contiene l'ID provider a cui il dispositivo è attualmente associato (se applicabile). Quando lo stato di registrazione è in modalità di registrazione manuale, questo membro contiene l'ID provider con cui il dispositivo viene richiesto di registrarsi (anche se il provider non è disponibile).
Quando si elabora una richiesta set e lo stato di registrazione è in modalità manuale, questo contiene l'ID del provider selezionato dal servizio MB per la registrazione del dispositivo. Quando lo stato di registrazione è in modalità di registrazione automatica, questo parametro viene ignorato.
I provider CDMA 1xRTT devono essere impostati su WWAN_CDMA_DEFAULT_PROVIDER_ID se l'ID del provider non è disponibile.
ProviderName[WWAN_PROVIDERNAME_LEN]
Stringa con terminazione NULL che rappresenta il nome del provider di rete. Questo membro è limitato al massimo ai caratteri WWAN_PROVIDERNAME_LEN.
Per le reti basate su GSM, se la presentazione preferita di Iniziali paese e Nome rete mobile (PPCI&N) è più lunga di venti caratteri, il driver miniport deve abbreviare il nome di rete.
Questo membro viene ignorato quando il servizio MB imposta l'elenco di provider preferito.
I driver Miniport devono specificare una stringa NULL per i dispositivi che non dispongono di queste informazioni.
RoamingText[WWAN_ROAMTEXT_LEN]
Stringa con terminazione NULL per informare l'utente che il dispositivo è in roaming. Questo membro è limitato al massimo WWAN_ROAMTEXT_LEN caratteri.
Questo testo deve fornire informazioni aggiuntive all'utente quando lo stato di registrazione è WwanRegisterStatePartner o WwanRegisterStateRoaming. Questo membro è facoltativo.
WwanRegFlags
Flag di registrazione.
Valore | Significato |
---|---|
WWAN_REG_FLAGS_NONE | Nessun flag di registrazione. |
WWAN_REG_FLAGS_NO_MANUAL_REG | Nessun collegamento manuale. |
WWAN_REG_FLAGS_PS_AUTO_ATTACH | Indica che il dispositivo MB gestisce il proprio contesto di pacchetto. Il servizio MB non invierà uno scollegamento di pacchetti al driver miniport, ma potrebbe inviare un collegamento di pacchetti. |
CurrentCellularClass
Classe cellulare corrente della rete registrata. Per le reti che supportano solo una singola classe cellulare, questo membro deve essere impostato su tale classe cellulare. Per le reti con supporto per più modalità, il driver miniport invia notifiche NDIS_STATUS_WWAN_REGISTER_STATE al servizio MB quando la rete cambia la classe cellulare.
PreferredDataClasses
Maschera di bit che rappresenta le tecnologie di accesso ai dati preferite per una connessione.
Commenti
Eseguire query e impostare richieste OID e eventi di stato non richiesti usano il membro uNwError . Se non è presente alcun errore specifico della rete o se non è noto alcun errore specifico della rete, i driver miniport devono impostare questo membro su zero. La sezione "Status Indication Structure" in MB Operational Semantics mostra i valori di errore del codice di causa della registrazione definiti nella specifica 3GPP TS 24.008.
I punti seguenti forniscono linee guida sulla restituzione di errori specifici di rete in scenari diversi:
- Se la registrazione di rete non riesce a causa di un errore specifico della rete, i driver miniport devono restituire l'errore specifico della rete in risposta alle richieste di query . In questo caso, i driver miniport devono impostare il membro uStatus della struttura NDIS_WWAN_REGISTRATION_STATE su WWAN_STATUS_SUCCESS e impostare il membro uNwError sul codice di errore specifico della rete.
- Se una richiesta set non riesce, i driver miniport devono restituire il codice di errore specifico della rete. In questo caso, i driver miniport devono impostare il membro uStatus della struttura NDIS_WWAN_REGISTRATION_STATE su WWAN_STATUS_FAILURE e impostare il membro uNwError sul codice di errore specifico della rete.
- Ogni volta che lo stato di registrazione del dispositivo cambia perché la rete annulla la registrazione del dispositivo (ad esempio, la rete annulla la registrazione del dispositivo perché la sottoscrizione del dispositivo è scaduta), gli eventi di stato non richiesti devono includere l'errore specifico della rete. In questo caso, il driver miniport deve impostare il membro uStatus della struttura NDIS_WWAN_REGISTRATION_STATE su WWAN_STATUS_SUCCESS e impostare il membro uNwError sul codice di errore specifico della rete.
I driver Miniport possono fornire codici di errore aggiuntivi, come definito dalla specifica standard GSM dei codici di errore di collegamento di pacchetto restituiti dalla rete. Ad esempio, i driver miniport possono comunicare i codici di errore TS 24.008 della specifica 3GPP, ad esempio il codice di errore 12 (area posizione non consentita), al servizio MB tramite il membro uNwError .
I driver Miniport devono segnalare il codice di causa nella prima istanza possibile. Ad esempio, se il dispositivo MB rileva uno di questi codici quando si tenta di registrare il dispositivo con un provider di rete, il driver miniport deve segnalarlo in quel momento.
I driver miniport connessi a una rete in modalità multipla devono indicare la modifica della classe cellulare tramite una notifica di NDIS_STATUS_WWAN_REGISTER_STATE .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows 8 e versioni successive di Windows. |
Intestazione | wwan.h (include Wwan.h) |