OID_SWITCH_NIC_RESTORE
A borda de protocolo do comutador extensível do Hyper-V emite uma solicitação de conjunto OID (identificador de objeto) de OID_SWITCH_NIC_RESTORE para notificar a extensão de comutador extensível sobre dados em tempo de execução que podem ser restaurados para uma porta de comutador extensível e sua conexão de adaptador de rede.
O membro InformationBuffer da estrutura NDIS_OID_REQUEST contém um ponteiro para uma estrutura NDIS_SWITCH_NIC_SAVE_STATE . Essa estrutura é alocada pela borda do protocolo do comutador extensível.
Comentários
Quando ele recebe a solicitação de conjunto de OID de OID_SWITCH_NIC_RESTORE, a extensão de comutador extensível deve primeiro determinar se ela possui os dados em tempo de execução. A extensão faz isso comparando o valor do membro ExtensionId 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 em tempo de execução de uma porta de comutador extensível, ela restaurará esses dados da seguinte maneira:
A extensão copia os dados em tempo de execução no membro SaveData para o armazenamento alocado por extensão.
Nota O valor do membro PortId 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 comutador extensível é mantida durante a Migração Dinâmica. Isso permite que a extensão restaure os dados em tempo de execução para a porta de comutador extensível usando o novo valor PortId .
A extensão conclui a solicitação de conjunto de OID com NDIS_STATUS_SUCCESS.
Se a extensão não possui os dados de tempo de execução especificados, a extensão chama NdisFOidRequest para encaminhar essa solicitação de conjunto de OID para extensões subjacentes na pilha de driver de comutador 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 do miniporto do comutador extensível, ela concluirá a solicitação OID com NDIS_STATUS_SUCCESS. Isso notifica a borda do protocolo do comutador extensível de que nenhuma extensão possui os dados em tempo de execução.
Para obter mais informações sobre como restaurar dados em tempo de execução, consulte Restaurando dados de Run-Time extensíveis do Hyper-V.
Nota Se a extensão falhar na solicitação de conjunto de OID, a opção extensível falhará em toda a operação de restauração. Como resultado, a extensão deve evitar falha na solicitação de 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 falhará na solicitação OID se ela não puder funcionar corretamente sem restaurar os dados em tempo de execução. No entanto, se a extensão puder se recuperar da condição de falha, ela não deverá falhar na solicitação de conjunto de OID.
Retornar códigos de status
Se a extensão concluir a solicitação de conjunto de 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 |
A solicitação falhou por outros motivos. |
Requisitos
Versão |
Com suporte no NDIS 6.30 e posterior. |
Cabeçalho |
Ntddndis.h (inclua Ndis.h) |