Função NdisMSetVirtualFunctionBusData (ndis.h)
Um driver de miniporto chama a função NdisMSetVirtualFunctionBusData para gravar dados no espaço de configuração PCI Express (PCIe) de uma VF (Função Virtual) no adaptador de rede.
Sintaxe
ULONG NdisMSetVirtualFunctionBusData(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
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 no qual os dados são gravados em seu espaço de configuração de PCI.
[in] Buffer
Um ponteiro para um buffer que contém os dados a serem gravados no espaço de configuração de PCI.
[in] Offset
O deslocamento, em unidades de bytes, no espaço de configuração de PCI no qual os dados são gravados.
[in] Length
O comprimento, em unidades de bytes, dos dados a serem gravados.
Retornar valor
NdisMSetVirtualFunctionBusData retorna o número de bytes gravados no espaço de configuração PCI. Se a operação de gravação falhar, NdisMSetVirtualFunctionBusData retornará zero.
Comentários
O driver de miniporto PF normalmente chama NdisMSetVirtualFunctionBusData quando lida com uma solicitação de método OID de OID_SRIOV_WRITE_VF_CONFIG_SPACE.
No entanto, o driver pode chamar essa função a qualquer momento após a virtualização ter sido habilitada no adaptador de rede por meio de uma chamada para NdisMEnableVirtualization.
Para obter mais informações sobre a comunicação backchannel dentro da interface sr-IOV (virtualização de E/S de raiz única), consulte Comunicação backchannel sr-IOV PF/VF.
Para obter mais informações sobre a interface SR-IOV, consulte Visão geral da SR-IOV (Virtualização de E/S de Raiz Única).
Interfacing to a Virtual Bus Driver
Se um IHV (fornecedor independente de hardware) fornecer um VBD (driver de barramento virtual) como parte de seu pacote de driver SR-IOV, seu driver de miniporto não deverá chamar NdisMSetVirtualFunctionBusData. Em vez disso, o driver deve fazer interface com o VBD por meio de um canal de comunicação privado e solicitar que o VBD chame SetVirtualFunctionData. Essa função é exposta da interface GUID_PCI_VIRTUALIZATION_INTERFACE que é compatível com o driver de barramento PCI subjacente.O VBD executado no sistema operacional de gerenciamento da partição pai do Hyper-V pode consultar a interface de GUID_PCI_VIRTUALIZATION_INTERFACE emitindo uma solicitação de IRP_MN_QUERY_INTERFACE para seu PDO (objeto de dispositivo físico) no barramento PCI. Essa solicitação deve ser feita de IRQL = PASSIVE_LEVEL. Nessa solicitação, o driver deve definir o parâmetro InterfaceType como GUID_PCI_VIRTUALIZATION_INTERFACE.
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
GUID_PCI_VIRTUALIZATION_INTERFACE