Compartir a través de


IOMMU_DEVICE_CREATE función de devolución de llamada (wdm.h)

Toma un objeto de dispositivo físico y crea un token opaco que representa el IOMMU_DMA_DEVICE que se puede usar con las API de la interfaz IOMMU.

Sintaxis

IOMMU_DEVICE_CREATE IommuDeviceCreate;

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

Parámetros

DeviceObject

[In] Puntero al objeto de dispositivo físico del dispositivo que representará el IOMMU_DMA_DEVICE creado.

DeviceConfig

[In, optional] Puntero opcional a una lista de configuraciones que pueden ser necesarias para la creación de dispositivos, en función del sistema. Actualmente, esto es necesario para dispositivos ACPI en ARM64.

DmaDeviceOut

[Salida] Puntero al token opaco que representa el IOMMU_DMA_DEVICE creado.

Valor devuelto

STATUS_SUCCESS si la operación se realiza correctamente. Entre los posibles valores devueltos de error se incluyen los siguientes códigos de estado.

Código devuelto Descripción
STATUS_INVALID_PARAMETER
El PDO proporcionado representa un dispositivo que no está detrás de una IOMMU.
STATUS_INVALID_PARAMETER_2
Las entradas proporcionadas no coinciden con la compatibilidad del sistema.
STATUS_INSUFFICIENT_RESOURCES
La rutina no pudo asignar recursos necesarios para una estructura **IOMMU_DMA_DEVICE**.
STATUS_UNSUCCESSFUL
La interfaz de IOMMU subyacente no se implementa correctamente para la función "GetDeviceId".
STATUS_NOT_FOUND
El PDO proporcionado representa un dispositivo que no está detrás de una IOMMU.

Si el dispositivo no se encuentra detrás de un IOMMU, ya debería tener acceso directo a la memoria física y la plataforma no es compatible con DMA Guard.

Para obtener más información, vea Valores NTSTATUS.

Comentarios

Los dispositivos ACPI en sistemas ARM64 deben proporcionar asignaciones de entrada a través del DeviceConfig parámetro . Todos los demás tipos de dispositivos en sistemas ARM64 y cualquier dispositivo en sistemas que no son ARM64 no deben proporcionar ninguna configuración de dispositivo; de lo contrario, se producirá un error en la llamada a STATUS_INVALID_PARAMETER_2.

Requisitos

Requisito Value
Servidor mínimo compatible Windows Server 2022
Encabezado wdm.h (incluya Wdm.h)

Consulte también

IOMMU_DEVICE_CREATION_CONFIGURATION

IOMMU_DEVICE_DELETE

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX