Partager via


IOMMU_DEVICE_CREATE fonction de rappel (wdm.h)

Prend un objet d’appareil physique et crée un jeton opaque représentant l'IOMMU_DMA_DEVICE qui peut être utilisé avec les API d’interface IOMMU.

Syntaxe

IOMMU_DEVICE_CREATE IommuDeviceCreate;

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

Paramètres

DeviceObject

[Dans] Pointeur vers l’objet d’appareil physique de l’appareil représenté par l'IOMMU_DMA_DEVICE créé.

DeviceConfig

[Dans, facultatif] Pointeur facultatif vers une liste de configurations qui peuvent être nécessaires pour la création d’appareils, en fonction du système. Actuellement, cela est nécessaire pour les appareils ACPI sur ARM64.

DmaDeviceOut

[Out] Pointeur vers le jeton opaque représentant le IOMMU_DMA_DEVICEcréé.

Valeur de retour

STATUS_SUCCESS si l’opération réussit. Les valeurs de retour d’erreur possibles incluent les codes d’état suivants.

Retourner le code Description
STATUS_INVALID_PARAMETER
Le PDO fourni représente un appareil qui n’est pas derrière un IOMMU.
STATUS_INVALID_PARAMETER_2
Les entrées fournies ne correspondent pas à la prise en charge du système.
STATUS_INSUFFICIENT_RESOURCES
La routine n’a pas pu allouer des ressources requises pour une structure **IOMMU_DMA_DEVICE**.
STATUS_UNSUCCESSFUL
L’interface IOMMU sous-jacente n’est pas correctement implémentée pour la fonction « GetDeviceId ».
STATUS_NOT_FOUND
Le PDO fourni représente un appareil qui n’est pas derrière un IOMMU.

Si l’appareil n’est pas trouvé derrière un IOMMU, il doit déjà disposer d’un accès direct à la mémoire physique et la plateforme n’est pas conforme À DMA Guard.

Pour plus d’informations, consultez valeurs NTSTATUS.

Remarques

Les appareils ACPI sur les systèmes ARM64 doivent fournir des mappages d’entrée via le paramètre DeviceConfig. Tous les autres types d’appareils sur les systèmes ARM64 et tous les appareils sur les systèmes non ARM64 doivent PAS fournir des configurations d’appareil ; sinon, l’appel échoue sur STATUS_INVALID_PARAMETER_2.

Exigences

Exigence Valeur
serveur minimum pris en charge Windows Server 2022
d’en-tête wdm.h (include Wdm.h)

Voir aussi

IOMMU_DEVICE_CREATION_CONFIGURATION

IOMMU_DEVICE_DELETE

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX