Condividi tramite


IOMMU_DEVICE_CREATE funzione di callback (wdm.h)

Accetta un oggetto dispositivo fisico e crea un token opaco che rappresenta il IOMMU_DMA_DEVICE che può essere usato con le API dell'interfaccia IOMMU.

Sintassi

IOMMU_DEVICE_CREATE IommuDeviceCreate;

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

Parametri

DeviceObject

[In] Puntatore all'oggetto dispositivo fisico del dispositivo rappresentato dal IOMMU_DMA_DEVICE creato.

DeviceConfig

[In, facoltativo] Puntatore facoltativo a un elenco di configurazioni che potrebbero essere necessarie per la creazione del dispositivo, a seconda del sistema. Attualmente, questa operazione è necessaria per i dispositivi ACPI in ARM64.

DmaDeviceOut

[Out] Puntatore al token opaco che rappresenta il IOMMU_DMA_DEVICEcreato.

Valore restituito

STATUS_SUCCESS se l'operazione ha esito positivo. I valori restituiti di errore possibili includono i codici di stato seguenti.

Codice restituito Descrizione
STATUS_INVALID_PARAMETER
Il PDO fornito rappresenta un dispositivo non protetto da un IOMMU.
STATUS_INVALID_PARAMETER_2
Gli input forniti non corrispondono al supporto del sistema.
STATUS_INSUFFICIENT_RESOURCES
La routine non è riuscita ad allocare le risorse necessarie per una struttura **IOMMU_DMA_DEVICE**.
STATUS_UNSUCCESSFUL
L'interfaccia IOMMU sottostante non è implementata correttamente per la funzione 'GetDeviceId'.
STATUS_NOT_FOUND
Il PDO fornito rappresenta un dispositivo non protetto da un IOMMU.

Se il dispositivo non viene trovato dietro un IOMMU, dovrebbe avere già accesso diretto alla memoria fisica e la piattaforma non è conforme a DMA Guard.

Per altre informazioni, vedere valori NTSTATUS.

Osservazioni

I dispositivi ACPI nei sistemi ARM64 devono fornire mapping di input tramite il parametro DeviceConfig. Tutti gli altri tipi di dispositivi nei sistemi ARM64 e in qualsiasi dispositivo in sistemi non ARM64 devono NON fornire configurazioni dei dispositivi; in caso contrario, la chiamata avrà esito negativo in STATUS_INVALID_PARAMETER_2.

Fabbisogno

Requisito Valore
server minimo supportato Windows Server 2022
intestazione wdm.h (include Wdm.h)

Vedere anche

IOMMU_DEVICE_CREATION_CONFIGURATION

IOMMU_DEVICE_DELETE

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX