IOMMU_MAP_IDENTITY_RANGE_EX fonction de rappel (wdm.h)
Crée un mappage d’identité pour un espace d’adressage physique fourni dans le domaine fourni.
IOMMU_MAP_IDENTITY_RANGE_EX IommuMapIdentityRangeEx;
NTSTATUS IommuMapIdentityRangeEx(
[in] PIOMMU_DMA_DOMAIN Domain,
[in] ULONG Permissions,
[in] PIOMMU_MAP_PHYSICAL_ADDRESS PhysicalAddressToMap
)
{...}
[in] Domain
Pointeur vers le IOMMU_DMA_DOMAIN auquel appartient l’adresse physique mappée par l’identité. Le domaine doit être de type DomainTypeTranslate ou DomainTypePassThrough. Pour plus d’informations sur les types de domaine, consultez IOMMU_DMA_DOMAIN_TYPE.
[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.
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_1 | Le domaine fourni n’est pas de type DomainTypeTranslate ou DomainTypePassThrough. |
STATUS_INVALID_PARAMETER_3 | La IOMMU_MAP_PHYSICAL_ADDRESS fournie ne représente pas la mémoire physique alignée sur la page et a une taille multiple de PAGE_SIZE. |
STATUS_IN_USE | La plage d’identités est déjà mappée ou partiellement mappée. |
STATUS_NOT_SUPPORTED | Le domaine fourni contient un allocateur logique qui n’autorise pas l’allocation d’adresses logiques explicites. |
Pour annuler le mappage de l’adresse logique créée par IOMMU_MAP_IDENTITY_RANGE_EX, utilisez IOMMU_UNMAP_IDENTITY_RANGE_EX.
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)
Exigence | Valeur |
---|---|
serveur minimum pris en charge | Windows Server 2022 |
d’en-tête | wdm.h (include Wdm.h) |