Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Um driver sobreposto emite uma solicitação de definição de identificador de objeto (OID) de OID_NIC_SWITCH_DELETE_VPORT para excluir uma porta virtual não padrão (VPort) no switch NIC de um adaptador de rede. O driver sobreposto só pode eliminar um VPort que criou anteriormente ao emitir uma solicitação de método OID para OID_NIC_SWITCH_CREATE_VPORT.
O InformationBuffer membro da estrutura NDIS_OID_REQUEST contém um ponteiro para a estrutura NDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS.
Um driver sobreposto, tal como a pilha de virtualização, pode excluir um VPort não padrão que o próprio driver criou anteriormente. O controlador sobrejacente cria um VPort emitindo uma solicitação de método OID de OID_NIC_SWITCH_CREATE_VPORT.
Antes de emitir o pedido de definição do OID de OID_NIC_SWITCH_DELETE_VPORT, o driver subjacente deve fazer o seguinte:
Os drivers superiores devem limpar ou mover todos os filtros de recebimento que o driver definiu anteriormente no VPort antes de excluir o VPort. Os filtros de recebimento são definidos através de solicitações OID de OID_RECEIVE_FILTER_SET_FILTER e são movidos através de solicitações OID de OID_RECEIVE_FILTER_MOVE_FILTER.
O driver sobreposto define o membro VPortId da estrutura NDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS para o identificador do VPort não padrão que será eliminado.
Observação O driver sobreposto não deve definir o membro VPortId como NDIS_DEFAULT_PORT_NUMBER. O identificador VPort está reservado para o VPort predefinido que está conectado à Função Física (PF) PCI Express (PCIe) no adaptador de rede. O VPort padrão sempre existe e não é excluído explicitamente através de uma solicitação de conjunto OID de OID_NIC_SWITCH_DELETE_VPORT.
O driver superior chama NdisOidRequest para emitir a solicitação de OID_NIC_SWITCH_DELETE_VPORT para o driver de miniporta PF subjacente. Quando o driver de miniporta recebe a solicitação de OID_NIC_SWITCH_DELETE_VPORT, o driver deve fazer o seguinte:
O driver deve liberar os recursos de hardware e software que foram alocados para o VPort especificado.
O driver deve separar o VPort especificado do PF ou de uma função virtual PCIe (VF).
Se o VPort estiver conectado a um VF, a pilha de virtualização garante que o driver de miniporta VF executado no sistema operacional convidado tenha sido pausado e interrompido anteriormente. Como resultado, todos os pacotes de recebimento indicados anteriormente do VPort deveriam ter sido retornados ao driver de miniporta VF.
Se o VPort estiver conectado ao PF, o driver da miniporta PF deverá parar qualquer DMA adicional à memória compartilhada associada ao VPort. O driver de miniporta PF deve certificar-se de que todos os pacotes de recebimento indicados anteriormente do VPort sejam retornados para a miniporta. O driver miniport PF não deve realizar indicações adicionais de receção ao NDIS que especifiquem o identificador do VPort na estrutura NET_BUFFER_LIST do pacote . Depois que todos os pacotes de recebimento indicados do VPort forem retornados ao driver de miniporta PF, ele deverá liberar a memória compartilhada associada ao VPort chamando NdisFreeSharedMemory.
À supressão de VPorts aplicam-se os seguintes pontos:
O driver de protocolo sobrejacente deve excluir todos os VPorts não padrão que ele criou antes de chamar NdisCloseAdapterEx.
O driver de filtro sobreposto deve excluir todos os VPorts que não são padrão, que ele criou dentro da sua função FilterDetach .
Antes que o NDIS emita uma solicitação definida de OID_NIC_SWITCH_DELETE_SWITCH para excluir um comutador NIC no adaptador de rede, ele garante que todos os VPorts não padrão sejam excluídos desse switch.
Somente VPorts não predefinidos podem ser explicitamente apagados, por meio de solicitações OID de OID_NIC_SWITCH_DELETE_SWITCH. O VPort padrão é implicitamente excluído quando o driver de miniporta PF exclui o switch NIC padrão. Para obter mais informações, consulte Eliminar um comutador NIC.