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.

Sintaksis

C++
IOMMU_DEVICE_CREATE IommuDeviceCreate;

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

Parameter

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.

Mengembalikan nilai

STATUS_SUCCESS jika operasi berhasil. Kemungkinan nilai pengembalian kesalahan menyertakan kode status berikut.

Mengembalikan kode Deskripsi
STATUS_INVALID_PARAMETER
PDO yang disediakan mewakili perangkat yang tidak berada di belakang IOMMU.
STATUS_INVALID_PARAMETER_2
Input yang disediakan tidak cocok dengan dukungan sistem.
STATUS_INSUFFICIENT_RESOURCES
Rutinitas gagal mengalokasikan sumber daya yang diperlukan untuk struktur **IOMMU_DMA_DEVICE**.
STATUS_UNSUCCESSFUL
Antarmuka IOMMU yang mendasar tidak diimplementasikan dengan benar untuk fungsi 'GetDeviceId'.
STATUS_NOT_FOUND
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.

Komentar

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.

Persyaratan

Syarat Nilai
server minimum yang didukung Windows Server 2022
Header wdm.h (termasuk Wdm.h)

Lihat juga

IOMMU_DEVICE_CREATION_CONFIGURATION

IOMMU_DEVICE_DELETE

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX