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 |
---|---|
|
El PDO proporcionado representa un dispositivo que no está detrás de una IOMMU. |
|
Las entradas proporcionadas no coinciden con la compatibilidad del sistema. |
|
La rutina no pudo asignar recursos necesarios para una estructura **IOMMU_DMA_DEVICE**. |
|
La interfaz de IOMMU subyacente no se implementa correctamente para la función "GetDeviceId". |
|
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) |