Estación virtual
A partir de NDIS 6.20 (Windows 7), el sistema operativo proporciona una estación virtual (VSTA) que puede interactuar con el controlador de minipuerto 802.11.
Un proveedor de hardware independiente (IHV) usa la funcionalidad VSTA a través del marco de extensibilidad de IHV en lugar de a través de interfaces de programación de aplicaciones (API) win32.
La creación de la estación virtual se inicia cuando el archivo DLL de extensiones de IHV llama a la función Dot11ExtRequestVirtualStation . El sistema operativo crea solo una estación virtual en el equipo a la vez y solo si un archivo DLL de extensiones de IHV emite una solicitud Dot11ExtRequestVirtualStation .
El sistema operativo llama a la función Dot11ExtIhvInitVirtualStation para inicializar el archivo DLL de extensiones IHV para las operaciones de estación virtual. Esta llamada también inicializa la interfaz de API en modo de usuario entre el sistema operativo y el archivo DLL.
Nota Para asegurarse de que se crea una estación virtual de forma coherente, un equipo debe tener solo una instalación del archivo DLL de extensiones de IHV que intente usar la funcionalidad de la estación virtual. Incluso si hay más de un archivo DLL instalado, solo se puede crear una estación virtual. El sistema operativo no puede garantizar qué DLL tendrá acceso a una estación virtual después de reiniciar el equipo. Tenga en cuenta que si ya se ha creado una estación virtual a petición de un archivo DLL y un segundo archivo DLL, entonces llama a Dot11ExtRequestVirtualStation, se podría devolver un código de éxito, pero no se creará una segunda estación virtual. Un archivo DLL de extensiones de IHV debe establecer un temporizador de dos minutos después de llamar a la función Dot11ExtRequestVirtualStation . Si el temporizador expira antes del evento de llegada del adaptador de estación virtual, el archivo DLL debe suponer que no se creó la estación virtual.
Interacciones extensibles de ap/estación virtual
Si el controlador implementa la funcionalidad de la estación virtual, pero no puede admitir conexiones de punto de acceso extensible (ExtAP) y de estación virtual al mismo tiempo en puertos diferentes, el controlador debe realizar las siguientes acciones.
Informe al sistema operativo de si un puerto que se usa para ExtAP puede o no puede mantener la funcionalidad en todo momento. En concreto, el controlador debe emitir las siguientes indicaciones de estado en el puerto ExtAP, mediante el código de estado adecuado ( NDIS_STATUS_INDICATION-StatusCode>) y el código de motivo:
NDIS_STATUS_DOT11_STOP_AP
Indica que la funcionalidad de AP no se puede mantener en el puerto ExtAP. En este caso, establezca DOT11_STOP_AP_PARAMETERS-ulReason> en un valor de DOT11_STOP_AP_REASON_AP_ACTIVE. Emita esta indicación de estado en las situaciones siguientes:- Antes de que el puerto de la estación virtual empiece a usar el recurso compartido que bloquearía las conexiones simultáneas de estación virtual y ExtAP.
- Si el puerto ExtAP pasa al estado INIT de ExtAP y el uso de recursos de estación virtual impediría la inicialización correcta del puerto ExtAP.
NDIS_STATUS_DOT11_CAN_SUSTAIN_AP
Indica que el puerto de la estación virtual está desconectado o que el uso de un recurso de estación virtual no impedirá la transición correcta del puerto al estado INIT de ExtAP.Al conectarse a un puerto de estación virtual, llame a la función Dot11ExtSetVirtualStationAPProperties para proporcionar información sobre la implementación de AP hospedada por la conexión de la estación virtual.
Produzca un error en las conexiones del puerto de la estación virtual si el puerto ExtAP se está ejecutando en el estado OP y se produce una de las situaciones siguientes:
- Uno o varios clientes están en el puerto ExtAP.
- La estación virtual intenta iniciar una conexión que duplica la configuración de red hospedada inalámbrica .
Funciones de extensibilidad de IHV nativas 802.11 que admiten una estación virtual
Dot11ExtQueryVirtualStationProperties
Dot11ExtSetVirtualStationAPProperties
Estructuras que admiten una estación virtual
DOT11EXT_VIRTUAL_STATION_AP_PROPERTY