Freigeben über


IOMMU_DEVICE_CREATE Rückruffunktion (wdm.h)

Übernimmt ein physisches Geräteobjekt und erstellt ein undurchsichtiges Token, das die IOMMU_DMA_DEVICE darstellt, die mit den IOMMU-Schnittstellen-APIs verwendet werden kann.

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 das erstellte IOMMU_DMA_DEVICE darstellt.

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_DEVICE darstellt.

Rückgabewert

STATUS_SUCCESS , wenn der Vorgang erfolgreich ist. Mögliche Fehlerrückgabewerte umfassen die folgenden status-Codes.

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

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

Weitere Informationen finden Sie unter NTSTATUS-Werte.

Hinweise

ACPI-Geräte auf ARM64-Systemen müssen Eingabezuordnungen über den DeviceConfig Parameter bereitstellen. Alle anderen Gerätetypen auf ARM64-Systemen und alle Geräte auf Nicht-ARM64-Systemen sollten KEINE Gerätekonfigurationen bereitstellen. Andernfalls schlägt der Aufruf bei STATUS_INVALID_PARAMETER_2 fehl.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Server) Windows Server 2022
Kopfzeile wdm.h (einschließen von Wdm.h)

Weitere Informationen

IOMMU_DEVICE_CREATION_CONFIGURATION

IOMMU_DEVICE_DELETE

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX