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