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.
A borda de protocolo do switch extensível Hyper-V emite uma solicitação de método de identificador de objeto (OID) de OID_SWITCH_NIC_SAVE durante uma operação para salvar dados em tempo de execução para uma porta de switch 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 de tempo de execução são salvos, eles são restaurados por meio de solicitações de conjunto OID de OID_SWITCH_NIC_RESTORE.
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 ele recebe a solicitação de método OID de OID_SWITCH_NIC_SAVE, a extensão de switch extensível salva dados de tempo de execução fazendo o seguinte:
A extensão salva os dados dentro da estrutura NDIS_SWITCH_NIC_SAVE_STATE a partir de SaveDataOffset bytes desde o início da estrutura.
Se o SaveDataSize fornecido não for grande o suficiente para armazenar os dados salvos necessários, a extensão definirá o campo BytesNeeded da estrutura do método para NDIS_SIZEOF_NDIS_SWITCH_NIC_SAVE_STATE_REVISION_1 mais a quantidade de buffer necessária para armazenar os dados salvos e completará o OID com NDIS_STATUS_BUFFER_TOO_SHORT. O OID será reemitido com o tamanho necessário.
A extensão preenche o ExtensionId e campos de ExtensionFriendlyName com seu próprio identificador e nome, e completa a solicitação do método OID com NDIS_STATUS_SUCCESS. Isso faz com que a borda de protocolo do switch extensível emita outra solicitação de método OID para permitir que a extensão retorne mais dados salvos ou permita que outras extensões na pilha salvem seus próprios dados.
Observação Se a extensão não tiver dados de 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 switch extensível. Para obter mais informações sobre este procedimento, consulte Filtrando solicitações OID em um driver de filtro NDIS.
O switch extensível Hyper-V preenche os campos Header, PortId, NicIdex, SaveDataSize e SaveDataOffset campos 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 finalmente tratadas pela borda de miniporta subjacente do switch extensível. Depois que essa solicitação de método OID tiver sido 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 todas as extensões na pilha de driver do switch extensível foram consultadas para dados em tempo de execução. A borda do protocolo do switch extensível, em seguida, emite uma solicitação de conjunto OID de OID_SWITCH_NIC_SAVE_COMPLETE para concluir a operação de salvamento.
Para obter mais informações sobre como salvar dados de tempo de execução para uma porta de switch extensível, consulte Salvando Hyper-V switch extensível Run-Time dados.
Códigos de status de retorno
A extensão de switch extensível retorna um dos seguintes códigos de 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 switch extensível deve definir o DATA. METHOD_INFORMATION. BytesNeeded membro na estrutura NDIS_OID_REQUEST o tamanho mínimo de buffer necessário. |
NDIS_STATUS_SUCCESS |
A extensão retornará esse status se estiver retornando dados em tempo de execução para salvar. |
NDIS_STATUS_Xxx |
O pedido foi rejeitado por outros motivos. |
A borda de miniporta subjacente do switch extensível retorna o seguinte código de status 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. |
Requerimentos
Versão |
Suportado no NDIS 6.30 e posterior. |
Cabeçalho |
Ntddndis.h (inclui Ndis.h) |