IOMMU_DOMAIN_CREATE_EX - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// wdm.h

IOMMU_DOMAIN_CREATE_EX IommuDomainCreateEx;

NTSTATUS IommuDomainCreateEx(
  [in]           IOMMU_DMA_DOMAIN_TYPE DomainType,
  [in]           IOMMU_DMA_DOMAIN_CREATION_FLAGS Flags,
  [in, optional] PIOMMU_DMA_LOGICAL_ALLOCATOR_CONFIG LogicalAllocatorConfig,
  [in, optional] PIOMMU_DMA_RESERVED_REGION ReservedRegions,
  [out]          PIOMMU_DMA_DOMAIN *DomainOut
)
{...}
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nc-wdm-iommu_domain_create_ex)

Description

Creates a new DMA device domain based on the provided domain type.

Parameters

DomainType [in]

Indicates the type of domain to be created. See IOMMU_DMA_DOMAIN_TYPE.

Flags [in]

Configuration flags for the device domain. Currently unused and must be set to 0. See IOMMU_DMA_DOMAIN_CREATION_FLAGS.

LogicalAllocatorConfig [in, optional]

Optionally provides a logical allocator configuration to initialize a HAL-implemented logical allocator to be associated with the domain. See IOMMU_DMA_LOGICAL_ALLOCATOR_CONFIG.

ReservedRegions [in, optional]

Optionally provides a set of IOMMU_DMA_RESERVED_REGION structures to be reserved during domain creation.

DomainOut [out]

Returns an opaque handle to the created domain.

Return value

STATUS_SUCCESS if the operation is successful. Possible error return values include the following status codes.

Return code Description
STATUS_INSUFFICIENT_RESOURCES The routine failed to allocate resources required for the domain or there are not enough ASIDs for unmanaged domains.
STATUS_NOT_SUPPORTED The hypervisor domain interface not available, x86 guest machine attempting to create a domain, or provided domain type is currently not allowed.

For more information, see NTSTATUS Values.

Remarks

To delete a domain created by IOMMU_DOMAIN_CREATE_EX, use IOMMU_DOMAIN_DELETE; there currently is no Ex equivalent of domain deletion.

See also

IOMMU_DMA_DOMAIN_TYPE

IOMMU_DMA_DOMAIN_CREATION_FLAGS

IOMMU_DMA_LOGICAL_ALLOCATOR_CONFIG

IOMMU_DMA_RESERVED_REGION

IOMMU_DOMAIN_DELETE

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX