OID_SWITCH_PORT_TEARDOWN
El borde del protocolo del conmutador extensible de Hyper-V emite una solicitud de conjunto de identificador de objeto (OID) de OID_SWITCH_PORT_TEARDOWN para notificar a las extensiones de conmutador extensible subyacentes que un puerto de conmutador extensible iniciará el proceso de eliminación. Este proceso se inicia cuando el controlador de protocolo emite una solicitud de conjunto de OID de OID_SWITCH_PORT_DELETE.
El miembro InformationBuffer de la estructura NDIS_OID_REQUEST contiene un puntero a una estructura NDIS_SWITCH_PORT_PARAMETERS .
Comentarios
El miembro PortId de la estructura NDIS_SWITCH_PORT_PARAMETERS especifica el puerto de conmutador extensible para el que se realiza la notificación de conexión. La extensión extensible switch debe actualizar cualquier información almacenada en caché sobre el puerto que obtuvo de las siguientes maneras:
Mediante la emisión de solicitudes de consulta de OID de OID_SWITCH_PORT_ARRAY. La extensión emite este OID en FilterAttach solo cuando OID_SWITCH_PARAMETERS devuelve una estructura de NDIS_SWITCH_PARAMETERS con IsActive establecido en TRUE. Si IsActive es FALSE, la extensión emite el OID cuando el miniporte de extensión emite el NET_PNP_EVENT NetEventSwitchActivate.
Al inspeccionar las distintas solicitudes de conjuntos de OID de OID_SWITCH_PORT_CREATE y OID_SWITCH_PORT_DELETE.
El borde del protocolo del conmutador extensible emite una solicitud de conjunto de OID de OID_SWITCH_PORT_TEARDOWN para notificar a la extensión que un puerto está en proceso de eliminarse del conmutador extensible. Antes de emitir esta solicitud de OID, el borde del protocolo del conmutador extensible había emitido previamente los siguientes OID si el puerto tenía una conexión de adaptador de red activa:
OID_SWITCH_NIC_DISCONNECT, que notifica a las extensiones subyacentes que el adaptador de red ya no está conectado al puerto especificado en la estructura de NDIS_SWITCH_PORT_PARAMETERS.
OID_SWITCH_NIC_DELETE, que notifica a las extensiones subyacentes que se ha eliminado la conexión de red entre el adaptador de red y el puerto de conmutador extensible.
El perímetro del protocolo emite esta solicitud de conjunto de OID después de que se hayan cancelado o completado todos los paquetes pendientes para el puerto de conmutador extensible especificado.
Una vez que la extensión completa esta solicitud de conjunto de OID y el contador de referencia para el puerto de conmutador extensible es cero, el borde del protocolo del conmutador extensible emite una solicitud de conjunto de OID de OID_SWITCH_PORT_DELETE. Esta solicitud de OID elimina el puerto del conmutador extensible.
Nota Una extensión incrementa el contador de referencia de un puerto de conmutador extensible llamando a ReferenceSwitchPort. Una extensión disminuye el contador de referencia llamando a DereferenceSwitchPort.
La extensión debe seguir estas instrucciones para controlar las solicitudes del conjunto de OID de OID_SWITCH_PORT_TEARDOWN:
La extensión siempre debe reenviar esta solicitud de conjunto de OID a las extensiones subyacentes. La extensión no debe producir un error en la solicitud.
Nota La extensión no debe modificar la estructura NDIS_SWITCH_PORT_PARAMETERS asociada a la solicitud OID.
Una vez que la extensión reenvía esta solicitud de OID, no puede reenviar paquetes al puerto eliminado. La extensión tampoco puede emitir solicitudes OID ni llamar a la función ReferenceSwitchPort para el puerto eliminado.
Nota La extensión no debe emitir solicitudes de conjunto de OID de OID_SWITCH_PORT_TEARDOWN.
Para obtener más información sobre los estados de los puertos de conmutador extensibles y las conexiones del adaptador de red, consulte Puerto de conmutador extensible de Hyper-V y Estados del adaptador de red.
Códigos de estado de retorno
El borde de minipuerto subyacente del conmutador extensible completa la solicitud de conjunto de OID de OID_SWITCH_PORT_TEARDOWN y devuelve el código de estado siguiente.
Código de estado | Descripción |
---|---|
NDIS_STATUS_SUCCESS |
La solicitud OID se completó correctamente. |
Requisitos
Versión |
Compatible con NDIS 6.30 y versiones posteriores. |
Encabezado |
Ntddndis.h (include Ndis.h) |