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