Partager via


IOMMU_MAP_RESERVED_LOGICAL_RANGE fonction de rappel (wdm.h)

Mappe une plage logique réservée.

Contrairement à IOMMU_MAP_LOGICAL_RANGE_EX, cela n’est pas garanti de ne pas effectuer d’allocations de mémoire, car elles sont supposées avoir déjà été effectuées précédemment avec IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE.

Syntaxe

IOMMU_MAP_RESERVED_LOGICAL_RANGE IommuMapReservedLogicalRange;

NTSTATUS IommuMapReservedLogicalRange(
  [in, out] PIOMMU_DMA_LOGICAL_ADDRESS_TOKEN LogicalAddressToken,
  [in]      SIZE_T Offset,
  [in]      ULONG Permissions,
  [in]      PIOMMU_MAP_PHYSICAL_ADDRESS PhysicalAddressToMap,
  [out]     PIOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT MappedSegment
)
{...}

Paramètres

[in, out] LogicalAddressToken

IOMMU_DMA_LOGICAL_ADDRESS_TOKEN à mapper.

[in] Offset

Offset, en octets, dans le jeton d’adresse logique, représentant l’adresse logique de base à mapper.

[in] Permissions

Champ de bits représentant les autorisations à définir pour la plage mappée. Consultez les remarques relatives aux bits d’autorisation disponibles.

[in] PhysicalAddressToMap

La IOMMU_MAP_PHYSICAL_ADDRESS qui sera mappée au domaine.

[out] MappedSegment

Retourne le IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT représentant un segment du jeton d’adresse logique qui est désormais mappé.

Valeur de retour

STATUS_SUCCESS si l’opération réussit. Les valeurs de retour d’erreur possibles incluent les codes d’état suivants.

Retourner le code Description
STATUS_INVALID_PARAMETER_2 Le décalage fourni n’est pas aligné sur la page.
STATUS_INVALID_PARAMETER_4 L’adresse physique fournie n’est pas alignée sur les pages et/ou n’est pas un nombre entier de pages en taille.
STATUS_RESOURCE_IN_USE La plage d’adresses logique représentée dans le jeton d’adresse logique est déjà entièrement ou partiellement mappée.
STATUS_UNSUCCESSFUL Le jeton d’adresse logique est actuellement supprimé.

Pour plus d’informations, consultez valeurs NTSTATUS.

Remarques

Un segment mappé de jeton d’adresse logique peut être démapé via IOMMU_UNMAP_RESERVED_LOGICAL_RANGE.

Le champ Autorisations est un champ de bits qui décrit les autorisations d’accès pour que les pages soient mappées.

Les bits sont définis comme suit :

Bit 0 = Read Access

Bit 1 = Write Access

Bits 31-2 = Reserved (0)

Exigences

Exigence Valeur
serveur minimum pris en charge Windows Server 2022
d’en-tête wdm.h (include Wdm.h)

Voir aussi

IOMMU_UNMAP_RESERVED_LOGICAL_RANGE

IOMMU_MAP_PHYSICAL_ADDRESS

IOMMU_DMA_LOGICAL_ADDRESS_TOKEN

IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT