IOMMU_MAP_RESERVED_LOGICAL_RANGE fonction de rappel (wdm.h)
Mappe une plage logique réservée.
Contrairement à IOMMU_MAP_LOGICAL_RANGE_EX, il est garanti de ne pas effectuer d’allocations de mémoire, car elles sont supposées avoir déjà été effectuées plus tôt 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
Le IOMMU_DMA_LOGICAL_ADDRESS_TOKEN à mapper.
[in] Offset
Décalage, 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 en cours de mappage. Consultez Les notes pour connaître les bits d’autorisation disponibles.
[in] PhysicalAddressToMap
Le IOMMU_MAP_PHYSICAL_ADDRESS qui sera mappé au domaine.
[out] MappedSegment
Retourne le IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT représentant un segment du jeton d’adresse logique qui est maintenant mappé.
Valeur retournée
STATUS_SUCCESS si l’opération réussit. Les valeurs de retour d’erreur possibles incluent les codes status suivants.
Code de retour | 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 la page et/ou n’est pas un nombre entier de pages. |
STATUS_RESOURCE_IN_USE | La plage d’adresses logiques 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 en cours de suppression. |
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 les pages à mapper.
Les bits sont définis comme suit :
Bit 0 = Read Access
Bit 1 = Write Access
Bits 31-2 = Reserved (0)
Configuration requise
Condition requise | Valeur |
---|---|
Serveur minimal pris en charge | Windows Server 2022 |
En-tête | wdm.h (include Wdm.h) |
Voir aussi
IOMMU_UNMAP_RESERVED_LOGICAL_RANGE