WWAN_REGISTRATION_STATE-Struktur (wwan.h)
Die WWAN_REGISTRATION_STATE-Struktur stellt den Registrierungsstatus des MB-Geräts dar.
Syntax
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;
Member
uNwError
Ein netzwerkspezifischer Fehler im Falle eines Registrierungsfehlers. Weitere Informationen zu diesem Member finden Sie im folgenden Abschnitt "Hinweise".
RegisterState
Der Registrierungsstatus des Geräts. Eine Liste der definierten Werte finden Sie unter WWAN_REGISTER_STATE.
Der Wert WwanRegisterStatePartner gibt an, dass das Gerät bei einem bevorzugten Partnernetzwerkanbieter roamingt, während der WwanRegisterStateRoaming-Wert angibt, dass das Gerät nur roamingt. Wenn die Partnercharakterisierung des Roamingzustands nicht verfügbar ist, sollte der Miniporttreiber WwanRegisterStateRoaming melden.
RegisterMode
Der Registrierungsmodus des Geräts. Eine Liste der definierten Werte finden Sie unter WWAN_REGISTER_MODE.
ProviderId[WWAN_PROVIDERID_LEN]
Eine NULL-beendete numerische Zeichenfolge (0-9), die die Netzwerkanbieteridentität darstellt.
Bei GSM-basierten Netzwerken ist diese Zeichenfolge eine Verkettung aus einem dreistelligen Mobilen Ländercode (Mobile Country Code, MCC) und einem zwei- oder dreistelligen Mobilfunknetzcode (MNC). GSM-basierte Netzbetreiber können über mehr als einen MNC und somit über mehr als eine ProviderId verfügen .
Bei CDMA-basierten Netzwerken ist diese Zeichenfolge eine fünfstellige System-ID (SID). Im Allgemeinen verfügt ein CDMA-basierter Netzbetreiber über mehr als eine SID. In der Regel verfügt ein Netzbetreiber über eine SID für jeden Markt, die in der Regel geografisch innerhalb einer Nation durch Vorschriften aufgeteilt wird, z. B. Metropolitan Statistical Areas (MSA) im USA von Amerika. Miniporttreiber von CDMA-basierten Geräten müssen WWAN_CDMA_DEFAULT_PROVIDER_ID angeben, wenn diese Informationen nicht verfügbar sind.
Wenn eine Abfrageanforderung verarbeitet wird und sich der Registrierungsstatus im automatischen Registrierungsmodus befindet, enthält dieses Mitglied die Anbieter-ID, der das Gerät derzeit zugeordnet ist (falls zutreffend). Wenn sich der Registrierungsstatus im manuellen Registrierungsmodus befindet, enthält dieses Mitglied die Anbieter-ID, bei der das Gerät zur Registrierung aufgefordert wird (auch wenn der Anbieter nicht verfügbar ist).
Wenn eine festgelegte Anforderung verarbeitet wird und sich der Registrierungsstatus im manuellen Modus befindet, enthält dieser die vom MB-Dienst ausgewählte Anbieter-ID für das Gerät, bei dem registriert werden soll. Wenn sich der Registrierungsstatus im automatischen Registrierungsmodus befindet, wird dieser Parameter ignoriert.
CDMA 1xRTT-Anbieter müssen auf WWAN_CDMA_DEFAULT_PROVIDER_ID festgelegt werden, wenn die Anbieter-ID nicht verfügbar ist.
ProviderName[WWAN_PROVIDERNAME_LEN]
Eine NULL-beendete Zeichenfolge, die den Namen des Netzwerkanbieters darstellt. Dieser Member ist höchstens auf WWAN_PROVIDERNAME_LEN Zeichen beschränkt.
Wenn bei GSM-basierten Netzwerken die bevorzugte Präsentation der Länderinitialen und der Name des Mobilfunknetzes (PPCI&N) länger als zwanzig Zeichen sind, sollte der Miniporttreiber den Netzwerknamen kürzen.
Dieser Member wird ignoriert, wenn der MB-Dienst die Liste der bevorzugten Anbieter festlegt.
Miniport-Treiber sollten eine NULL-Zeichenfolge für Geräte angeben, die nicht über diese Informationen verfügen.
RoamingText[WWAN_ROAMTEXT_LEN]
Eine MIT NULL beendete Zeichenfolge, um den Benutzer darüber zu informieren, dass das Gerät roamingt. Dieser Member ist auf höchstens WWAN_ROAMTEXT_LEN Zeichen beschränkt.
Dieser Text sollte dem Benutzer zusätzliche Informationen bereitstellen, wenn der Registrierungsstatus entweder WwanRegisterStatePartner oder WwanRegisterStateRoaming lautet. Dieses Member ist optional.
WwanRegFlags
Registrierungsflags.
Wert | Bedeutung |
---|---|
WWAN_REG_FLAGS_NONE | Keine Registrierungsflags. |
WWAN_REG_FLAGS_NO_MANUAL_REG | Kein manuelles Anfügen. |
WWAN_REG_FLAGS_PS_AUTO_ATTACH | Gibt an, dass das MB-Gerät seinen eigenen Paketkontext verwaltet. Der MB-Dienst sendet keine Pakettrennung an den Miniporttreiber, sondern kann eine Paketanfügung senden. |
CurrentCellularClass
Die aktuelle Mobilfunkklasse des registrierten Netzwerks. Für Netzwerke, die nur eine einzelne Mobilfunkklasse unterstützen, sollte dieser Member auf diese Mobilfunkklasse festgelegt werden. Bei Multimodus-fähigen Netzwerken sendet der Miniporttreiber NDIS_STATUS_WWAN_REGISTER_STATE Benachrichtigungen an den MB-Dienst, wenn das Netzwerk seine Mobilfunkklasse ändert.
PreferredDataClasses
Eine Bitmaske, die die Datenzugriffstechnologien darstellt, die für eine Verbindung bevorzugt werden.
Hinweise
Abfragen und Festlegen von OID-Anforderungen sowie nicht angeforderten status Ereignissen verwenden den uNwError-Member. Wenn kein netzwerkspezifischer Fehler vorliegt oder der netzwerkspezifische Fehler nicht bekannt ist, sollten Miniporttreiber diesen Member auf 0 (null) festlegen. Der Abschnitt "Statusanzeigestruktur" in MB Operational Semantics zeigt die Werte für die Registrierung verursachten Codefehler, die in der 3GPP TS 24.008-Spezifikation definiert sind.
Die folgenden Punkte enthalten Richtlinien für die Rückgabe von netzwerkspezifischen Fehlern in verschiedenen Szenarien:
- Wenn die Netzwerkregistrierung aufgrund eines netzwerkspezifischen Fehlers fehlschlägt, sollten Miniporttreiber den netzwerkspezifischen Fehler als Reaktion auf Abfrageanforderungen zurückgeben. In diesem Fall sollten Miniporttreiber den uStatus-Member der NDIS_WWAN_REGISTRATION_STATE-Struktur auf WWAN_STATUS_SUCCESS und das uNwError-Element auf den netzwerkspezifischen Fehlercode festlegen.
- Wenn bei einer set-Anforderung ein Fehler auftritt, sollten Miniporttreiber den netzwerkspezifischen Fehlercode zurückgeben. In diesem Fall sollten Miniporttreiber den uStatus-Member der NDIS_WWAN_REGISTRATION_STATE-Struktur auf WWAN_STATUS_FAILURE und den uNwError-Member auf den netzwerkspezifischen Fehlercode festlegen.
- Wenn sich der Geräteregistrierungsstatus ändert, weil das Netzwerk die Registrierung des Geräts aufgehoben (z. B. das Netzwerk hat die Registrierung des Geräts aufgehoben, weil das Abonnement des Geräts abgelaufen ist), sollten nicht angeforderte status Ereignisse den netzwerkspezifischen Fehler enthalten. In diesem Fall sollte der Miniporttreiber den uStatus-Member der NDIS_WWAN_REGISTRATION_STATE-Struktur auf WWAN_STATUS_SUCCESS und den uNwError-Member auf den netzwerkspezifischen Fehlercode festlegen.
Miniport-Treiber können zusätzliche Fehlercodes bereitstellen, die in der GSM-Standardspezifikation der vom Netzwerk zurückgegebenen Paketanfügungsfehlercodes definiert sind. Miniporttreiber können beispielsweise die Fehlercodes der 3GPP-Spezifikation TS 24.008 für Paketanfügungen, z. B. Fehlercode 12 (Standortbereich nicht zulässig), über das uNwError-Element an den MB-Dienst kommunizieren.
Miniporttreiber müssen den Ursachencode so früh wie möglich instance melden. Wenn das MB-Gerät beispielsweise bei dem Versuch, das Gerät bei einem Netzwerkanbieter zu registrieren, auf einen dieser Codes stößt, sollte der Miniporttreiber dies zu diesem Zeitpunkt melden.
Miniporttreiber, die mit einem Multimodusnetzwerk verbunden sind, sollten die Änderung der Mobilfunkklasse über eine NDIS_STATUS_WWAN_REGISTER_STATE-Benachrichtigung angeben.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows 8 und höheren Versionen von Windows. |
Kopfzeile | wwan.h (include Wwan.h) |