Поделиться через


функция обратного вызова 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 (include Wdm.h)

См. также

IOMMU_DEVICE_CREATION_CONFIGURATION

IOMMU_DEVICE_DELETE

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX