Bereitgestellte Kontextvorgänge von MB

Die Bereitstellung ist für mobilfunkverbindebare Geräte von entscheidender Bedeutung, da jeder Mobilfunkanbieter unterschiedliche APN-Konfigurationen für sein Netzwerk hat. APN-Konfigurationen können in der Regel in zwei Kategorien unterteilt werden:

  1. APN-Konfigurationen, die dem Betriebssystem bekannt sind, da über dem Betriebssystem Anwendungen oder Clients vorhanden sind, die diese Verbindungen erfordern.
  2. APN-Konfigurationen, die dem Betriebssystem nicht bekannt gemacht werden, weil sie intern vom Modem für Verbindungen genutzt werden, die nicht vom Betriebssystem und seinen Clients genutzt werden.

Im Idealfall sollte das Modem nur die APN-Konfigurationen speichern, die das Betriebssystem nicht kennen muss. IHV- und OEM-Partner haben jedoch traditionell die Internet- und Einkaufs-APNs, Konfigurationen, die dem Betriebssystem bekannt sind, im Modem bereitgestellt. Vor der Version von Windows 10, Version 1703, liest Windows nur die Konfigurationen des Internets und kaufen APN-Konfigurationen aus dem Modem, um Internetverbindungen herzustellen. Ab Windows 10, Version 1703, kann es zusätzliche Fälle geben, in denen die APN-Konfiguration des Modems von Windows verwaltet werden muss, insbesondere, wenn Clients im Betriebssystem vorhanden sind, z. B. Benutzereinstellungen oder OMA-DM, die die Mobilfunkkonfiguration ändern möchten. Dies wiederum könnte sich auch auf die APN-Konfiguration des Modems auswirken. Es kann z. B. einen IMS-Stapel im Modem geben, der den IMS-APN für SMS über IMS verwendet. In der Regel werden diese Verbindungen nicht für das Betriebssystem verfügbar gemacht, aber in bestimmten Szenarien muss die IMS-APN-Konfiguration möglicherweise geändert werden. Diese Änderung kann über das Betriebssystem erfolgen. Um dies zu unterstützen, kann das Betriebssystem ab Windows 10, Version 1703, verschiedene ARTEN von APNs in das Modem konfigurieren.

Die MBIM 1.0 und Microsoft NDIS des USB-Forums verfügen jeweils über eine vorhandene CID bzw. ein OID, damit das Betriebssystem die APN-Konfigurationen im Modem festlegen und abfragen kann. Für MBIM 1.0 wird dies durch MBIM_CID_PROVISIONED_CONTEXT ausgeführt, während für NDIS dies über OID_WWAN_PROVISIONED_CONTEXTS erfolgt. Die vorhandene CID und OID wurden jedoch nicht mit klaren Anleitungen dazu entwickelt, wie sich das Modem in verschiedenen Situationen wie einem Stromzyklus oder SIM-Swap verhält. Geräte, die das Konfigurieren und Aktualisieren von in Modem bereitgestellten Kontexten unterstützen möchten, müssen die neuere Version der CID und OID in Windows 10, Version 1703, implementieren. Um die Abwärtskompatibilität sicherzustellen, müssen sie für IHVs/OEMs, die neue Hardware in 1703 älteren Betriebssystemversionen unterstützen möchten, weiterhin die vorhandenen MBIM_CID_PROVISIONED_CONTEXT und OID_WWAN_PROVISIONED_CONTEXTS unterstützen. Ab Windows 10, Version 1703, verwendet das Betriebssystem nur die neuere Version des Befehls, um die APN-Kontextkonfiguration im Modem abzufragen und festzulegen, wenn das Gerät die neue Version der CID und OID unterstützt.

MB-Schnittstellenupdate für bereitgestellte Kontextvorgänge

Während MBIM über einen Befehl zum Abrufen und Ersetzen von Kontexten verfügt, die im Modem gespeichert sind, verfügt es nicht über ein Feld zum "Deaktivieren" oder "Aktivieren" eines Profils. Daher muss die vorhandene MBIM_CID_PROVISIONED_CONTEXT für Windows 10, Version 1703, aktualisiert werden, damit diese Funktion enthalten ist. Da MBIM keinen Versionsverwaltungsmechanismus aufweist, wird eine neue proprietäre MSFT-CID als MBIM_CID_MS_PROVISIONED_CONTEXT_V2 definiert.

Dienstname = Grundlegende Verbindungserweiterungen

UUID = UUID_BASIC_CONNECT_EXTENSIONS

UUID-Wert = 3d01dcc5-fef5-4d05-0d3abef7058e9aaf

CID Befehlscode Minimum OS Version
MBIM_CID_MS_PROVISIONED_CONTEXT_V2 1 Windows 10, Version 1703

MBIM_CID_MS_PROVISIONED_CONTEXT_V2

Beschreibung

Obwohl MBIM 1.0 MBIM_CID_PROVISIONED_CONTEXT für das Betriebssystem und seine oberen Clients definiert hat, um bereitgestellte Kontexte im Modem zu verwalten, hat Windows traditionell nur den Kontext im Modem abgefragt, aber nicht vom Betriebssystem festgelegt. Ab Windows 10, Version 1703, ist es zunehmend erforderlich, dass das Betriebssystem die Kontexte im Modem konfigurieren kann. Wenn beispielsweise im Modem ein IMS-Stapel vorhanden ist, der für das Betriebssystem nicht transparent ist, sollte das Betriebssystem die IMS-APN angeben können, die das Modem verwenden soll. Da jedes Modem IHV eine eigene proprietäre Möglichkeit zum Speichern von Kontexten im Modem haben kann, ist es unmöglich, dass das Betriebssystem Profile auf der ContextId-Ebene verwaltet, wie MBIM_CID_PROVISIONED_CONTEXT vorschlagen könnten. Aus Sicht des Betriebssystems ist es vielmehr wichtiger, den kontextabhängigen Kontext für jeden Kontexttyp vorzuschreiben. Wird an das IMS-Beispiel zurückgegeben, unabhängig davon, wie viele vorhandene bereitgestellte Kontexte sich im Modem befinden, sollte nur versucht werden, wenn das Betriebssystem einen Kontext festlegt, der MBIM_CONTEXT_TYPE = IMS hat, dann sollte nur der vom Modem initiierte IMS-Datenverkehr versucht werden.

MBIM 1.0 gibt an, dass MBIM_CID_PROVISIONED_CONTEXT nur Abfragekontexte aufrufen können, die mit der Anbieter-ID (MCC/MNC-Paar) des eingefügten SIM-Karte übereinstimmen. Für Set-Anforderungen kann MBIM_CID_PROVISIONED_CONTEXT die Anbieter-ID des Kontexts angeben, der gespeichert werden soll. MBIM_CID_MS_PROVISIONED_CONTEXT_V2 gibt ein ähnliches, aber anderes Verhalten als MBIM 1.0 an. Für jede Abfrage erwartet das Betriebssystem weiterhin, dass das Modem nur Kontexte zurückgibt, die der Anbieter-ID der eingefügten SIM-Karte entsprechen. Bei „Set“ ermöglicht der Befehl dem Betriebssystem nicht mehr, Kontexte festzulegen, die nicht mit der aktuellen Provider-ID auf der SIM-Karte übereinstimmen. Es wird erwartet, dass die Set-Anforderung einen Kontext für die aktuelle Anbieter-ID der präsentierten SIM-Karte erstellt. Beispielsweise wechselt der Benutzer von SIM 1 auf SIM 2 und dann zurück zu SIM 1. Es wird erwartet, dass das Modem während des ersten SIM-Swaps alle Kontexte auflösen sollte, bevor der Kontext für SIM 2 geladen wird. Wenn der Benutzer wieder auf SIM 1 wechselt, sollte die Standardkonfiguration von SIM 1 wiederhergestellt werden. Es wird nicht erwartet, dass das Modem die Laufzeitkonfiguration über SIM-Swaps hinweg speichert.

Das folgende Diagramm zeigt einen Beispielfluss für den Wechsel von einer SIM-Karte zu einer anderen, dann zurück zur ersten.

Beispiel für die Sim-Swap-Bereitstellung des Modemkontexts.

OEMs und IHVs, die das Modem vorkonfiguriert haben, sollten die ursprüngliche Werkskonfiguration beibehalten, falls das Betriebssystem oder der Benutzer die Kontexteinstellungen im Modem auf die ursprünglichen Einstellungen wiederherstellen möchte. Nur die ursprünglichen Werkskontexte für die aktuell eingefügte SIM-Anbieter-ID sollten wiederhergestellt werden. Die vorkonfigurierten Kontexte der ursprünglichen Werkseinstellung sollten niemals von der Betriebssystemkonfiguration überschrieben werden. Das folgende Diagramm ist ein Beispielfluss, wenn ein Benutzer die Werkseinstellungen wiederherstellen möchte:

Beispiel für die Bereitstellung eines Modemkontexts zum Zurücksetzen auf Werkseinstellungen.

Es ist zu erwarten, dass Abfrage- oder Set-Anfragen des Modems fehlschlagen, wenn die SIM-Karte fehlt oder gesperrt ist oder auf die Provider-ID nicht zugegriffen werden kann. Das Modem sollte nur einen Kontext pro CONTEXT_TYPE pro Anbieter-ID haben. Wenn der IHV oder OEM entscheidet, Modemkontexte im Modem vorzukonfigurieren, ist es wichtig, sicherzustellen, dass die Kontexte für jeden Anbieter ordnungsgemäß konfiguriert sind, für den er dies tut. Wenn die eingefügte SIM-Karte keine vorkonfigurierten IHV-Kontexte aufweist, sollte das Modem ohne die Betriebssystemkonfiguration keinen Kontext haben. IHVs und OEMs müssen sicherstellen, dass MBIM_MS_CONTEXT_SOURCE = MbimMsContextSourceModemProvisioned, sodass das Betriebssystem den Kontext des Modems für die Verbindung verwendet, sofern vorhanden, und es nicht aus der APN-Datenbank von Windows überschreiben.

Wie das Modem den Kontext verarbeitet und durch die vorhandenen MBIM_CID_PROVISIONED_CONTEXT wiedergibt, liegt bei jedem IHV und liegt außerhalb dieser Dokumentation.

Der neue MBIM_CID_MS_PROVISONED_CONTEXT_V2-Befehl ist fast identisch mit dem vorhandenen MBIM_CID_PROVISIONED_CONTEXT-Befehl von MBIM 1.0, aber mit mehreren Ergänzungen. Das erste bietet dem Betriebssystem die Möglichkeit, den Kontext zu aktivieren oder zu deaktivieren, der einem Kontexttyp im Modem zugeordnet ist. Wenn der Kontext im Modem deaktiviert ist, wird erwartet, dass das Modem nicht den gespeicherten Kontext für eine Verbindung mit dem Netzwerk verwendet, auch wenn diese nicht dem Betriebssystem bekannt gemacht wurden. Wenn das Betriebssystem eine Verbindung anfordert, die einem deaktivierten Kontext im Modem entspricht, sollte das Modem die Anforderung sofort ohne Signalisierung an das Netzwerk fehlschlagen. Der Abgleichprozess sollte mit allen Feldern in der MBIM_MS_CONTEXT_V2-Struktur übereinstimmen.

Die MBIM_CONTEXT_IP_TYPE Struktur von MBIM 1.0 wird nur für MBIM_CID_CONNECT verwendet. In MBIM_CID_MS_PROVISIONED_CONTEXT_V2 hat Microsoft den IP-Typ als einen der Parameter für jeden Kontext hinzugefügt. Das Modem sollte MBIMContextIPTypeDefault melden, wenn es nicht für den angegebenen Kontext konfiguriert ist.

In Windows 10, Version 1703, mit neuer Hardware, die MBIM_CID_MS_PROVISIONED_CONTEXT_V2 unterstützt, wird die ältere MBIM_CID_PROVISIONED_CONTEXT nicht von Komponenten von Erstanbietern verwendet. Wenn es andere ältere Client-/Betriebssystemkomponenten gibt, die MBIM_CID_PROVISIONED_CONTEXT senden, wird erwartet, dass das Modem Ergebnisse wie in Versionen von Windows vor Windows 10, Version 1703, zurückgibt.

Abfrage

MBIM_MS_PROVISIONED_CONTEXTS_INFO werden sowohl von "Abfrage" als auch von "Festlegen vollständiger Nachrichten" im Informationspuffer zurückgegeben.

Bei Abfrage ist der Informationspuffer null.

Set

Für Set enthält der Informationspuffer eine MBIM_MS_SET_PROVISIONED_CONTEXT_V2 Struktur. Da jede Modem-IHV über proprietäre Methoden zur Verwaltung der Kontextspeicherung verfügen kann, gibt das Betriebssystem beim Set-Vorgang das ContextId-Feld nicht mehr an und erwartet, dass das Modem die Kontexte dem entsprechenden Steckplatz zuordnet. Wenn das Betriebssystem Kontexte festlegt, erwartet es, dass es für alle Verbindungen verwendet wird, die dem MBIM_CONTEXT_TYPE des angegebenen Kontexts entsprechen. Wenn die MBIM_CONTEXT_TYPE vom Modem nicht erkannt wird, sollte sie sie trotzdem speichern, auch wenn sie möglicherweise nicht mit dem Modem verbunden ist.

Unerwünschtes Ereignis

Der Event Informatiospuffer enthält eine MBIM_MS_PROVISIONED_CONTEXTS_INFO_V2 Struktur. In einigen Fällen wird die Liste der bereitgestellten Kontexte vom Netzwerk entweder Over-The-Air (OTA) oder per Short Message Service (SMS) aktualisiert, der nicht über den Befehl MBIM_CID_MS_PROVISIONED_CONTEXT_V2 des Betriebssystems läuft. Die Funktion muss die Liste der bereitgestellten Kontexte und Tag-MBIM_MS_CONTEXT_SOURCE = MbimMsContextSourceOperatorProvisioned aktualisieren. Danach müssen Funktionen den Host über Updates benachrichtigen, die dieses Ereignis mit der aktualisierten Liste verwenden.

Parameter

Vorgang Set Abfrage Benachrichtigung
Get-Help MBIM_SET_MS_PROVISIONED_CONTEXT_V2 Nicht zutreffend Nicht zutreffend
Antwort MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 MBIM_MS_PROVISIONED_CONTEXT_INFO_V2

Datenstrukturen

Abfrage

Der Informatiospuffer muss NULL sein, und "InformationBufferLength" muss null sein.

Set

Die folgende MBIM_SET_MS_PROVISIONED_CONTEXT_V2 Datenstruktur wird im Informatiopuffer verwendet.

Abweichung Size Feld Typ Beschreibung
0 4 Vorgang MBIM_MS_CONTEXT_OPERATIONS Gibt den Operationstyp an, für den der SET-Befehl verwendet wird. Wenn diese Eigenschaft auf "MbimMsContextOperationDelete" festgelegt ist, sollte der Kontext für die angegebene MBIM_CONTEXT_TYPES gelöscht werden, und alle anderen Felder in MBIM_SET_MS_PROVISIONED_CONTEXT_V2 sollten ignoriert werden. Wenn diese Einstellung auf "MbimMsContextOperationRestoreFactory" festgelegt ist, sollten alle vom Betriebssystem erstellten oder geänderten Kontexte entfernt werden, die vorkonfigurierten Standardkontexte der Factory geladen werden, und alle anderen Felder in MBIM_SET_MS_PROVISIONED_CONTEXT_V2 sollten ignoriert werden.
4 16 ContextType MBIM_CONTEXT_TYPES Gibt den Typ des dargestellten Kontexts an; Zum Beispiel Internetkonnektivität, VPN (eine Verbindung mit einem Unternehmensnetzwerk) oder Voice-over-IP (VOIP). Weitere Informationen finden Sie in der MBIM_CONTEXT_TYPES Tabelle.
20 4 IPType MBIM_CONTEXT_IP_TYPES Gibt den Typ des dargestellten Kontexts an; Zum Beispiel Internetkonnektivität, VPN (eine Verbindung mit einem Unternehmensnetzwerk) oder Voice-over-IP (VOIP). Weitere Informationen finden Sie in der MBIM_CONTEXT_IP_TYPES Tabelle.
24 4 Aktivieren MBIM_MS_CONTEXT_ENABLE Gibt an, ob der Kontext vom Modem verwendet werden kann. Wenn sie auf "MbimMsContextDisabled" festgelegt ist, sollte eine Betriebssystemverbindungsanforderung, die dem Kontext entspricht, fehlgeschlagen sein, ohne das Netzwerk zu signalisieren. Weitere Informationen finden Sie in der MBIM_MS_CONTEXT_ENABLE Tabelle.
28 4 Roaming MBIM_MS_CONTEXT_ROAMING_CONTROL Gibt an, ob Roaming für diesen Kontext zulässig ist oder nicht. Weitere Informationen finden Sie in der MBIM_MS_CONTEXT_ROAMING_CONTROL Tabelle.
32 4 MediaType MBIM_MS_CONTEXT_MEDIA_TYPE Gibt an, für welchen Medientransport der Kontext verwendet wird. Weitere Informationen finden Sie in der MBIM_MS_CONTEXT_MEDIA_TYPE Tabelle.
36 4 Quelle MBIM_MS_CONTEXT_SOURCE Gibt die Erstellungsquelle des Kontexts an. Weitere Informationen finden Sie in der MBIM_MS_CONTEXT_SOURCE Tabelle.
40 4 AccessStringOffset OFFSET Versetzt im Datenpuffer auf eine Zeichenfolge, AccessString, um auf das Netzwerk zuzugreifen. Bei GSM-basierten Netzwerken wäre dies eine APN-Zeichenfolge (Access Point Name), z. B. "data.thephone-company.com". Bei CDMA-basierten Netzwerken kann dies eine spezielle Wählnummer wie "#777" oder ein Network Access Identifier (NAI) wie "foo@thephone-company.com" sein. Dieser Member kann NULL sein, um anzufordern, dass das Netzwerk den Standard-APN zuweist. Hinweis: Nicht alle Netzwerke unterstützen diese NULL-APN-Konvention, sodass ein Verbindungsfehler, der durch einen ungültigen APN verursacht wird, ein mögliches Ergebnis ist. Die Größe der Zeichenfolge sollte 100 Zeichen nicht überschreiten.
44 4 AccessStringSize GRÖSSE(0..200) Größe, die für AccessString verwendet wird.
48 4 UserNameOffset OFFSET Offset in Bytes, berechnet vom Anfang dieser Struktur, zu einer Zeichenfolge, UserName, die den Benutzernamen für die Authentifizierung darstellt. Dieses Element kann NULL sein.
52 4 UserNameSize GRÖSSE(0..510) Größe, die für UserName verwendet wird.
56 4 PasswordOffset OFFSET Offset in Bytes, berechnet vom Anfang dieser Struktur, zu einer Zeichenfolge, Kennwort, die das Kennwort des Benutzernamens für die Authentifizierung darstellt. Dieses Element kann NULL sein.
60 4 PasswordSize GRÖSSE(0..510) Größe, die für das Kennwort verwendet wird.
64 4 Komprimierung MBIM_COMPRESSION Gibt die Komprimierung an, die in der Datenverbindung für Header und Daten verwendet werden soll. Dieses Mitglied gilt nur für GSM-basierte Geräte. Der Host legt dieses Element auf MBIMCompressionNone für CDMA-basierte Geräte fest. Weitere Informationen finden Sie in der MBIM_COMPRESSION Tabelle.
68 4 AuthProtocol MBIM_AUTH_PROTOCOL Authentifizierungstyp, der für die PDP-Aktivierung verwendet werden soll. Weitere Informationen finden Sie in der MBIM_AUTH_PROTOCOL Tabelle.
72 4 DataBuffer DATABUFFER Der Datenpuffer, der AccessString, UserName und Kennwort enthält.

Die folgenden Datenstrukturen werden in der vorherigen Tabelle verwendet.

MBIM_MS_CONTEXT_ROAMING_CONTROL gibt die Roamingrichtlinie pro Kontext an. Das Betriebssystem kann angeben, ob der angegebene Kontext während des Roamings aktiviert werden kann oder nicht. Das Modem sollte den Kontext ohne Betriebssystemeingriff nicht selbst aktivieren, wenn der Roamingzustand die angegebenen Bedingungen nicht erfüllt. In Fällen, in denen das Modem keine Partner unterstützt, sollten alle Partnerkonfigurationen als gleichwertig zu Hause behandelt werden.

Typ Wert Beschreibung
MbimMsContextRoamingControlHomeOnly 0 Gibt an, ob der Kontext nur im Heimnetzwerk verwendet werden darf oder nicht.
MbimMsContextRoamingControlPartnerOnly 1 Gibt an, ob der Kontext nur in Partnerroamingnetzwerken verwendet werden darf oder nicht.
MbimMsContextRoamingControlNonPartnerOnly 2 Gibt an, ob der Kontext nur in Nicht-Partnerroamingnetzwerken verwendet werden darf oder nicht.
MbimMsContextRoamingControlHomeAndPartner 3 Gibt an, ob der Kontext nur in Home und Partnerroamingnetzwerken verwendet werden darf oder nicht.
MbimMsContextRoamingControlHomeAndNonPartner 4 Gibt an, ob der Kontext nur in Home und Nicht-Partnerroamingnetzwerken verwendet werden darf oder nicht.
MbimMsContextRoamingControlPartnerAndNonPartner 5 Gibt an, ob der Kontext nur in Partner- und Nicht-Partnerroamingnetzwerken verwendet werden darf oder nicht.
MbimMsContextRoamingControlAllowAll 6 Gibt an, ob der Kontext in einer Roamingbedingung verwendet werden darf.

MBIM_MS_CONTEXT_MEDIA_TYPE wurde hinzugefügt, um anzugeben, ob der Kontext für Mobilfunk oder iWLAN verwendet wird, wenn wlan-Offload in zukünftigen Plattformen unterstützt wird. Wenn z. B. ein Kontext als Mobilfunk festgelegt ist und das Modem zurzeit WLAN-Offloading ist, sollte eine Verbindung nicht mithilfe dieses Kontexts initiiert werden.

Typ Wert Beschreibung
MbimMsContextMediaTypeCellularOnly 0 Gibt an, ob der Kontext nur verwendet werden darf, wenn er über das Mobilfunknetz registriert wird.
MbimMsContextMediaTypeWifiOnly 1 Gibt an, ob der Kontext nur beim Registrieren über iWLAN (Wi-Fi Offload) verwendet werden darf.
MbimMsContextMediaTypeAll 2 Gibt an, ob der Kontext beim Registrieren über Mobilfunk oder WLAN verwendet werden darf.

MBIM_MS_CONTEXT_ENABLE gibt an, ob ein Kontext aktiviert oder deaktiviert ist.

Typ Wert Beschreibung
MbimMsContextDisabled 0 Der bereitgestellte Kontext ist deaktiviert. Das Modem sollte die Aktivierung in diesem Kontext nicht über das Betriebssystem und selbst aktivieren.
MbimMsContextEnabled 1 Der bereitgestellte Kontext ist aktiviert. Der Kontext kann aktiviert werden, wenn andere Bedingungen erfüllt sind; Wenn das Roaming beispielsweise unzulässig ist, sollte der Kontext während des Roamings nicht aktiviert werden.

MBIM_MS_CONTEXT_SOURCE wurde hinzugefügt, um dem Betriebssystem Sichtbarkeit darüber zu geben, wie der Modemkontext erstellt wurde. Dadurch kann das Betriebssystem nach verschiedenen Situationen, beispielsweise einer Zurücksetzung auf die Werkseinstellungen, korrekt reagieren und erkennt, was basierend auf den verschiedenen Anforderungen des Bedieners beibehalten und was auf den Standardzustand zurückgesetzt werden soll.

Typ Wert Beschreibung
MbimMsContextSourceAdmin 0 Der Kontext wurde von einem Unternehmens-IT-Administrator aus dem Betriebssystem erstellt.
MbimMsContextSourceUser 1 Der Kontext wurde vom Benutzer über Betriebssystemeinstellungen erstellt.
MbimMsContextSourceOperator 2 Der Kontext wurde vom Operator über OMA-DM oder andere Kanäle erstellt.
MbimMsContextSourceModem 3 Der Kontext wurde vom IHV oder OEM erstellt, der in der Modemfirmware enthalten war.
MbimMsContextSourceDevice 4 Der Kontext wurde von der Betriebssystem-APN-Datenbank erstellt.

MBIM_MS_CONTEXT_OPERATIONS gibt die Vorgänge an, die das Betriebssystem ausführen kann, um Kontexte im Modem zu konfigurieren.

Typ Wert Beschreibung
MbimMsContextOperationDefault 0 Standardvorgang, einschließlich Hinzufügen oder Ersetzen eines vorhandenen Kontexts im Modem.
MbimMsContextOperationDelete 1 Der Löschvorgang erfordert, dass das Modem einen vorhandenen Kontext im Modem löscht.
MbimMsContextOperationRestoreFactory 2 Stellt den werkseitig vorkonfigurierten Kontext für die Provider-ID der aktuell eingelegten SIM-Karte wieder her. Alle Kontexte, die durch das Betriebssystem ersetzt oder erstellt wurden, sollten entfernt und ersetzt werden. Wenn kein vorkonfigurierter Betriebssystemkontext für die aktuelle eingefügte SIM-Anbieter-ID vorhanden ist, sollte der bereitgestellte Kontext im Modem entfernt werden.

Die ursprüngliche MBIM_CONTEXT_TYPES von MBIM 1.0 ist weiterhin gültig. Microsoft fügt zusätzliche Kontexttypen hinzu, da seit der Definition von MBIM 1.0 weitere Kontexttypen eingeführt wurden. In der folgenden Tabelle werden die neuen Typen definiert, die eingeführt werden. IHVs und OEMs können andere proprietäre Kontexttypen mit anderen eindeutigen UUID-Werten definieren, die vom Betriebssystem nicht für eigene Zwecke erkennbar sind.

Typ Wert Beschreibung
MBIMMsContextTypeAdmin 5f7e4c2e-e80b-40a9-a239-f0abcfd11f4b Der Kontext wird für administrative Zwecke wie die Geräteverwaltung verwendet.
MBIMMSContextTypeApp 74d88a3d-dfbd-4799-9a8c-7310a37bb2ee Der Kontext wird für bestimmte Anwendungen verwendet, die von Mobilfunkanbietern zugelassen werden.
MBIMMsContextTypeXcap 50d378a7-baa5-4a50-b872-3fe5bb463411 Der Kontext wird für die XCAP-Bereitstellung für IMS-Dienste verwendet.
MBIMMsContextTypeTethering 5e4e0601-48dc-4e2b-acb8-08b4016bbaac Der Kontext wird für mobile Hotspot-Tethering verwendet.
MBIMMsContextTypeEmergencyCalling 5f41adb8-204e-4d31-9da8-b3c970e360f2 Der Kontext wird für IMS-Notrufe verwendet.
Antwort

Die folgende MBIM_MS_PROVISIONED_CONTEXT_INFO_V2-Struktur wird im Informatiopuffer verwendet.

Abweichung Size Feld Typ Beschreibung
0 4 ElementCount (EC) UINT32 Anzahl der MBIM_MS_CONTEXT_V2 Strukturen, die im DataBuffer folgen.
4 8 * EC MsProvisionedContextV2RefList OL_PAIR_LIST Das erste Element des Paars ist ein 4-Byte-Offset in Byte, berechnet vom Anfang (Offset 0) dieser MBIM_MS_PROVISIONED_CONTEXTS_INFO_V2-Struktur auf eine MBIM_MS_CONTEXT_V2 Struktur (weitere Informationen finden Sie in der MBIM_MS_CONTEXT_V2 Tabelle). Das zweite Element des Paars ist eine 4-Byte-Größe eines Zeigers auf die entsprechende MBIM_MS_CONTEXT_V2 Struktur.
4 + 8 * EC DataBuffer DATABUFFER Array von MBIM_MS_CONTEXT_V2 Strukturen.

MBIM_MS_CONTEXT_V2, das in der vorherigen Tabelle verwendet wird, enthält Informationen zu einem bestimmten Kontext.

Abweichung Size Feld Typ Beschreibung
0 4 ContextId UINT32 Eine eindeutige ID für diesen Kontext.
4 16 ContextType MBIM_CONTEXT_TYPES Gibt den Typ des dargestellten Kontexts an; Zum Beispiel Internetkonnektivität, VPN (eine Verbindung mit einem Unternehmensnetzwerk) oder Voice-over-IP (VOIP). Geräte sollten MBIMContextTypeNone für leere oder nicht bereitgestellte Kontexte angeben. Weitere Informationen finden Sie in der MBIM_CONTEXT_TYPES Tabelle.
20 4 IPType MBIM_CONTEXT_IP_TYPES Weitere Informationen finden Sie in der MBIM_CONTEXT_IP_TYPES Tabelle.
24 4 Aktivieren MBIM_MS_CONTEXT_ENABLE Gibt an, ob der Kontext vom Modem verwendet werden kann. Wenn sie auf "MbimMsContextDisabled" festgelegt ist, sollte eine Betriebssystemverbindungsanforderung, die dem Kontext entspricht, fehlgeschlagen sein, ohne das Netzwerk zu signalisieren. Weitere Informationen finden Sie in der MBIM_MS_CONTEXT_ENABLE Tabelle.
28 4 Roaming MBIM_MS_CONTEXT_ROAMING_CONTROL Gibt an, ob Roaming für diesen Kontext zulässig ist oder nicht. Weitere Informationen finden Sie in der MBIM_MS_CONTEXT_ROAMING_CONTROL Tabelle.
32 4 MediaType MBIM_MS_CONTEXT_MEDIA_TYPE Gibt an, für welchen Medientransport der Kontext verwendet wird. Weitere Informationen finden Sie in der MBIM_MS_CONTEXT_MEDIA_TYPE Tabelle.
36 4 Quelle MBIM_MS_CONTEXT_SOURCE Gibt die Erstellungsquelle des Kontexts an. Weitere Informationen finden Sie in der MBIM_MS_CONTEXT_SOURCE Tabelle.
40 4 AccessStringOffset OFFSET Offset im Datenpuffer zu einem String, AccessString, um auf das Netzwerk zuzugreifen. Bei GSM-basierten Netzwerken wäre dies eine APN-Zeichenfolge (Access Point Name), z. B. "data.thephone-company.com". Bei CDMA-basierten Netzwerken kann dies eine spezielle Wählnummer wie "#777" oder ein Network Access Identifier (NAI) wie "foo@thephone-company.com" sein. Dieser Member kann NULL sein, um anzufordern, dass das Netzwerk den Standard-APN zuweist. Hinweis: Nicht alle Netzwerke unterstützen diese NULL-APN-Konvention, sodass ein Verbindungsfehler, der durch einen ungültigen APN verursacht wird, ein mögliches Ergebnis ist. Die Größe der Zeichenfolge sollte 100 Zeichen nicht überschreiten.
44 4 AccessStringSize GRÖSSE(0..200) Größe, die für AccessString verwendet wird.
48 4 UserNameOffset OFFSET Offset in Bytes, berechnet vom Anfang dieser Struktur, zu einer Zeichenfolge, UserName, die den Benutzernamen für die Authentifizierung darstellt. Dieses Element kann NULL sein.
52 4 UserNameSize GRÖSSE(0..510) Größe, die für UserName verwendet wird.
56 4 PasswordOffset OFFSET Offset in Bytes, berechnet vom Anfang dieser Struktur, zu einer Zeichenfolge, Kennwort, die das Kennwort des Benutzernamens für die Authentifizierung darstellt. Dieses Element kann NULL sein.
60 4 PasswordSize GRÖSSE(0..510) Größe, die für das Kennwort verwendet wird.
64 4 Komprimierung MBIM_COMPRESSION Gibt die Komprimierung an, die in der Datenverbindung für Header und Daten verwendet werden soll. Dieses Mitglied gilt nur für GSM-basierte Geräte. Der Host legt dieses Element auf MBIMCompressionNone für CDMA-basierte Geräte fest. Weitere Informationen finden Sie in der MBIM_COMPRESSION Tabelle.
68 4 AuthProtocol MBIM_AUTH_PROTOCOL Authentifizierungstyp, der für die PDP-Aktivierung verwendet werden soll. Weitere Informationen finden Sie in der MBIM_AUTH_PROTOCOL Tabelle.
72 DataBuffer DATABUFFER Der Datenpuffer, der AccessString, UserName und Kennwort enthält.
Benachrichtigung

Weitere Informationen finden Sie in der MBIM_MS_PROVISIONED_CONTEXT_V2 Tabelle.

Statuscodes

Für Abfrage- und Set-Vorgänge:

Statuscode Beschreibung
MBIM_STATUS_READ_FAILURE Fehler beim Vorgang, da das Gerät keine bereitgestellten Kontexte abrufen konnte.
MBIM_STATUS_NO_DEVICE_SUPPORT Fehler beim Vorgang, da das Gerät den Vorgang nicht unterstützt.

Nur für Set-Vorgänge:

Statuscode Beschreibung
MBIM_STATUS_INVALID_PARAMETERS Fehler beim Vorgang aufgrund ungültiger Parameter.
MBIM_STATUS_WRITE_FAILURE Fehler beim Vorgang, da die Updateanforderung nicht erfolgreich war.

Initialisierung von Geräten mit einem bereitgestellten Kontext

Initialisierung eines nicht SIM gesperrten GPRS-Geräts mit einem bereitgestellten Kontext

Das folgende Diagramm stellt die optimale Benutzererfahrung für GSM-basierte MB-Geräte dar. Für die Out-of-Box-Benutzeroberfläche ist keine Benutzerkonfiguration erforderlich. Es wird davon ausgegangen, dass das Gerät so konfiguriert ist, dass das Netzwerk automatisch für die Registrierung ausgewählt wird. Die Bezeichnungen in Fettdruck stellen OID-Bezeichner oder Transaktionsflusssteuerung dar. Die Beschriftungen im regulären Text stellen die wichtigen Kennzeichen innerhalb der OID-Struktur dar.

Diagramm zur Darstellung der gsm-basierten MB-Geräteinitialisierungssequenz.

Um ein nicht SIM gesperrtes GSM-basiertes Gerät zu initialisieren, implementieren Sie die folgenden Schritte:

  1. Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_READY_INFO Abfrageanforderung an den Miniporttreiber, um den bereiten Zustand des Geräts zu identifizieren. Der Miniporttreiber antwortet mit einer vorläufigen Bestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat, und er sendet eine Benachrichtigung mit den angeforderten Informationen in Der Zukunft.

  2. Der Miniporttreiber sendet eine NDIS_STATUS_WWAN_READY_INFO Benachrichtigung an den MB-Dienst, der an den MB-Dienst angibt, dass der Status des MB-Geräts WwanReadyStateInitialized ist.

  3. Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_REGISTER_STATE Abfrageanforderung an den Miniporttreiber, um den Registrierungsstatus des Geräts zu identifizieren. Der Miniporttreiber antwortet mit einer vorläufigen Bestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat, und er sendet eine Benachrichtigung mit den angeforderten Informationen in Der Zukunft.

  4. Der Miniport-Treiber sendet eine NDIS_STATUS_WWAN_REGISTER_STATE-Benachrichtigung an den MB-Dienst, die angibt, dass der Registrierungsmodus des Geräts WwanRegistraterModeAutomatic und sein aktueller Registrierungsstatus WwanRegisterStateSearching ist.

  5. Wenn das Gerät später bei einem Netzwerkanbieter registriert ist, sendet der Miniporttreiber eine nicht angeforderte NDIS_STATUS_WWAN_REGISTER_STATE Benachrichtigung an den MB-Dienst, der angibt, dass der aktuelle Registrierungsstatus des Geräts WwanRegisterStateHome ist.

  6. Das Gerät versucht, den Paketdienst anzufügen. Wenn sich der Paketdienststatus auf „Verbunden“ ändert, sendet der Miniport-Treiber eine unerwünschte NDIS_STATUS_WWAN_PACKET_SERVICE-Benachrichtigung an den MB-Dienst, die angibt, dass der Paketdienst verbunden ist und die aktuelle Datenklasse WWAN_DATA_CLASS_GPRS ist.

  7. Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_HOME_PROVIDER Abfrageanforderung an den Miniporttreiber, um Informationen zum Heimanbieter abzurufen. Der Miniporttreiber antwortet mit einer vorläufigen Bestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat, und er sendet eine Benachrichtigung mit den angeforderten Informationen in Der Zukunft.

  8. Der Miniporttreiber sendet eine NDIS_STATUS_WWAN_HOME_PROVIDER Benachrichtigung an den MB-Dienst, der die Details des Heimanbieters angibt.

  9. Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_PROVISIONED_CONTEXTS Abfrageanforderung an den Miniporttreiber, um die Liste der bereitgestellten Kontexte abzurufen. Der Miniporttreiber antwortet mit einer vorläufigen Bestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat, und er sendet eine Benachrichtigung mit den angeforderten Informationen in Der Zukunft.

  10. Der Miniport-Treiber sendet eine NDIS_STATUS_WWAN_PROVISIONED_CONTEXTS-Benachrichtigung an den MB-Dienst, die eine Liste von WWAN_CONTEXT-Strukuren enthält.

  11. Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_CONNECT Festlegen der Anforderung an den Miniporttreiber, um den Paketdatenprotokollkontext (PDP) zu aktivieren. Der Miniporttreiber antwortet mit einer vorläufigen Bestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat, und er sendet eine Benachrichtigung mit den angeforderten Informationen in Der Zukunft.

  12. Der Miniporttreiber sendet eine NDIS_STATUS_WWAN_CONTEXT_STATE Benachrichtigung an den MB-Dienst, der angibt, dass der PDP-Kontext aktiviert ist.

  13. Der Miniporttreiber sendet eine NDIS_STATUS_LINK_STATE Benachrichtigung, um anzugeben, dass der Medienverbindungszustand MediaConnectStateConnected ist.

Initialisierung eines CDMA-Paketgeräts mit einem bereitgestellten Kontext

Das folgende Diagramm veranschaulicht die optimale Benutzererfahrung für CDMA-basierte Geräte. Für die Out-of-Box-Benutzeroberfläche ist keine Benutzerkonfiguration erforderlich. In diesem Szenario wird davon ausgegangen, dass das CDMA-basierte Konto nicht aktiviert wurde. Im Gegensatz zu GSM-basierten Geräten startet ein CDMA-basiertes Gerät automatisch die Registrierung mit dem Netzwerk, nachdem die Aktivierung abgeschlossen ist. Die Bezeichnungen in Fettdruck stellen OID-Bezeichner oder Transaktionsflusssteuerung dar. Die Beschriftungen im regulären Text stellen die wichtigen Kennzeichen innerhalb der OID-Struktur dar.

Diagramm zur Veranschaulichung der cdma-basierten Initialisierungssequenz für mobile Breitbandgeräte.

Um ein CDMA-basiertes Paketgerät mit einem bereitgestellten Kontext zu initialisieren, implementieren Sie die folgenden Schritte:

  1. Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_READY_INFO an den Miniporttreiber. Der Miniporttreiber antwortet mit einer vorläufigen Bestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat, und dass er zukünftig eine Benachrichtigung mit den angeforderten Informationen sendet.

  2. Der Miniporttreiber sendet NDIS_STATUS_WWAN_FAILURE an den MB-Dienst.

  3. Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_SERVICE_ACTIVATION an den Miniporttreiber. Der Miniporttreiber antwortet mit einer vorläufigen Bestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat, und dass er zukünftig eine Benachrichtigung mit den angeforderten Informationen sendet.

  4. Der Miniporttreiber sendet NDIS_STATUS_WWAN_SUCCESS an den MB-Dienst.

  5. Der Miniporttreiber sendet NDIS_STATUS_WWAN_REGISTER_STATE an den MB-Dienst.

  6. Der Miniporttreiber sendet NDIS_STATUS_WWAN_REGISTER_STATE an den MB-Dienst.

  7. Der Miniporttreiber sendet NDIS_STATUS_WWAN_PACKET_SERVICE an den MB-Dienst.

  8. Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_HOME_PROVIDER an den Miniporttreiber. Der Miniporttreiber antwortet mit einer vorläufigen Bestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat, und dass er zukünftig eine Benachrichtigung mit den angeforderten Informationen sendet.

  9. Der Miniporttreiber sendet NDIS_STATUS_WWAN_SUCCESS an den MB-Dienst.

  10. Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_PROVISIONED_CONTEXTS an den Miniporttreiber. Der Miniporttreiber antwortet mit einer vorläufigen Bestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat, und dass er zukünftig eine Benachrichtigung mit den angeforderten Informationen sendet.

  11. Der Miniporttreiber sendet NDIS_STATUS_WWAN_SUCCESS an den MB-Dienst.

  12. Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_PROVISIONED_CONTEXTS an den Miniporttreiber. Der Miniporttreiber antwortet mit einer vorläufigen Bestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat, und er sendet eine Benachrichtigung mit den angeforderten Informationen in Der Zukunft.

  13. Der Miniporttreiber sendet NDIS_STATUS_WWAN_SUCCESS an den MB-Dienst.

  14. Der Miniporttreiber sendet NDIS_STATUS_LINK_STATE an den MB-Dienst.

Weitere Informationen

MB-Gerätebereitschaft