Partilhar via


Função NdisMSetVirtualFunctionBusData (ndis.h)

Um driver de miniporto chama a função NdisMSetVirtualFunctionBusData para gravar dados no espaço de configuração do PCI Express (PCIe) de uma VF (Função Virtual) no adaptador de rede.

ObservaçãoNdisMGetVirtualFunctionBusData só deve ser chamado pelo driver de miniporto para a função física PCIe do adaptador de rede (PF).
 

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 do 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.

Valor de retorno

NdisMSetVirtualFunctionBusData retorna o número de bytes gravados no espaço de configuração de PCI. Se a operação de gravação falhar, NdisMSetVirtualFunctionBusData retornará zero.

Observações

O driver de miniporto PF normalmente chama NdisMSetVirtualFunctionBusData ao lidar 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 de virtualização de E/S raiz única (SR-IOV), consulte SR-IOVde Comunicação Backchannel PF/VF.

Para obter mais informações sobre a interface SR-IOV, consulte Visão geral da virtualização de E/S de Raiz Única (SR-IOV).

interfiguração para um motorista de ônibus virtual

Se um IHV (fornecedor de hardware independente) fornecer um VBD (driver de ônibus 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 a interface com o VBD por meio de um canal de comunicação privado e solicitar que a chamada do VBD SetVirtualFunctionData. Essa função é exposta a partir da interface de GUID_PCI_VIRTUALIZATION_INTERFACE que é compatível com o driver de ônibus PCI subjacente.

O VBD executado no sistema operacional de gerenciamento da partição pai Hyper-V pode consultar a interface GUID_PCI_VIRTUALIZATION_INTERFACE emitindo uma solicitação IRP_MN_QUERY_INTERFACE para seu objeto de dispositivo físico (PDO) no barramento PCI. Essa solicitação deve ser feita de IRQL = PASSIVE_LEVEL. Nesta solicitação, o driver deve definir o parâmetro InterfaceType como GUID_PCI_VIRTUALIZATION_INTERFACE.

Requisitos

Requisito Valor
de cliente com suporte mínimo Nenhum com suporte, com suporte no NDIS 6.30 e posterior.
servidor com suporte mínimo Windows Server 2012
da Plataforma de Destino Universal
cabeçalho ndis.h (inclua Ndis.h)
biblioteca Ndis.lib
IRQL <= DISPATCH_LEVEL

Consulte também

GUID_PCI_VIRTUALIZATION_INTERFACE

NdisMEnableVirtualization

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_WRITE_VF_CONFIG_SPACE

SetVirtualFunctionData