IOMMU_MAP_LOGICAL_RANGE_EX fungsi panggilan balik (wdm.h)
Memetakan ruang alamat fisik ke ruang alamat logis IOMMU_DMA_DOMAIN.
Sintaks
IOMMU_MAP_LOGICAL_RANGE_EX IommuMapLogicalRangeEx;
NTSTATUS IommuMapLogicalRangeEx(
[in] PIOMMU_DMA_DOMAIN Domain,
[in] ULONG Permissions,
[in] PIOMMU_MAP_PHYSICAL_ADDRESS PhysicalAddressToMap,
[in, optional] PIOMMU_DMA_LOGICAL_ADDRESS ExplicitLogicalAddress,
[in, optional] PIOMMU_DMA_LOGICAL_ADDRESS MinLogicalAddress,
[in, optional] PIOMMU_DMA_LOGICAL_ADDRESS MaxLogicalAddress,
[out] PIOMMU_DMA_LOGICAL_ADDRESS LogicalAddressOut
)
{...}
Parameter
[in] Domain
Penunjuk ke IOMMU_DMA_DOMAIN tempat alamat logis yang dipetakan akan berada. Domain harus berjenis DomainTypeTranslate. Untuk informasi selengkapnya tentang jenis domain, lihat IOMMU_DMA_DOMAIN_TYPE.
[in] Permissions
Bidang bit yang mewakili izin yang akan diatur untuk rentang yang sedang dipetakan. Lihat Keterangan untuk bit izin yang tersedia.
[in] PhysicalAddressToMap
IOMMU_MAP_PHYSICAL_ADDRESS yang akan dipetakan ke domain.
[in, optional] ExplicitLogicalAddress
Alamat logis domain tempat alamat fisik harus dipetakan. Jika domain tidak dibuat dengan alokator logis terdaftar, maka bidang ini diperlukan. Jika domain dibuat dengan alokator logis terdaftar yang tidak mendukung alokasi alamat logis eksplisit, maka bidang ini harus NULL.
[in, optional] MinLogicalAddress
Alamat logis minimum (inklusif) yang diizinkan yang harus dipetakan oleh alamat fisik. Jika domain tidak dibuat dengan alokator logis terdaftar, maka bidang ini akan diabaikan.
[in, optional] MaxLogicalAddress
Alamat logika maksimum (inklusif) yang diizinkan yang harus dipetakan oleh alamat fisik. Jika domain tidak dibuat dengan alokator logis terdaftar, maka bidang ini akan diabaikan.
[out] LogicalAddressOut
Mengembalikan alamat logika yang dihasilkan dari pemetaan.
Nilai kembali
STATUS_SUCCESS jika operasi berhasil. Kemungkinan nilai pengembalian kesalahan mencakup kode status berikut.
Menampilkan kode | Deskripsi |
---|---|
STATUS_INVALID_PARAMETER_1 | Domain yang disediakan bukan berjenis DomainTypeTranslate. |
STATUS_INVALID_PARAMETER_3 | IOMMU_MAP_PHYSICAL_ADDRESS yang disediakan tidak mewakili memori fisik yang selaras dengan halaman dan memiliki ukuran yang merupakan kelipatan PAGE_SIZE. |
STATUS_INVALID_PARAMETER_4 | ExplicitLogicalAddress yang disediakan tidak selaras dengan halaman. |
STATUS_INVALID_PARAMETER_MIX | Alamat logis min dan maks yang disediakan tidak dapat dipenuhi. |
STATUS_IN_USE | ExplicitLogicalAddress sudah dipetakan atau dipetakan sebagian. |
STATUS_NOT_SUPPORTED | ExplicitLogicalAddress disediakan untuk domain dengan alokator logis yang tidak mengizinkan alokasi alamat logis eksplisit. Atau ExplicitLogicalAddress tidak disediakan untuk domain tanpa alokator logis. |
Untuk informasi selengkapnya, lihat Nilai NTSTATUS.
Keterangan
Untuk membatalkan peta alamat logis yang dibuat oleh IOMMU_MAP_LOGICAL_RANGE_EX, gunakan IOMMU_UNMAP_LOGICAL_RANGE; saat ini tidak ada Ex yang setara untuk rentang alamat logis yang tidak dipetakan.
Bidang izin adalah bitfield yang menjelaskan izin akses untuk halaman yang akan dipetakan.
Bit didefinisikan sebagai berikut:
Bit 0 = Read Access
Bit 1 = Write Access
Bits 31-2 = Reserved (0)
Persyaratan
Persyaratan | Nilai |
---|---|
Server minimum yang didukung | Windows Server 2022 |
Header | wdm.h (termasuk Wdm.h) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk