Compartilhar via


OID_SWITCH_NIC_SAVE

A borda de protocolo do comutador extensível do Hyper-V emite uma solicitação de método OID (identificador de objeto) de OID_SWITCH_NIC_SAVE durante uma operação para salvar dados em tempo de execução para uma porta de comutador extensível e sua conexão de adaptador de rede. A extensão retorna esses dados para que os dados em tempo de execução possam ser salvos e restaurados posteriormente. Depois que os dados em tempo de execução são salvos, eles são restaurados por meio de solicitações de conjunto de OID de OID_SWITCH_NIC_RESTORE.

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 método OID de OID_SWITCH_NIC_SAVE, a extensão de comutador extensível salva dados em tempo de execução fazendo o seguinte:

  • A extensão salva os dados dentro da estrutura NDIS_SWITCH_NIC_SAVE_STATE começando de bytes SaveDataOffset desde o início da estrutura.

  • Se o SaveDataSize fornecido não for grande o suficiente para manter os dados de salvamento necessários, a extensão definirá o campo BytesNeeded da estrutura do método como NDIS_SIZEOF_NDIS_SWITCH_NIC_SAVE_STATE_REVISION_1 mais a quantidade de buffer necessária para armazenar os dados de salvamento e concluirá o OID com NDIS_STATUS_BUFFER_TOO_SHORT. O OID será relançado com o tamanho necessário.

  • A extensão preenche os campos ExtensionId e ExtensionFriendlyName com seu próprio identificador e nome e conclui a solicitação de método OID com NDIS_STATUS_SUCCESS. Isso faz com que a borda do protocolo da opção extensível emita outra solicitação de método OID para permitir que a extensão retorne mais dados de salvamento ou permita que outras extensões na pilha salvem seus próprios dados.

Nota Se a extensão não tiver dados em tempo de execução para salvar, ela deverá chamar NdisFOidRequest para encaminhar essa solicitação de método OID para extensões subjacentes na pilha de driver de comutador extensível. Para obter mais informações sobre esse procedimento, consulte Filtrando solicitações de OID em um driver de filtro NDIS.

O comutador extensível do Hyper-V preenche os campos Header, PortId, NicIdex, SaveDataSize e SaveDataOffset da estrutura antes de emitir o OID. A extensão não pode modificar esses campos.

As solicitações de método OID de OID_SWITCH_NIC_SAVE são, em última análise, tratadas pela borda de miniporto subjacente do comutador extensível. Depois que essa solicitação de método OID 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 todas as extensões na pilha de driver de comutador extensível foram consultadas para dados em tempo de execução. A borda do protocolo do comutador extensível emite uma solicitação de conjunto de OID de OID_SWITCH_NIC_SAVE_COMPLETE para concluir a operação de salvamento.

Para obter mais informações sobre como salvar dados em tempo de execução para uma porta de comutador extensível, consulte Salvando dados de Run-Time de comutador extensível do Hyper-V.

Retornar códigos de status

A extensão de comutador extensível retorna um dos seguintes códigos status para a solicitação de método OID de OID_SWITCH_NIC_SAVE.

Código de status Descrição

NDIS_STATUS_BUFFER_TOO_SHORT

O comprimento do buffer de informações é muito pequeno para o NDIS_SWITCH_NIC_SAVE_STATE e seus dados de tempo de execução associados A extensão de comutador extensível deve definir os DADOS. METHOD_INFORMATION. Membro BytesNeeded na estrutura NDIS_OID_REQUEST para o tamanho mínimo do buffer necessário.

NDIS_STATUS_SUCCESS

A extensão retornará essa status se estiver retornando dados em tempo de execução para salvar.

NDIS_STATUS_Xxx

A solicitação falhou por outros motivos.

A borda do miniporto subjacente do comutador extensível retorna o código status a seguir para a solicitação de método OID de OID_SWITCH_NIC_SAVE.

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)

Confira também


NDIS_OID_REQUEST

NDIS_SWITCH_NIC_SAVE_STATE

NdisFOidRequest

OID_SWITCH_NIC_RESTORE

OID_SWITCH_NIC_SAVE_COMPLETE