Função NdisMGetVirtualFunctionBusData (ndis.h)
Um driver de miniporto chama a função NdisMGetVirtualFunctionBusData para ler dados do espaço de configuração do PCI Express (PCIe) de uma VF (Função Virtual) especificada no adaptador de rede.
Sintaxe
ULONG NdisMGetVirtualFunctionBusData(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[out] 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 do qual os dados do espaço de configuração de PCI são retornados.
[out] Buffer
Um ponteiro para um buffer que recebe os dados lidos do espaço de configuração PCI do VF.
[in] Offset
O deslocamento, em unidades de bytes, no espaço de configuração de PCI do VF do qual os dados são lidos.
[in] Length
O comprimento, em unidades de bytes, dos dados a serem lidos.
Valor de retorno
NdisMGetVirtualFunctionBusData retorna o número de bytes lidos do espaço de configuração do PCI. Se a operação de leitura falhar, NdisMGetVirtualFunctionBusData retornará zero.
Observações
O driver de miniporto PF normalmente chama NdisMGetVirtualFunctionBusData ao lidar com uma solicitação de método OID de OID_SRIOV_READ_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 como consultar o espaço de configuração PCI do VF, consulte Consultando o espaço de configuração de PCI para uma função virtual.
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 barramento virtual) como parte de seu pacote de driver SR-IOV , seu driver de miniporto não deverá chamar NdisMGetVirtualFunctionBusData. Em vez disso, o driver deve fazer interface com o VBD por meio de um canal de comunicação privado e solicitar que a chamada do VBD GetVirtualFunctionData. 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