Freigeben über


IOMMU_DEVICE_CREATE Rückruffunktion (wdm.h)

Verwendet ein physisches Geräteobjekt und erstellt ein undurchsichtiges Token, das die IOMMU_DMA_DEVICE darstellt, die mit den IOMMU-Schnittstellen-APIs verwendet werden können.

Syntax

IOMMU_DEVICE_CREATE IommuDeviceCreate;

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

Parameter

DeviceObject

[In] Ein Zeiger auf das physische Geräteobjekt des Geräts, das vom erstellten IOMMU_DMA_DEVICE dargestellt wird.

DeviceConfig

[In, optional] Ein optionaler Zeiger auf eine Liste von Konfigurationen, die je nach System möglicherweise für die Geräteerstellung erforderlich sind. Derzeit ist dies für ACPI-Geräte auf ARM64 erforderlich.

DmaDeviceOut

[Out] Ein Zeiger auf das undurchsichtige Token, das die erstellte IOMMU_DMA_DEVICEdarstellt.

Rückgabewert

STATUS_SUCCESS, wenn der Vorgang erfolgreich ist. Mögliche Fehlerrückgabewerte sind die folgenden Statuscodes.

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER
Die bereitgestellte PDO stellt ein Gerät dar, das sich nicht hinter einer IOMMU befindet.
STATUS_INVALID_PARAMETER_2
Die bereitgestellten Eingaben stimmen nicht mit der Systemunterstützung überein.
STATUS_INSUFFICIENT_RESOURCES
Die Routine konnte ressourcen nicht zuordnen, die für eine **IOMMU_DMA_DEVICE**-Struktur erforderlich sind.
STATUS_UNSUCCESSFUL
Die zugrunde liegende IOMMU-Schnittstelle ist für die Funktion "GetDeviceId" nicht ordnungsgemäß implementiert.
STATUS_NOT_FOUND
Die bereitgestellte PDO stellt ein Gerät dar, das sich nicht hinter einer IOMMU befindet.

Wenn das Gerät hinter einer IOMMU nicht gefunden wird, sollte es bereits über direkten physischen Speicherzugriff verfügen, und die Plattform ist nicht DMA Guard kompatibel.

Weitere Informationen finden Sie unter NTSTATUS Values.

Bemerkungen

ACPI-Geräte auf ARM64-Systemen müssen Über den parameter DeviceConfig Eingabezuordnungen bereitstellen. Alle anderen Gerätetypen auf ARM64-Systemen und geräte auf Nicht-ARM64-Systemen sollten NICHT Gerätekonfigurationen bereitstellen; andernfalls schlägt der Anruf bei STATUS_INVALID_PARAMETER_2fehl.

Anforderungen

Anforderung Wert
mindestens unterstützte Server- Windows Server 2022
Header- wdm.h (include Wdm.h)

Siehe auch

IOMMU_DEVICE_CREATION_CONFIGURATION

IOMMU_DEVICE_DELETE

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX