IOMMU_DEVICE_CREATE funzione di callback (wdm.h)
Accetta un oggetto dispositivo fisico e crea un token opaco che rappresenta la IOMMU_DMA_DEVICE che può essere usata 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 che il IOMMU_DMA_DEVICE creato rappresenterà.
DeviceConfig
[In, facoltativo] Puntatore facoltativo a un elenco di configurazioni che potrebbero essere necessarie per la creazione del dispositivo, a seconda del sistema. Attualmente, questo è necessario per i dispositivi ACPI in ARM64.
DmaDeviceOut
[Out] Puntatore al token opaco che rappresenta il IOMMU_DMA_DEVICE creato.
Valore restituito
STATUS_SUCCESS se l'operazione ha esito positivo. I valori restituiti degli errori possibili includono i codici di stato seguenti.
Codice restituito | Descrizione |
---|---|
|
Il PDO fornito rappresenta un dispositivo che non è dietro 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 viene implementata correttamente per la funzione 'GetDeviceId'. |
|
Il PDO fornito rappresenta un dispositivo che non è dietro un IOMMU.
Se il dispositivo non viene trovato dietro un IOMMU, dovrebbe già avere accesso diretto alla memoria fisica e la piattaforma non è conforme a DMA Guard. |
Per altre informazioni, vedere Valori NTSTATUS.
Commenti
I dispositivi ACPI nei sistemi ARM64 devono fornire mapping di input tramite il DeviceConfig
parametro. Tutti gli altri tipi di dispositivo nei sistemi ARM64 e in tutti i dispositivi nei sistemi non ARM64 non devono fornire configurazioni dei dispositivi; in caso contrario, la chiamata avrà esito negativo in STATUS_INVALID_PARAMETER_2.
Requisiti
Requisito | Valore |
---|---|
Server minimo supportato | Windows Server 2022 |
Intestazione | wdm.h (include Wdm.h) |