IOMMU_MAP_RESERVED_LOGICAL_RANGE funzione di callback (wdm.h)
Esegue il mapping di un intervallo logico riservato.
A differenza di IOMMU_MAP_LOGICAL_RANGE_EX, si garantisce che non esegua alcuna allocazione di memoria perché si presuppone che siano già state eseguite in precedenza con IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE.
Sintassi
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
)
{...}
Parametri
[in, out] LogicalAddressToken
Il IOMMU_DMA_LOGICAL_ADDRESS_TOKEN a cui eseguire il mapping.
[in] Offset
Offset, in byte, nel token di indirizzo logico, che rappresenta l'indirizzo logico di base di cui eseguire il mapping.
[in] Permissions
Campo di bit che rappresenta le autorizzazioni da impostare per l'intervallo di cui viene eseguito il mapping. Vedere La sezione Osservazioni per i bit di autorizzazione disponibili.
[in] PhysicalAddressToMap
Il IOMMU_MAP_PHYSICAL_ADDRESS di cui verrà eseguito il mapping al dominio.
[out] MappedSegment
Restituisce il IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT che rappresenta un segmento del token di indirizzo logico di cui è stato eseguito il mapping.
Valore restituito
STATUS_SUCCESS se l'operazione ha esito positivo. I valori restituiti di errore possibili includono i codici di stato seguenti.
Codice restituito | Descrizione |
---|---|
STATUS_INVALID_PARAMETER_2 | L'offset specificato non è allineato alla pagina. |
STATUS_INVALID_PARAMETER_4 | L'indirizzo fisico specificato non è allineato alla pagina e/o non è un numero intero di pagine di dimensioni. |
STATUS_RESOURCE_IN_USE | L'intervallo di indirizzi logici rappresentato nel token di indirizzo logico è già mappato completamente o parzialmente. |
STATUS_UNSUCCESSFUL | Il token di indirizzo logico è attualmente in fase di eliminazione. |
Per altre informazioni, vedere valori NTSTATUS.
Osservazioni
Un segmento mappato di un token di indirizzo logico può essere decompresso tramite IOMMU_UNMAP_RESERVED_LOGICAL_RANGE.
Il campo autorizzazioni è un campo di bit che descrive le autorizzazioni di accesso per le pagine di cui eseguire il mapping.
I bit sono definiti come segue:
Bit 0 = Read Access
Bit 1 = Write Access
Bits 31-2 = Reserved (0)
Fabbisogno
Requisito | Valore |
---|---|
server minimo supportato | Windows Server 2022 |
intestazione | wdm.h (include Wdm.h) |
Vedere anche
IOMMU_UNMAP_RESERVED_LOGICAL_RANGE