Partilhar via


OID_SWITCH_NIC_RESTORE

A borda de protocolo do switch extensível Hyper-V emite uma solicitação de conjunto de identificador de objeto (OID) de OID_SWITCH_NIC_RESTORE para notificar a extensão do switch extensível sobre dados em tempo de execução que podem ser restaurados para uma porta de switch extensível e sua conexão de adaptador de rede.

O InformationBuffer membro da estrutura NDIS_OID_REQUEST contém um ponteiro para uma estrutura NDIS_SWITCH_NIC_SAVE_STATE. Esta estrutura é alocada pela borda do protocolo do switch extensível.

Comentários

Quando recebe a solicitação de conjunto OID de OID_SWITCH_NIC_RESTORE, a extensão de switch extensível deve primeiro determinar se ela possui os dados de tempo de execução. A extensão faz isso comparando o valor do ExtensionId membro da estrutura NDIS_SWITCH_NIC_SAVE_STATE com o valor GUID que a extensão usa para se identificar.

Se a extensão possuir os dados de tempo de execução para uma porta de switch extensível, ela restaurará esses dados da seguinte maneira:

  1. A extensão copia os dados de tempo de execução no membro SaveData para o armazenamento alocado por extensão.

    Observação O valor do PortId membro da estrutura NDIS_SWITCH_NIC_SAVE_STATE pode ser diferente do valor PortId no momento em que os dados de tempo de execução foram salvos. Isso pode ocorrer se os dados em tempo de execução foram salvos durante uma migração ao vivo de um host para outro. No entanto, a configuração da porta de switch extensível é mantida durante a migração ao vivo. Isso permite que a extensão restaure os dados de tempo de execução para a porta do switch extensível usando o novo valor PortId.

  2. A extensão completa a solicitação de conjunto OID com NDIS_STATUS_SUCCESS.

Se a extensão não possuir os dados de tempo de execução especificados, a extensão chamará NdisFOidRequest para encaminhar essa solicitação de conjunto OID para extensões subjacentes na pilha de driver de switch extensível. Nesse caso, a extensão não deve modificar a estrutura de NDIS_SWITCH_NIC_SAVE_STATE associada à solicitação OID.

Se a solicitação de conjunto de OID_SWITCH_NIC_RESTORE for recebida pela borda de miniporta do switch extensível, ela concluirá a solicitação OID com NDIS_STATUS_SUCCESS. Isso notifica a borda do protocolo do switch extensível de que nenhuma extensão possui os dados de tempo de execução.

Para obter mais informações sobre como restaurar dados em tempo de execução, consulte Restaurando Hyper-V Comutador Extensível Run-Time Dados.

Nota Se a extensão falhar a solicitação de conjunto OID, o switch extensível falhará toda a operação de restauração. Como resultado, a extensão deve evitar falhar a solicitação OID, se for possível. Por exemplo, se a extensão não puder alocar o recurso necessário para restaurar os dados em tempo de execução, ela deverá falhar na solicitação OID se não puder funcionar corretamente sem restaurar os dados em tempo de execução. No entanto, se a extensão pode se recuperar da condição de falha, ela não deve falhar a solicitação de conjunto OID.

Códigos de status de retorno

Se a extensão concluir a solicitação de conjunto OID de OID_SWITCH_NIC_RESTORE, ela retornará um dos seguintes códigos de status.

Código de status Descrição

NDIS_STATUS_SUCCESS

A solicitação OID foi concluída com êxito.

NDIS_STATUS_Xxx

O pedido foi rejeitado por outros motivos.

Requerimentos

Versão

Suportado no NDIS 6.30 e posterior.

Cabeçalho

Ntddndis.h (inclui Ndis.h)

Ver também


NDIS_OID_REQUEST

NDIS_SWITCH_NIC_SAVE_STATE

NdisFOidRequest