IOMMU_MAP_RESERVED_LOGICAL_RANGE 콜백 함수(wdm.h)

예약된 논리 범위를 매핑합니다.

IOMMU_MAP_LOGICAL_RANGE_EX 달리 IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE 이전에 이미 수행된 것으로 간주되므로 메모리 할당을 수행하지 않도록 보장됩니다.

구문

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
)
{...}

매개 변수

[in, out] LogicalAddressToken

매핑할 IOMMU_DMA_LOGICAL_ADDRESS_TOKEN .

[in] Offset

매핑할 기본 논리 주소를 나타내는 논리 주소 토큰에 대한 오프셋(바이트)입니다.

[in] Permissions

매핑되는 범위에 대해 설정할 권한을 나타내는 비트 필드입니다. 사용 가능한 권한 비트는 비고를 참조하세요.

[in] PhysicalAddressToMap

도메인에 매핑될 IOMMU_MAP_PHYSICAL_ADDRESS .

[out] MappedSegment

이제 매핑된 논리 주소 토큰의 세그먼트를 나타내는 IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT 반환합니다.

반환 값

작업이 성공하면 STATUS_SUCCESS. 가능한 오류 반환 값에는 다음 상태 코드가 포함됩니다.

반환 코드 설명
STATUS_INVALID_PARAMETER_2 제공된 오프셋이 페이지 정렬되지 않았습니다.
STATUS_INVALID_PARAMETER_4 제공된 실제 주소가 페이지 정렬되지 않았거나 정수 크기의 페이지가 아닙니다.
STATUS_RESOURCE_IN_USE 논리 주소 토큰에 표시되는 논리 주소 범위는 이미 완전히 또는 부분적으로 매핑되어 있습니다.
STATUS_UNSUCCESSFUL 논리 주소 토큰은 현재 삭제되고 있습니다.

자세한 내용은 NTSTATUS 값을 참조하세요.

설명

논리 주소 토큰 매핑 세그먼트는 IOMMU_UNMAP_RESERVED_LOGICAL_RANGE 통해 매핑을 해제할 수 있습니다.

권한 필드는 매핑할 페이지에 대한 액세스 권한을 설명하는 비트 필드입니다.

비트는 다음과 같이 정의됩니다.

Bit 0 = Read Access

Bit 1 = Write Access

Bits 31-2 = Reserved (0)

요구 사항

요구 사항
지원되는 최소 서버 Windows Server 2022
머리글 wdm.h(Wdm.h 포함)

추가 정보

IOMMU_UNMAP_RESERVED_LOGICAL_RANGE

IOMMU_MAP_PHYSICAL_ADDRESS

IOMMU_DMA_LOGICAL_ADDRESS_TOKEN

IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT