IOMMU_DEVICE_CREATE fungsi panggilan balik (wdm.h)
Mengambil objek perangkat fisik dan membuat token buram yang mewakili IOMMU_DMA_DEVICE yang dapat digunakan dengan API antarmuka IOMMU.
IOMMU_DEVICE_CREATE IommuDeviceCreate;
NTSTATUS IommuDeviceCreate(
PDEVICE_OBJECT DeviceObject,
PIOMMU_DEVICE_CREATION_CONFIGURATION DeviceConfig,
PIOMMU_DMA_DEVICE *DmaDeviceOut
)
{...}
DeviceObject
[Di] Penunjuk ke objek perangkat fisik perangkat yang akan diwakili IOMMU_DMA_DEVICE yang dibuat.
DeviceConfig
[Di, opsional] Penunjuk opsional ke daftar konfigurasi yang mungkin diperlukan untuk pembuatan perangkat, tergantung pada sistem. Saat ini, ini diperlukan untuk perangkat ACPI di ARM64.
DmaDeviceOut
[Out] Penunjuk ke token buram yang mewakili IOMMU_DMA_DEVICEyang dibuat.
STATUS_SUCCESS jika operasi berhasil. Kemungkinan nilai pengembalian kesalahan menyertakan kode status berikut.
Mengembalikan kode | Deskripsi |
---|---|
|
PDO yang disediakan mewakili perangkat yang tidak berada di belakang IOMMU. |
|
Input yang disediakan tidak cocok dengan dukungan sistem. |
|
Rutinitas gagal mengalokasikan sumber daya yang diperlukan untuk struktur **IOMMU_DMA_DEVICE**. |
|
Antarmuka IOMMU yang mendasar tidak diimplementasikan dengan benar untuk fungsi 'GetDeviceId'. |
|
PDO yang disediakan mewakili perangkat yang tidak berada di belakang IOMMU.
Jika perangkat tidak ditemukan di belakang IOMMU, perangkat seharusnya sudah memiliki akses memori fisik langsung dan platform tidak sesuai dengan DMA Guard. |
Untuk informasi selengkapnya, lihat nilai NTSTATUS.
Perangkat ACPI pada sistem ARM64 harus menyediakan pemetaan input melalui parameter DeviceConfig
. Semua jenis perangkat lain pada sistem ARM64 dan perangkat apa pun pada sistem non-ARM64 harus TIDAK menyediakan konfigurasi perangkat apa pun; jika tidak, panggilan akan gagal pada STATUS_INVALID_PARAMETER_2.
Syarat | Nilai |
---|---|
server minimum yang didukung | Windows Server 2022 |
Header | wdm.h (termasuk Wdm.h) |