Função NdisMGetVirtualFunctionLocation (ndis.h)
Um driver de miniporto chama a função NdisMGetVirtualFunctionLocation para consultar o local do dispositivo de uma VF (Função Virtual) PCI Express (PCIe) em um barramento PCI. O driver usa o local do dispositivo para construir a ID do SOLICITANTE PCIe (RID) para o VF.
Sintaxe
void NdisMGetVirtualFunctionLocation(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[out] PUSHORT SegmentNumber,
[out] PUCHAR BusNumber,
[out] PUCHAR FunctionNumber
);
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 da VF para a qual o local do dispositivo é retornado.
[out] SegmentNumber
Um ponteiro para uma variável fornecida pelo chamador na qual essa função retorna um valor USHORT para o número de segmento PCI atual. Esse valor especifica o grupo de barramentos PCI nos quais o dispositivo está anexado.
[out] BusNumber
Um ponteiro para uma variável fornecida pelo chamador na qual essa função retorna um valor UCHAR. Esse valor especifica o número atual do barramento PCI no qual o dispositivo está anexado.
[out] FunctionNumber
Um ponteiro para uma variável fornecida pelo chamador na qual essa função retorna um valor UCHAR. Esse valor especifica o número de função de um dispositivo lógico no dispositivo.
Valor de retorno
Nenhum
Observações
Quando ele lida com uma solicitação de método de OID_NIC_SWITCH_ALLOCATE_VF, o driver de miniporto PF deve retornar o RID para a VF que o driver alocou com êxito no adaptador de rede. O driver gera o RID da seguinte maneira:
- O driver primeiro chama a função NdisMGetVirtualFunctionLocation para obter as informações de localização relacionadas ao barramento para o VF.
- Em seguida, o motorista chama a macro NDIS_MAKE_RID com as informações de localização relacionadas ao barramento para gerar o RID.
Para obter mais informações sobre como alocar recursos de VF, consulte de sequência de inicialização de 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 ônibus virtual) como parte de seu pacote de driver SR-IOV , seu driver de miniporto não deverá chamar NdisMGetVirtualFunctionLocation. 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 GetLocation. Essa função é exposta a partir da interface GUID_PCI_VIRTUALIZATION_INTERFACE 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 | PASSIVE_LEVEL |
Consulte também