Partager via


IOMMU_DEVICE_CREATE fonction de rappel (wdm.h)

Prend un objet d’appareil physique et crée un jeton opaque représentant le 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

[In] Pointeur vers l’objet d’appareil physique de l’appareil que le IOMMU_DMA_DEVICE créé représentera.

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 obligatoire pour les appareils ACPI sur ARM64.

DmaDeviceOut

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

Valeur retournée

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

Code de retour Description
STATUS_INVALID_PARAMETER
L’AOP fourni représente un appareil qui n’est pas derrière une unité 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 les 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
L’AOP fourni représente un appareil qui n’est pas derrière une unité 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 DeviceConfig paramètre . Tous les autres types d’appareils sur les systèmes ARM64 et tous les appareils sur les systèmes non ARM64 ne doivent PAS fournir de configurations d’appareil ; sinon, l’appel échoue sur STATUS_INVALID_PARAMETER_2.

Configuration requise

Condition requise Valeur
Serveur minimal pris en charge Windows Server 2022
En-tête wdm.h (inclure Wdm.h)

Voir aussi

IOMMU_DEVICE_CREATION_CONFIGURATION

IOMMU_DEVICE_DELETE

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX