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 |
---|---|
|
Il PDO fornito rappresenta un dispositivo non protetto da un IOMMU. |
|
Gli input forniti non corrispondono al supporto del sistema. |
|
La routine non è riuscita ad allocare le risorse necessarie per una struttura **IOMMU_DMA_DEVICE**. |
|
L'interfaccia IOMMU sottostante non è implementata correttamente per la funzione 'GetDeviceId'. |
|
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) |