IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE 콜백 함수(wdm.h)
이후 매핑에 사용할 수 있는 논리 주소 공간을 미리 할당합니다. 이렇게 하면 드라이버가 향후 맵/매핑 해제 호출에 대한 진행률을 보장할 수 있습니다.
구문
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
)
{...}
매개 변수
[in] Domain
예약된 논리 주소가 속할 IOMMU_DMA_DOMAIN 대한 포인터입니다. 도메인은 DomainTypeTranslate 형식이어야 합니다. 도메인 유형에 대한 자세한 내용은 IOMMU_DMA_DOMAIN_TYPE 참조하세요.
[in] Size
예약할 논리 주소 범위의 크기(바이트)입니다. 이 값은 정수 페이지를 나타내야 합니다.
[in, optional] ExplicitLogicalAddress
예약해야 하는 도메인 논리 주소입니다. 등록된 논리 할당자를 사용하여 도메인을 만들지 않은 경우 이 필드가 필요합니다. 명시적 논리 주소 할당을 지원하지 않는 등록된 논리 할당자를 사용하여 도메인을 만든 경우 이 필드는 NULL이어야 합니다.
[in, optional] MinLogicalAddress
예약할 수 있는 최소(포함) 허용 논리 주소입니다. 등록된 논리 할당자를 사용하여 도메인을 만들지 않은 경우 이 필드는 무시됩니다.
[in, optional] MaxLogicalAddress
예약할 수 있는 최대(포함) 허용 논리 주소입니다. 등록된 논리 할당자를 사용하여 도메인을 만들지 않은 경우 이 필드는 무시됩니다.
[out] LogicalAddressToken
예약된 논리 주소 범위를 나타내는 IOMMU_DMA_LOGICAL_ADDRESS_TOKEN 반환합니다.
반환 값
작업이 성공하면 STATUS_SUCCESS. 가능한 오류 반환 값에는 다음 상태 코드가 포함됩니다.
반환 코드 | 설명 |
---|---|
STATUS_INVALID_PARAMETER_1 | 제공된 도메인이 DomainTypeTranslate 형식이 아닙니다. |
STATUS_INVALID_PARAMETER_2 | 제공된 크기는 PAGE_SIZE 배수가 아닙니다. |
STATUS_INVALID_PARAMETER_3 | 제공된 ExplicitLogicalAddress가 페이지 정렬되지 않았습니다. |
STATUS_INVALID_PARAMETER_MIX | 제공된 최소 및 최대 논리 주소를 충족할 수 없습니다. |
STATUS_IN_USE | ExplicitLogicalAddress는 이미 매핑되거나 부분적으로 매핑되어 있습니다. |
STATUS_NOT_SUPPORTED | 명시적 논리 주소 할당을 허용하지 않는 논리 할당자가 있는 도메인에 대해 ExplicitLogicalAddress가 제공되었습니다. 또는 논리 할당자가 없는 도메인에 대해 ExplicitLogicalAddress가 제공되지 않았습니다. |
자세한 내용은 NTSTATUS 값을 참조하세요.
설명
논리 주소 토큰은 IOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE 통해 해제할 수 있습니다.
논리 주소 토큰에는 IOMMU_MAP_RESERVED_LOGICAL_RANGE 및 IOMMU_UNMAP_RESERVED_LOGICAL_RANGE 통해 물리적 주소에 매핑되고 매핑되지 않은 논리적 주소 범위의 일부가 있어야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 서버 | Windows Server 2022 |
머리글 | wdm.h(Wdm.h 포함) |
추가 정보
IOMMU_DMA_LOGICAL_ADDRESS_TOKEN
IOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE