функция обратного вызова 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 , если операция выполнена успешно. Возможные возвращаемые значения ошибок включают следующие коды состояния.
Код возврата | Описание |
---|---|
|
Предоставленный PDO представляет устройство, которое не находится за IOMMU. |
|
Предоставленные входные данные не соответствуют системной поддержке. |
|
Подпрограмме не удалось выделить ресурсы, необходимые для структуры **IOMMU_DMA_DEVICE**. |
|
Базовый интерфейс IOMMU неправильно реализован для функции GetDeviceId. |
|
Предоставленный PDO представляет устройство, которое не находится за IOMMU.
Если устройство не найдено за IOMMU, оно уже должно иметь прямой доступ к физической памяти, а платформа не соответствует требованиям DMA Guard. |
Дополнительные сведения см. в разделе Значения NTSTATUS.
Комментарии
Устройства ACPI в системах ARM64 должны предоставлять сопоставления входных данных с помощью DeviceConfig
параметра . Все остальные типы устройств в системах ARM64 и любые устройства в системах, отличных от ARM64 , НЕ должны предоставлять конфигурации устройств; В противном случае вызов завершится сбоем при STATUS_INVALID_PARAMETER_2.
Требования
Требование | Значение |
---|---|
Минимальная версия сервера | Windows Server 2022 |
Верхняя часть | wdm.h (включая Wdm.h) |