функция обратного вызова SRIOV_QUERY_VF_LUID (pcivirt.h)
Возвращает локальный уникальный идентификатор виртуальной функции PCI Express SR-IOV (VF).
Синтаксис
SRIOV_QUERY_VF_LUID SriovQueryVfLuid;
NTSTATUS SriovQueryVfLuid(
[in] PVOID Context,
[in] USHORT VfIndex,
[out] PLUID Luid
)
{...}
Параметры
[in] Context
Указатель на контекст, определяемый драйвером.
[in] VfIndex
Отсчитываемый от нуля индекс запрашиваемой виртуальной машины.
[out] Luid
Указатель на локальный уникальный идентификатор SR_IOV устройства, реализующего интерфейс.
Возвращаемое значение
Возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае верните соответствующий код ошибки NTSTATUS .
Комментарии
Эта функция обратного вызова реализуется драйвером физической функции (PF). Он вызывается, когда система хочет получить идентификатор конкретной виртуальной функции.
Драйвер PF регистрирует свою реализацию, задавая элемент QueryLuid SRIOV_DEVICE_INTERFACE_STANDARD_2, настраивая структуру WDF_QUERY_INTERFACE_CONFIG и вызывая WdfDeviceAddQueryInterface.
Ниже приведен пример реализации этой функции обратного вызова. Драйвер PF создает уникальный идентификатор, вызывая ZwAllocateLocallyUniqueId и сохраняет его в контексте устройства.
NTSTATUS
Virtualization_QueryLuid (
_In_ PVOID Context,
_Out_ PLUID Luid
)
{
PDEVICE_CONTEXT deviceContext;
PAGED_CODE();
deviceContext = (PDEVICE_CONTEXT)Context;
*Luid = deviceContext->Luid;
return STATUS_SUCCESS;
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 |
Минимальная версия сервера | Windows Server 2016 |
Целевая платформа | Windows |
Header | pcivirt.h |