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 interfaz IOMMU.

Sintaxis

IOMMU_DEVICE_CREATE IommuDeviceCreate;

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

Parámetros

DeviceObject

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

DeviceConfig

[En, opcional] 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

[out] Puntero al token opaco que representa el IOMMU_DMA_DEVICEcreado.

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 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 una 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.

Observaciones

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

Requisitos

Requisito Valor
servidor mínimo admitido Windows Server 2022
encabezado de wdm.h (incluya Wdm.h)

Consulte también

IOMMU_DEVICE_CREATION_CONFIGURATION

IOMMU_DEVICE_DELETE

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX