функция обратного вызова IOMMU_DEVICE_CREATE (wdm.h)

Принимает объект физического устройства и создает непрозрачный маркер, представляющий IOMMU_DMA_DEVICE , который можно использовать с API интерфейса IOMMU.

Синтаксис

IOMMU_DEVICE_CREATE IommuDeviceCreate;

NTSTATUS IommuDeviceCreate(
  PDEVICE_OBJECT DeviceObject,
  PIOMMU_DEVICE_CREATION_CONFIGURATION DeviceConfig,
  PIOMMU_DMA_DEVICE *DmaDeviceOut
)
{...}

Параметры

DeviceObject

[Вход] Указатель на физический объект устройства, который будет представлять созданный IOMMU_DMA_DEVICE .

DeviceConfig

[Вход, необязательный параметр] Необязательный указатель на список конфигураций, которые могут потребоваться для создания устройства в зависимости от системы. В настоящее время это необходимо для устройств ACPI в ARM64.

DmaDeviceOut

[Out] Указатель на непрозрачный маркер, представляющий созданный IOMMU_DMA_DEVICE.

Возвращаемое значение

STATUS_SUCCESS , если операция выполнена успешно. Возможные возвращаемые значения ошибок включают следующие коды состояния.

Код возврата Описание
STATUS_INVALID_PARAMETER
Предоставленный PDO представляет устройство, которое не находится за IOMMU.
STATUS_INVALID_PARAMETER_2
Предоставленные входные данные не соответствуют системной поддержке.
STATUS_INSUFFICIENT_RESOURCES
Подпрограмме не удалось выделить ресурсы, необходимые для структуры **IOMMU_DMA_DEVICE**.
STATUS_UNSUCCESSFUL
Базовый интерфейс IOMMU неправильно реализован для функции GetDeviceId.
STATUS_NOT_FOUND
Предоставленный PDO представляет устройство, которое не находится за IOMMU.

Если устройство не найдено за IOMMU, оно уже должно иметь прямой доступ к физической памяти, а платформа не соответствует требованиям DMA Guard.

Дополнительные сведения см. в разделе Значения NTSTATUS.

Комментарии

Устройства ACPI в системах ARM64 должны предоставлять сопоставления входных данных с помощью DeviceConfig параметра . Все остальные типы устройств в системах ARM64 и любые устройства в системах, отличных от ARM64 , НЕ должны предоставлять конфигурации устройств; В противном случае вызов завершится сбоем при STATUS_INVALID_PARAMETER_2.

Требования

Требование Значение
Минимальная версия сервера Windows Server 2022
Верхняя часть wdm.h (включая Wdm.h)

См. также раздел

IOMMU_DEVICE_CREATION_CONFIGURATION

IOMMU_DEVICE_DELETE

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX