функция обратного вызова SRIOV_QUERY_LUID (pcivirt.h)
Возвращает локальный уникальный идентификатор устройства SR-IOV.
Синтаксис
SRIOV_QUERY_LUID SriovQueryLuid;
NTSTATUS SriovQueryLuid(
[in] PVOID Context,
[out] PLUID Luid
)
{...}
Параметры
[in] Context
Указатель на определяемый драйвером контекст.
[out] Luid
Указатель на локальный уникальный идентификатор устройства SR_IOV, реализующего интерфейс.
Возвращаемое значение
Возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае верните соответствующий код ошибки NTSTATUS.
Замечания
Эта функция обратного вызова реализуется драйвером физической функции (PF). Он вызывается, когда система хочет получить идентификатор конкретной виртуальной функции.
Драйвер PF регистрирует свою реализацию путем задания QueryLuid члена SRIOV_DEVICE_INTERFACE_STANDARD, настройки структуры 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 |
целевая платформа | Виндоус |
заголовка | pcivirt.h |
IRQL | PASSIVE_LEVEL |