IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE Rückruffunktion (wdm.h)
Der logische Adressraum, der für zukünftige Zuordnungen verwendet werden kann, wird vorab zugewiesen. Dadurch kann ein Treiber den Fortschritt für zukünftige Karten-/Zuordnungsaufrufe sicherstellen.
Syntax
IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE IommuReserveLogicalAddressRange;
NTSTATUS IommuReserveLogicalAddressRange(
[in] PIOMMU_DMA_DOMAIN Domain,
[in] SIZE_T Size,
[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_TOKEN *LogicalAddressToken
)
{...}
Parameter
[in] Domain
Ein Zeiger auf den IOMMU_DMA_DOMAIN , zu dem die reservierte 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] Size
Die Größe des zu reservierenden logischen Adressbereichs in Bytes. Dieser Wert muss eine ganze Anzahl von Seiten darstellen.
[in, optional] ExplicitLogicalAddress
Die logische Domänenadresse, die reserviert werden soll. Wenn die Domäne nicht mit einem registrierten logischen Zuweisungsator erstellt wurde, ist dieses Feld erforderlich. Wenn die Domäne mit einem registrierten logischen Zuweisungsator erstellt wurde, der keine explizite logische Adresszuordnung unterstützt, muss dieses Feld NULL sein.
[in, optional] MinLogicalAddress
Die minimale (inklusive) zulässige logische Adresse, die reserviert werden kann. Wenn die Domäne nicht mit einem registrierten logischen Zuweisungsator erstellt wurde, wird dieses Feld ignoriert.
[in, optional] MaxLogicalAddress
Die maximale (inklusive) zulässige logische Adresse, die reserviert werden kann. Wenn die Domäne nicht mit einem registrierten logischen Zuweisungsator erstellt wurde, wird dieses Feld ignoriert.
[out] LogicalAddressToken
Gibt einen IOMMU_DMA_LOGICAL_ADDRESS_TOKEN zurück, der den reservierten logischen Adressbereich darstellt.
Rückgabewert
STATUS_SUCCESS , wenn der Vorgang erfolgreich ist. Mögliche Fehlerrückgabewerte umfassen die folgenden status-Codes.
Rückgabecode | Beschreibung |
---|---|
STATUS_INVALID_PARAMETER_1 | Die angegebene Domäne ist nicht vom Typ DomainTypeTranslate. |
STATUS_INVALID_PARAMETER_2 | Die angegebene Größe ist kein Vielfaches von PAGE_SIZE. |
STATUS_INVALID_PARAMETER_3 | Die bereitgestellte ExplicitLogicalAddress ist nicht seitenbündig. |
STATUS_INVALID_PARAMETER_MIX | Die angegebenen logischen Adressen min und max konnten nicht erfüllt werden. |
STATUS_IN_USE | Die ExplicitLogicalAddress ist bereits zugeordnet oder teilweise zugeordnet. |
STATUS_NOT_SUPPORTED | Eine ExplicitLogicalAddress wurde für eine Domäne mit einer logischen Zuordnung bereitgestellt, die keine explizite logische Adresszuordnung zulässt. Oder eine ExplicitLogicalAddress wurde für eine Domäne ohne logische Zuordnung nicht bereitgestellt. |
Weitere Informationen finden Sie unter NTSTATUS-Werte.
Hinweise
Token für logische Adressen können über IOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE freigegeben werden.
Token für logische Adressen sollten Teile ihrer logischen Adressbereiche aufweisen, die physischen Adressen über IOMMU_MAP_RESERVED_LOGICAL_RANGE und IOMMU_UNMAP_RESERVED_LOGICAL_RANGE zugeordnet sind.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Server) | Windows Server 2022 |
Kopfzeile | wdm.h (einschließen von Wdm.h) |
Weitere Informationen
IOMMU_DMA_LOGICAL_ADDRESS_TOKEN
IOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE