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

IOMMU_DMA_DOMAIN_TYPE

IOMMU_MAP_PHYSICAL_ADDRESS

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX