OID_SWITCH_PORT_TEARDOWN
A borda de protocolo do switch extensível Hyper-V emite uma solicitação de conjunto de identificador de objeto (OID) de OID_SWITCH_PORT_TEARDOWN para notificar as extensões de switch extensíveis subjacentes de que uma porta de switch extensível iniciará o processo de exclusão. Esse processo é iniciado quando o driver de protocolo emite uma solicitação de conjunto OID de OID_SWITCH_PORT_DELETE.
O InformationBuffer membro da estrutura NDIS_OID_REQUEST contém um ponteiro para uma estrutura NDIS_SWITCH_PORT_PARAMETERS.
Comentários
O PortId membro da estrutura NDIS_SWITCH_PORT_PARAMETERS especifica a porta do switch extensível para a qual a notificação de conexão está sendo feita. A extensão de switch extensível deve atualizar todas as informações armazenadas em cache sobre a porta obtidas das seguintes maneiras:
Ao emitir solicitações de consulta OID de OID_SWITCH_PORT_ARRAY. A extensão emite esse OID em FilterAttach somente quando OID_SWITCH_PARAMETERS retorna uma estrutura NDIS_SWITCH_PARAMETERS com IsActive definido como TRUE. Se IsActive for FALSE, a extensão emitirá o OID quando o NET_PNP_EVENT NetEventSwitchActivatefor emitido pela miniporta da extensão.
Ao inspecionar os vários conjuntos OID solicitações de OID_SWITCH_PORT_CREATE e OID_SWITCH_PORT_DELETE.
A borda de protocolo do switch extensível emite uma solicitação de conjunto OID de OID_SWITCH_PORT_TEARDOWN para notificar a extensão de que uma porta está em processo de exclusão do switch extensível. Antes dessa solicitação OID ser emitida, a borda de protocolo do switch extensível havia emitido anteriormente os seguintes OIDs se a porta tivesse uma conexão de adaptador de rede ativa:
OID_SWITCH_NIC_DISCONNECT, que notificou as extensões subjacentes de que o adaptador de rede não está mais conectado à porta especificada na estrutura NDIS_SWITCH_PORT_PARAMETERS.
OID_SWITCH_NIC_DELETE, que notificou as extensões subjacentes de que a conexão de rede entre o adaptador de rede e a porta do switch extensível foi excluída.
A borda do protocolo emite essa solicitação de conjunto OID depois que todos os pacotes pendentes para a porta de switch extensível especificada foram cancelados ou concluídos.
Depois que a extensão conclui essa solicitação de conjunto OID e o contador de referência para a porta do switch extensível é zero, a borda do protocolo do switch extensível emite uma solicitação de conjunto OID de OID_SWITCH_PORT_DELETE. Esta solicitação OID exclui a porta do switch extensível.
Observação Uma extensão incrementa o contador de referência para uma porta de switch extensível chamando ReferenceSwitchPort. Uma extensão diminui o contador de referência chamando DereferenceSwitchPort.
A extensão deve seguir estas diretrizes para lidar com solicitações de conjunto OID de OID_SWITCH_PORT_TEARDOWN:
A extensão deve sempre encaminhar essa solicitação de conjunto OID para as extensões subjacentes. A prorrogação não deve falhar o pedido.
Nota A extensão não deve modificar a estrutura NDIS_SWITCH_PORT_PARAMETERS associada à solicitação OID.
Depois que a extensão encaminha essa solicitação OID, ela não pode encaminhar pacotes para a porta excluída. A extensão também não pode emitir solicitações OID nem chamar a função ReferenceSwitchPort para a porta excluída.
Nota A extensão não deve emitir solicitações de conjunto OID de OID_SWITCH_PORT_TEARDOWN.
Para obter mais informações sobre os estados das portas de switch extensíveis e conexões de adaptador de rede, consulte Hyper-V Extensible Switch Port and Network Adapter States.
Códigos de status de retorno
A borda de miniporta subjacente do switch extensível conclui a solicitação de conjunto OID de OID_SWITCH_PORT_TEARDOWN e retorna o seguinte código de status.
Código de status | Descrição |
---|---|
NDIS_STATUS_SUCCESS |
A solicitação OID foi concluída com êxito. |
Requerimentos
Versão |
Suportado no NDIS 6.30 e posterior. |
Cabeçalho |
Ntddndis.h (inclui Ndis.h) |