Virtuelle Station
Ab NDIS 6.20 (Windows 7) stellt das Betriebssystem eine virtuelle Station (VSTA) bereit, die mit dem 802.11-Miniporttreiber interagieren kann.
Ein unabhängiger Hardwareanbieter (IHV) verwendet VSTA-Funktionen über das IHV-Erweiterbarkeitsframework und nicht über Win32-APIs (Application Programming Interfaces).
Die Erstellung der virtuellen Station wird initiiert, wenn die DLL für IHV-Erweiterungen die Dot11ExtRequestVirtualStation-Funktion aufruft . Das Betriebssystem erstellt jeweils nur eine virtuelle Station auf dem Computer und nur, wenn eine DLL für IHV-Erweiterungen eine Dot11ExtRequestVirtualStation-Anforderung ausgibt .
Das Betriebssystem ruft die Dot11ExtIhvInitVirtualStation-Funktion auf, um die IHV-Erweiterungs-DLL für vorgänge virtueller Stationen zu initialisieren. Dieser Aufruf initialisiert auch die BENUTZERMODUS-API-Schnittstelle zwischen dem Betriebssystem und der DLL.
Hinweis Um sicherzustellen, dass eine virtuelle Station konsistent erstellt wird, sollte ein Computer nur über eine Installation der IHV-Erweiterungs-DLL verfügen, die versucht, die Virtual Station-Funktionalität zu verwenden. Selbst wenn mehr als eine DLL installiert ist, kann nur eine virtuelle Station erstellt werden. Das Betriebssystem kann nicht garantieren, welche DLL nach dem Neustart des Computers Zugriff auf eine virtuelle Station hat. Beachten Sie, dass, wenn auf Anforderung einer DLL bereits eine virtuelle Station erstellt wurde und eine zweite DLL dann Dot11ExtRequestVirtualStation aufruft, möglicherweise ein Erfolgscode zurückgegeben wird, aber keine zweite virtuelle Station erstellt wird. Eine DLL für IHV-Erweiterungen sollte einen Zwei-Minuten-Timer festlegen, nachdem die Dot11ExtRequestVirtualStation-Funktion aufgerufen wurde . Wenn der Timer vor dem Ankunftsereignis des Adapters für virtuelle Stationen abläuft, sollte die DLL davon ausgehen, dass die virtuelle Station nicht erstellt wurde.
Erweiterbare AP/Virtuelle Station-Interaktionen
Wenn Ihr Treiber die Funktionalität der virtuellen Station implementiert, aber nicht gleichzeitig Extensible Access Point (Extensible Access Point, ExtAP) und Verbindungen virtueller Stationen an verschiedenen Ports unterstützen kann, sollte der Treiber die folgenden Aktionen ausführen.
Informieren Sie das Betriebssystem, ob ein port, der für ExtAP verwendet wird, die Funktionalität jederzeit aufrechterhalten kann oder nicht. Insbesondere sollte der Treiber die folgenden status-Angaben am ExtAP-Port ausgeben, wobei der entsprechende status Code ( NDIS_STATUS_INDICATION-StatusCode>) und der Ursachencode verwendet werden:
NDIS_STATUS_DOT11_STOP_AP
Gibt an, dass die AP-Funktionalität auf dem ExtAP-Port nicht aufrechterhalten werden kann. Legen Sie in diesem Fall DOT11_STOP_AP_PARAMETERS-ulReason> auf den Wert DOT11_STOP_AP_REASON_AP_ACTIVE fest. Geben Sie diesen status Hinweis in den folgenden Situationen aus:- Bevor der Port der virtuellen Station mit der Verwendung der freigegebenen Ressource beginnt, die gleichzeitige virtuelle Station und ExtAP-Verbindungen blockieren würde
- Wenn der ExtAP-Port in den ExtAP-INIT-Zustand übergibt, würde die Verwendung der Ressourcen für virtuelle Stationen eine erfolgreiche Initialisierung des ExtAP-Ports verhindern.
NDIS_STATUS_DOT11_CAN_SUSTAIN_AP
Gibt an, dass der Port der virtuellen Station getrennt ist oder dass die Verwendung einer Ressource für virtuelle Stationen den erfolgreichen Übergang des Ports in den ExtAP INIT-Zustand nicht verhindert.Rufen Sie beim Herstellen einer Verbindung mit einem virtuellen Stationsport die Dot11ExtSetVirtualStationAPProperties-Funktion auf, um Informationen zur AP-Implementierung bereitzustellen, die von der Verbindung mit der virtuellen Station gehostet wird.
Die Portverbindungen der virtuellen Station schlagen fehl, wenn der ExtAP-Port im OP-Zustand ausgeführt wird und eine der folgenden Situationen auftritt:
- Mindestens ein Client befindet sich am ExtAP-Port.
- Die virtuelle Station versucht, eine Verbindung zu starten, die einstellungen für das gehostete Drahtlosnetzwerk dupliziert.
Native 802.11 IHV-Erweiterbarkeitsfunktionen, die eine virtuelle Station unterstützen
Dot11ExtQueryVirtualStationProperties
Dot11ExtSetVirtualStationAPProperties
Strukturen, die eine virtuelle Station unterstützen
DOT11EXT_VIRTUAL_STATION_AP_PROPERTY