Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A borda do protocolo do comutador extensível Hyper-V emite uma solicitação de conjunto OID (identificador de objeto) de OID_SWITCH_NIC_CREATE para notificar as extensões de comutador extensíveis subjacentes de que uma nova conexão está sendo estabelecida entre uma porta de comutador extensível e um adaptador de rede externa ou virtual. Depois que a conexão for totalmente estabelecida, a borda do protocolo do comutador extensível emitirá uma solicitação de conjunto de OID de OID_SWITCH_NIC_CONNECT.
O membro InformationBuffer da estrutura NDIS_OID_REQUEST contém um ponteiro para uma estrutura NDIS_SWITCH_NIC_PARAMETERS.
Observações
O portId membro da estrutura NDIS_SWITCH_NIC_PARAMETERS especifica a porta de comutador extensível para a qual a notificação de criação está sendo feita. A extensão de comutador extensível pode obter as informações de parâmetro para essa e outras portas na opção extensível, emitindo solicitações de consulta OID de OID_SWITCH_PORT_ARRAY.
O Index membro da estrutura NDIS_SWITCH_NIC_PARAMETERS especifica o índice de um adaptador de rede para o qual a notificação de criação está sendo feita. O adaptador de rede com o valor índice de especificado está conectado à porta de comutador extensível especificada pelo membro PortId. Para obter mais informações sobre esses valores de índice, consulte Valores de Índice do Adaptador de Rede.
Quando ele recebe a solicitação de conjunto OID de OID_SWITCH_NIC_CREATE, a extensão deve seguir estas diretrizes:
A extensão não deve modificar a estrutura de NDIS_SWITCH_NIC_PARAMETERS associada à solicitação OID.
A solicitação OID_SWITCH_NIC_CREATE apenas notifica a extensão de que uma nova conexão de comutador extensível está sendo acionada e que o tráfego de pacotes pode começar a ocorrer em breve pela porta especificada. No entanto, a extensão não pode usar a porta até que a borda do protocolo do comutador extensível emita uma solicitação de conjunto de OID de OID_SWITCH_NIC_CONNECT. Até que o OID seja emitido, a extensão não deve fazer o seguinte:
Gere qualquer tráfego de pacote para a conexão do adaptador de rede na porta de comutador extensível para a qual a solicitação OID OID_SWITCH_NIC_CREATE foi emitida.
Encaminhar ou originar solicitações OID de OID_SWITCH_NIC_REQUEST para um adaptador de rede subjacente para o qual a solicitação OID OID_SWITCH_NIC_CREATE foi emitida.
Encaminhar ou originar indicações de status NDIS de NDIS_STATUS_SWITCH_NIC_STATUS de um adaptador de rede subjacente para o qual a solicitação OID OID_SWITCH_NIC_CREATE foi emitida.
Chame ReferenceSwitchNic para incrementar o contador de referência de comutador extensível para a conexão do adaptador de rede especificada na porta do comutador extensível.
Observação A extensão pode interceptar pacotes de envio ou recebimento para a porta especificada entre as solicitações de OID de OID_SWITCH_NIC_CREATE e OID_SWITCH_NIC_CONNECT. Nesse caso, a extensão deve encaminhar as solicitações de envio ou recebimento de pacotes em vez de cancelá-las.
A extensão pode vetar a notificação de criação retornando NDIS_STATUS_DATA_NOT_ACCEPTED para a solicitação de OID. Por exemplo, se uma extensão não puder atender às políticas configuradas na porta especificada, a extensão deverá vetar a notificação de criação.
Se a extensão retornar outros códigos de status dexxx NDIS_STATUS_, a notificação de criação também será vetada. No entanto, retornar códigos de status para cenários transitórios, como retornar NDIS_STATUS_RESOURCES, pode resultar em uma repetição da notificação de criação.
Se a extensão não veta a solicitação OID, ela deve monitorar o status quando a solicitação for concluída. A extensão deve fazer isso para determinar se a solicitação OID foi vetada por extensões subjacentes no caminho de controle de comutador extensível ou pela interface de comutador extensível.
Observação A extensão só poderá vetar a solicitação OID se o Index membro da estrutura NDIS_SWITCH_NIC_PARAMETERS especificar um valor de índice do adaptador de rede igual a zero.
Se a extensão não veta a notificação de criação, ela deve chamar NdisFOidRequest para encaminhar essa solicitação OID para extensões subjacentes na pilha de driver de comutador extensível.
Observação A extensão deve monitorar o status de conclusão dessa solicitação OID. A extensão faz isso para detectar se as extensões subjacentes na pilha de driver de comutador extensível vetaram a notificação de criação.
Se a extensão chamar NdisFOidRequest para encaminhar essa solicitação OID, a extensão não receberá imediatamente nenhum tráfego de pacote de ou para a porta de comutador extensível. Além disso, a extensão não pode injetar imediatamente o tráfego de envio ou recebimento para a porta de comutador extensível.
A extensão só pode encaminhar o tráfego de pacotes para a porta de comutador extensível depois que a borda do protocolo do comutador extensível emite uma solicitação de conjunto de OID de OID_SWITCH_NIC_CONNECT.
Observação Em algumas situações, o tráfego de pacotes pode ser encaminhado pela opção extensível para a porta antes que uma solicitação de OID_SWITCH_NIC_CONNECT do conjunto de OID seja emitida.
O adaptador de rede externa com comutador extensível pode ser associado a um ou mais adaptadores físicos subjacentes. Para cada adaptador de rede físico associado ao adaptador de rede externo, a borda do protocolo do comutador extensível emite uma solicitação de conjunto OID separada de OID_SWITCH_NIC_CREATE. Cada solicitação de conjunto de OID especifica um valor de índice de conexão de adaptador de rede diferente. Para obter mais informações sobre esses valores de índice, consulte Valores de Índice do Adaptador de Rede.
A extensão deve manter o estado de conexão para cada adaptador físico subjacente. Para obter mais informações sobre as diferentes configurações nas quais os adaptadores de rede física podem ser associados ao adaptador de rede externo, consulte tipos de configurações de adaptador de rede física.
Para obter mais informações sobre os estados de portas de comutador extensíveis e conexões de adaptador de rede, consulte Hyper-V Extensible Switch Port and Network Adapter States.
Observação A extensão não deve emitir suas próprias solicitações de conjunto de OID de OID_SWITCH_NIC_CREATE.
Códigos de status de retorno
Se a extensão concluir a solicitação de conjunto OID de OID_SWITCH_NIC_CREATE, ela retornará um dos seguintes códigos de status.
| Código de status | Descrição |
|---|---|
NDIS_STATUS_DATA_NOT_ACCEPTED |
A extensão vetou a notificação de criação. |
NDIS_STATUS_RESOURCES |
A extensão vetou a notificação de criação devido a uma condição de recurso baixa. |
NDIS_STATUS_xxx |
A extensão vetou a notificação de criação por outros motivos. |
Observação Se a extensão concluir a solicitação do conjunto de OID, ela não deverá retornar NDIS_STATUS_SUCCESS.
Se a extensão não concluir a solicitação de conjunto OID de OID_SWITCH_NIC_CREATE, a solicitação será concluída pela borda do miniporto subjacente da opção extensível. A borda do miniporto subjacente retorna o seguinte código de status para esta solicitação de conjunto de OID:
| 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 (inclua Ndis.h) |