Condividi tramite


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

IOMMU_MAP_PHYSICAL_ADDRESS

IOMMU_DMA_LOGICAL_ADDRESS_TOKEN

IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT