IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE fungsi panggilan balik (wdm.h)

Melakukan pra-alokasi ruang alamat logis yang dapat digunakan untuk pemetaan di masa mendatang. Ini memberi driver kemampuan untuk memastikan kemajuan penerusan untuk panggilan peta/batalkan peta di masa mendatang.

Sintaks

IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE IommuReserveLogicalAddressRange;

NTSTATUS IommuReserveLogicalAddressRange(
  [in]           PIOMMU_DMA_DOMAIN Domain,
  [in]           SIZE_T Size,
  [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_TOKEN *LogicalAddressToken
)
{...}

Parameter

[in] Domain

Penunjuk ke IOMMU_DMA_DOMAIN tempat alamat logis yang dipesan akan dimiliki. Domain harus berjenis DomainTypeTranslate. Untuk informasi selengkapnya tentang jenis domain, lihat IOMMU_DMA_DOMAIN_TYPE.

[in] Size

Ukuran, dalam byte, dari rentang alamat logis untuk dicadangkan. Nilai ini harus mewakili seluruh jumlah halaman.

[in, optional] ExplicitLogicalAddress

Alamat logis domain yang harus dicadangkan. 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 logika minimum (inklusif) yang diperbolehkan yang dapat dipesan. Jika domain tidak dibuat dengan alokator logis terdaftar, maka bidang ini akan diabaikan.

[in, optional] MaxLogicalAddress

Alamat logika maksimum (inklusif) yang diizinkan yang dapat dicadangkan. Jika domain tidak dibuat dengan alokator logis terdaftar, maka bidang ini akan diabaikan.

[out] LogicalAddressToken

Mengembalikan IOMMU_DMA_LOGICAL_ADDRESS_TOKEN yang mewakili rentang alamat logika yang dipesan.

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_2 Ukuran yang disediakan bukan kelipatan PAGE_SIZE.
STATUS_INVALID_PARAMETER_3 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

Token Alamat Logis dapat dibebaskan melalui IOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE.

Token Alamat Logis harus memiliki bagian dari rentang alamat logisnya yang dipetakan ke dan tidak dipetakan dari alamat fisik melalui IOMMU_MAP_RESERVED_LOGICAL_RANGE dan IOMMU_UNMAP_RESERVED_LOGICAL_RANGE.

Persyaratan

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

Lihat juga

IOMMU_DMA_LOGICAL_ADDRESS_TOKEN

IOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE

IOMMU_MAP_RESERVED_LOGICAL_RANGE

IOMMU_UNMAP_RESERVED_LOGICAL_RANGE