Virtual Station
À compter de NDIS 6.20 (Windows 7), le système d’exploitation fournit une station virtuelle (VSTA) qui peut interagir avec le pilote miniport 802.11.
Un fournisseur de matériel indépendant (IHV) utilise les fonctionnalités VSTA par le biais de l’infrastructure d’extensibilité IHV plutôt que par le biais d’interfaces de programmation d’applications (API) Win32.
La création de la station virtuelle est lancée lorsque la DLL des extensions IHV appelle la fonction Dot11ExtRequestVirtualStation . Le système d’exploitation crée une seule station virtuelle sur l’ordinateur à la fois, et uniquement si une DLL d’extensions IHV émet une requête Dot11ExtRequestVirtualStation .
Le système d’exploitation appelle la fonction Dot11ExtIhvInitVirtualStation pour initialiser la DLL des extensions IHV pour les opérations de station virtuelle. Cet appel initialise également l’interface API en mode utilisateur entre le système d’exploitation et la DLL.
Note Pour garantir qu’une station virtuelle est créée de manière cohérente, un ordinateur ne doit avoir qu’une seule installation de la DLL des extensions IHV qui tente d’utiliser la fonctionnalité Virtual Station. Même si plusieurs DLL sont installées, une seule station virtuelle peut être créée. Le système d’exploitation ne peut pas garantir quelle DLL aura accès à une station virtuelle après le redémarrage de l’ordinateur. Notez que si une station virtuelle a déjà été créée à la demande d’une DLL et d’une deuxième DLL appelle Dot11ExtRequestVirtualStation, un code de réussite peut être retourné, mais une deuxième station virtuelle ne sera pas créée. Une DLL d’extensions IHV doit définir un minuteur de deux minutes après avoir appelé la fonction Dot11ExtRequestVirtualStation . Si le minuteur expire avant l’événement d’arrivée de l’adaptateur de station virtuelle, la DLL doit supposer que la station virtuelle n’a pas été créée.
Interactions AP/Virtual Station extensibles
Si votre pilote implémente la fonctionnalité de station virtuelle mais ne peut pas prendre en charge les connexions de point d’accès extensible (ExtAP) et de station virtuelle en même temps sur différents ports, le pilote doit effectuer les actions suivantes.
Indiquez au système d’exploitation si un port utilisé pour ExtAP peut ou ne peut pas soutenir les fonctionnalités à tout moment. En particulier, le pilote doit émettre les indications de status suivantes sur le port ExtAP, à l’aide du code status approprié (NDIS_STATUS_INDICATION-StatusCode>) et du code de raison :
NDIS_STATUS_DOT11_STOP_AP
Indique que la fonctionnalité AP ne peut pas être maintenue sur le port ExtAP. Dans ce cas, définissez DOT11_STOP_AP_PARAMETERS-ulReason> sur la valeur DOT11_STOP_AP_REASON_AP_ACTIVE. Émettez cette indication status dans les situations suivantes :- Avant que le port de la station virtuelle commence à utiliser la ressource partagée qui bloquerait les connexions de station virtuelle et d’ExtAP simultanées
- Si le port ExtAP passe à l’état INIT d’ExtAP et que l’utilisation des ressources de la station virtuelle empêche l’initialisation réussie du port ExtAP.
NDIS_STATUS_DOT11_CAN_SUSTAIN_AP
Indique que le port de la station virtuelle est déconnecté ou que l’utilisation d’une ressource de station virtuelle n’empêchera pas la transition réussie du port vers l’état INIT ExtAP.Lors de la connexion à un port de station virtuelle, appelez la fonction Dot11ExtSetVirtualStationAPProperties pour fournir des informations sur l’implémentation d’AP hébergée par la connexion de station virtuelle.
Échec des connexions du port de la station virtuelle si le port ExtAP s’exécute à l’état OP et si l’une des situations suivantes se produit :
- Un ou plusieurs clients se trouvent sur le port ExtAP.
- La station virtuelle tente de démarrer une connexion qui dupliquez les paramètres réseau hébergé sans fil .
Fonctions d’extensibilité IHV natives 802.11 qui prennent en charge une station virtuelle
Dot11ExtQueryVirtualStationProperties
Dot11ExtSetVirtualStationAPProperties
Structures qui prennent en charge une station virtuelle
DOT11EXT_VIRTUAL_STATION_AP_PROPERTY