OID_SWITCH_PORT_TEARDOWN
A borda do protocolo do comutador extensível do Hyper-V emite uma solicitação de conjunto de identificador de objeto (OID) de OID_SWITCH_PORT_TEARDOWN para notificar as extensões de comutador extensível subjacentes de que uma porta de comutador 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 membro InformationBuffer da estrutura NDIS_OID_REQUEST contém um ponteiro para uma estrutura NDIS_SWITCH_PORT_PARAMETERS.
Comentários
O membro PortId da estrutura NDIS_SWITCH_PORT_PARAMETERS especifica a porta de comutador extensível para a qual a notificação de conexão está sendo feita. A extensão de comutador extensível deve atualizar todas as informações armazenadas em cache sobre a porta obtida 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 NetEventSwitchActivate for emitido pelo miniporto de extensão.
Ao inspecionar os vários conjuntos de OID, solicitações de OID_SWITCH_PORT_CREATE e OID_SWITCH_PORT_DELETE.
A borda do protocolo do comutador 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 comutador extensível. Antes que essa solicitação OID seja emitida, a borda do protocolo do comutador extensível havia emitido anteriormente os seguintes OIDs se a porta tivesse uma conexão ativa com o adaptador de rede:
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 comutador extensível foi excluída.
A borda do protocolo emite essa solicitação de conjunto de 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 de OID e o contador de referência para a porta do comutador extensível é zero, a borda do protocolo do comutador extensível emite uma solicitação de conjunto de OID de OID_SWITCH_PORT_DELETE. Essa solicitação OID exclui a porta do comutador extensível.
Observação Uma extensão incrementa o contador de referência para uma porta de comutador 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 extensões subjacentes. A extensão não deve falhar na solicitação.
Observação 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.
Observação 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 de portas de comutador extensível e conexões de adaptador de rede, consulte Porta de Comutador Extensível do Hyper-V e Estados do Adaptador de Rede.
Códigos de status de retorno
A borda de miniporto subjacente do comutador extensível conclui a solicitação de conjunto de OID de OID_SWITCH_PORT_TEARDOWN e retorna o código de status a seguir.
Código de status | Descrição |
---|---|
NDIS_STATUS_SUCCESS |
A solicitação OID foi concluída com êxito. |
Requisitos
Versão |
Com suporte no NDIS 6.30 e posterior. |
Cabeçalho |
Ntddndis.h (incluir Ndis.h) |