IOMMU_MAP_LOGICAL_RANGE_EX Rückruffunktion (wdm.h)

Ordnet den physischen Adressraum dem logischen Adressraum eines IOMMU_DMA_DOMAIN zu.

Syntax

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

Ein Zeiger auf die IOMMU_DMA_DOMAIN , zu der die zugeordnete logische Adresse gehört. Die Domäne muss vom Typ DomainTypeTranslate sein. Weitere Informationen zu Domänentypen finden Sie unter IOMMU_DMA_DOMAIN_TYPE.

[in] Permissions

Ein Bitfeld, das die Berechtigungen darstellt, die für den zugeordneten Bereich festgelegt werden sollen. Informationen zu den verfügbaren Berechtigungsbits finden Sie unter Hinweise.

[in] PhysicalAddressToMap

Die IOMMU_MAP_PHYSICAL_ADDRESS , die der Domäne zugeordnet wird.

[in, optional] ExplicitLogicalAddress

Die logische Domänenadresse, der die physische Adresse zugeordnet werden soll. Wenn die Domäne nicht mit einem registrierten logischen Allocator erstellt wurde, ist dieses Feld erforderlich. Wenn die Domäne mit einer registrierten logischen Zuweisung erstellt wurde, die keine explizite logische Adresszuordnung unterstützt, muss dieses Feld NULL sein.

[in, optional] MinLogicalAddress

Die minimale (inklusive) zulässige logische Adresse, der die physische Adresse zugeordnet werden soll. Wenn die Domäne nicht mit einer registrierten logischen Zuweisung erstellt wurde, wird dieses Feld ignoriert.

[in, optional] MaxLogicalAddress

Die maximal zulässige (inklusive) logische Adresse, der die physische Adresse zugeordnet werden soll. Wenn die Domäne nicht mit einer registrierten logischen Zuweisung erstellt wurde, wird dieses Feld ignoriert.

[out] LogicalAddressOut

Gibt die resultierende logische Adresse aus der Zuordnung zurück.

Rückgabewert

STATUS_SUCCESS , wenn der Vorgang erfolgreich ist. Mögliche Fehlerrückgabewerte sind die folgenden status Codes.

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER_1 Die bereitgestellte Domäne ist nicht vom Typ DomainTypeTranslate.
STATUS_INVALID_PARAMETER_3 Die bereitgestellte IOMMU_MAP_PHYSICAL_ADDRESS stellt keinen physischen Speicher dar, der seitenbündig ausgerichtet ist und eine Größe hat, die ein Vielfaches von PAGE_SIZE ist.
STATUS_INVALID_PARAMETER_4 Die bereitgestellte ExplicitLogicalAddress ist nicht seitenbündig.
STATUS_INVALID_PARAMETER_MIX Die angegebenen minimalen und maximalen logischen Adressen konnten nicht erfüllt werden.
STATUS_IN_USE ExplicitLogicalAddress ist bereits zugeordnet oder teilweise zugeordnet.
STATUS_NOT_SUPPORTED Eine ExplicitLogicalAddress wurde für eine Domäne mit einer logischen Zuweisung bereitgestellt, die keine explizite logische Adresszuordnung zulässt. Oder für eine Domäne ohne logische Zuweisung wurde keine ExplicitLogicalAddress bereitgestellt.

Weitere Informationen finden Sie unter NTSTATUS-Werte.

Hinweise

Verwenden Sie zum Aufheben der Zuordnung der logischen Adresse , die von IOMMU_MAP_LOGICAL_RANGE_EX erstellt wurde, IOMMU_UNMAP_LOGICAL_RANGE. es gibt derzeit keine Ex-Entsprechung für die Entfappung des logischen Adressbereichs.

Das Berechtigungsfeld ist ein Bitfeld, das die Zugriffsberechtigungen für die zu zuordnenden Seiten beschreibt.

Die Bits werden wie folgt definiert:

Bit 0 = Read Access

Bit 1 = Write Access

Bits 31-2 = Reserved (0)

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Server) Windows Server 2022
Kopfzeile wdm.h (wdm.h einschließen)

Weitere Informationen

IOMMU_DMA_DOMAIN_TYPE

IOMMU_MAP_PHYSICAL_ADDRESS

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX