Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Fornece a ID do fornecedor e do dispositivo para uma VF (função virtual) do PCI Express SR-IOV a ser usada para gerar uma ID de Plug and Play mais genérica para o VF. Essas IDs não podem ser lidas diretamente do espaço de configuração do VF.
Sintaxe
SRIOV_GET_VENDOR_AND_DEVICE_IDS SriovGetVendorAndDeviceIds;
void SriovGetVendorAndDeviceIds(
[in] PVOID Context,
[in] USHORT VfIndex,
[out] PUSHORT VendorId,
[out] PUSHORT DeviceId
)
{...}
Parâmetros
[in] Context
Um ponteiro para um contexto definido pelo driver.
[in] VfIndex
Um índice baseado em zero do VF ao qual essa operação de gravação se aplica.
[out] VendorId
Um ponteiro para uma variável USHORT que é preenchida com a ID do fornecedor da VF.
[out] DeviceId
Um ponteiro para uma variável USHORT que é preenchida com a ID do dispositivo do VF.
Valor de retorno
Nenhum
Observações
Essa função de retorno de chamada é implementada pelo driver de função física (PF). Ele é invocado quando o sistema deseja recuperar o fornecedor e os identificadores de dispositivo do VF especificado.
A Especificação de SR-IOV do PCI Express requer que todos os VFs tenham as mesmas IDs de fornecedor e de dispositivo. Esse é um requisito de hardware em conformidade. No entanto, é possível provisionar VFs de modo que suas funcionalidades diferem umas das outras, e geralmente é útil carregar drivers diferentes em hardwares diferentes. Portanto, o Windows permite que o driver PF forneça IDs de Dispositivo e Fornecedor separadas (com códigos de classe diferentes, por meio das interfaces de espaço de configuração), de modo que cada VF possa aparecer com as IDs de Plug and Play mais apropriadas para seu uso.
O driver PF registra sua implementação definindo o GetVendorAndDevice membro do SRIOV_DEVICE_INTERFACE_STANDARD, configurando uma estrutura de WDF_QUERY_INTERFACE_CONFIG e chamando WdfDeviceAddQueryInterface.
Aqui está um exemplo de implementação dessa função de retorno de chamada.
Virtualization_GetVendorAndDevice (
_In_ PVOID Context,
_In_ USHORT VfIndex,
_Out_ PUSHORT VendorId,
_Out_ PUSHORT DeviceId
)
{
PDEVICE_CONTEXT deviceContext;
UNREFERENCED_PARAMETER(VfIndex);
PAGED_CODE();
deviceContext = (PDEVICE_CONTEXT)Context;
*VendorId = deviceContext->VendorId;
*DeviceId = deviceContext->DeviceId;
}
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 10 |
servidor com suporte mínimo | Windows Server 2016 |
da Plataforma de Destino | Windows |
cabeçalho | pcivirt.h |
IRQL | PASSIVE_LEVEL |