Função NdisMInvalidateConfigBlock (ndis.h)
Um driver de miniporto chama a função NdisMInvalidateConfigBlock para notificar o NDIS de que os dados de um ou mais blocos de configuração de VF (Função Virtual) foram alterados.
Sintaxe
void NdisMInvalidateConfigBlock(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[in] ULONGLONG BlockMask
);
Parâmetros
[in] NdisMiniportHandle
O identificador de adaptador de rede que o NDIS passou para o parâmetro MiniportAdapterHandle de MiniportInitializeEx.
[in] VFId
O identificador do VF para o qual o local do dispositivo é retornado.
[in] BlockMask
Um valor ULONGLONG que especifica uma máscara de bits para os primeiros 64 blocos de configuração de VF. Cada bit na máscara de bits corresponde a um bloco de configuração de VF. Se o bit estiver definido como um, os dados associados ao bloco de configuração de VF correspondente serão alterados.
Retornar valor
Nenhum
Comentários
Um bloco de configuração de VF é usado para comunicação backchannel entre os drivers de miniporto PF e VF. O IHV pode definir um ou mais blocos de configuração de VF para o dispositivo. Cada bloco de configuração do VF tem um formato, comprimento e ID de bloco definidos por IHV.
- O driver VF, que é executado no sistema operacional convidado. Esse sistema operacional é executado em uma partição filho do Hyper-V.
-
O driver PF, que é executado no sistema operacional de gerenciamento.
Esse sistema operacional é executado dentro da partição pai do Hyper-V.
- No sistema operacional convidado, o NDIS emite uma solicitação de controle de E/S de IOCTL_VPCI_INVALIDATE_BLOCK solicitação. Quando esse IOCTL é concluído, o NDIS é notificado de que os dados de configuração do VF foram alterados.
-
No sistema operacional de gerenciamento, as seguintes etapas ocorrem:
- O driver de miniporto PF chama a função NdisMInvalidateConfigBlock para notificar o NDIS de que os dados de configuração do VF foram alterados e não são mais válidos.
-
O NDIS sinaliza a pilha de virtualização, que é executada no sistema operacional de gerenciamento, sobre a alteração nos dados do bloco de configuração do VF. A pilha de virtualização armazena em cache os dados do parâmetro BlockMask .
Nota Sempre que o driver de miniporto PF chama NdisMInvalidateConfigBlock, a pilha de virtualização ORs os dados do parâmetro BlockMask com o valor atual em seu cache.
- A pilha de virtualização notifica o driver VPCI (PCI virtual), que é executado no sistema operacional convidado, sobre a invalidação dos dados de configuração do VF. A pilha de virtualização envia os dados do parâmetro BlockMask armazenados em cache para o driver VPCI.
-
No sistema operacional convidado, as seguintes etapas ocorrem:
- O driver VPCI salva os dados de parâmetro BlockMask armazenados em cache no membro BlockMask da estrutura VPCI_INVALIDATE_BLOCK_OUTPUT associada à solicitação IOCTL_VPCI_INVALIDATE_BLOCK .
-
O driver VPCI conclui com êxito a solicitação de IOCTL_VPCI_INVALIDATE_BLOCK . Quando isso acontece, o NDIS emite uma solicitação de método OID de OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK para o driver de miniporto VF. Uma solicitação NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO é passada na solicitação OID. Essa estrutura contém os dados de parâmetro BlockMask armazenados em cache.
O NDIS também emite outro IOCTL_VPCI_INVALIDATE_BLOCK solicitação para lidar com notificações sucessivas de alterações nos dados de configuração do VF.
- Quando o driver VF manipula a solicitação OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK , ele lê dados dos blocos de configuração de VF especificados.
Para obter mais informações sobre a interface SR-IOV, consulte Visão geral da SR-IOV (Virtualização de E/S raiz única).
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Nenhum com suporte, com suporte no NDIS 6.30 e posterior. |
Servidor mínimo com suporte | Windows Server 2012 |
Plataforma de Destino | Universal |
Cabeçalho | ndis.h (inclua Ndis.h) |
Biblioteca | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Confira também
NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO