IOMMU_MAP_RESERVED_LOGICAL_RANGE función de devolución de llamada (wdm.h)
Asigna un intervalo lógico reservado.
A diferencia de IOMMU_MAP_LOGICAL_RANGE_EX, esto se garantiza que no realice ninguna asignación de memoria, ya que se supone que ya se han realizado anteriormente con IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE.
Sintaxis
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
)
{...}
Parámetros
[in, out] LogicalAddressToken
El IOMMU_DMA_LOGICAL_ADDRESS_TOKEN al que se va a asignar.
[in] Offset
Desplazamiento, en bytes, en el token de dirección lógica, que representa la dirección lógica base que se va a asignar.
[in] Permissions
Campo de bits que representa los permisos que se van a establecer para el intervalo que se va a asignar. Vea Comentarios para los bits de permiso disponibles.
[in] PhysicalAddressToMap
El IOMMU_MAP_PHYSICAL_ADDRESS que se asignará al dominio.
[out] MappedSegment
Devuelve el IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT que representa un segmento del token de dirección lógica que ahora está asignado.
Valor devuelto
STATUS_SUCCESS si la operación se realiza correctamente. Entre los posibles valores devueltos de error se incluyen los siguientes códigos de estado.
Código devuelto | Descripción |
---|---|
STATUS_INVALID_PARAMETER_2 | El desplazamiento proporcionado no está alineado con la página. |
STATUS_INVALID_PARAMETER_4 | La dirección física proporcionada no está alineada con la página o no es un número entero de páginas de tamaño. |
STATUS_RESOURCE_IN_USE | El intervalo de direcciones lógico representado en el token de dirección lógica ya está completamente o parcialmente asignado. |
STATUS_UNSUCCESSFUL | El token de dirección lógica se está eliminando actualmente. |
Para obtener más información, vea Valores NTSTATUS.
Comentarios
Un segmento asignado de token de dirección lógica se puede desasignar a través de IOMMU_UNMAP_RESERVED_LOGICAL_RANGE.
El campo de permisos es un campo de bits que describe los permisos de acceso para las páginas que se van a asignar.
Los bits se definen de la siguiente manera:
Bit 0 = Read Access
Bit 1 = Write Access
Bits 31-2 = Reserved (0)
Requisitos
Requisito | Value |
---|---|
Servidor mínimo compatible | Windows Server 2022 |
Encabezado | wdm.h (incluya Wdm.h) |
Consulte también
IOMMU_UNMAP_RESERVED_LOGICAL_RANGE