Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
An extended version of the INTERFACE structure that allows device drivers to invoke the callback functions that perform device ___domain operations.
Caution
DMA_IOMMU_INTERFACE
has been deprecated in Windows 10, version 2103 and has been replaced by DMA_IOMMU_INTERFACE_EX.
Syntax
typedef struct _DMA_IOMMU_INTERFACE {
ULONG Version;
PIOMMU_DOMAIN_CREATE CreateDomain;
PIOMMU_DOMAIN_DELETE DeleteDomain;
PIOMMU_DOMAIN_ATTACH_DEVICE AttachDevice;
PIOMMU_DOMAIN_DETACH_DEVICE DetachDevice;
PIOMMU_FLUSH_DOMAIN FlushDomain;
PIOMMU_FLUSH_DOMAIN_VA_LIST FlushDomainByVaList;
PIOMMU_QUERY_INPUT_MAPPINGS QueryInputMappings;
PIOMMU_MAP_LOGICAL_RANGE MapLogicalRange;
PIOMMU_UNMAP_LOGICAL_RANGE UnmapLogicalRange;
PIOMMU_MAP_IDENTITY_RANGE MapIdentityRange;
PIOMMU_UNMAP_IDENTITY_RANGE UnmapIdentityRange;
PIOMMU_SET_DEVICE_FAULT_REPORTING SetDeviceFaultReporting;
PIOMMU_DOMAIN_CONFIGURE ConfigureDomain;
} DMA_IOMMU_INTERFACE, *PDMA_IOMMU_INTERFACE;
Members
Version
The driver-defined interface version.
CreateDomain
A pointer to the IOMMU_DOMAIN_CREATE callback function that creates a DMA remapping device ___domain.
DeleteDomain
A pointer to the IOMMU_DOMAIN_DELETE callback function that deletes a device ___domain.
AttachDevice
A pointer to the IOMMU_DOMAIN_ATTACH_DEVICE callback function that attaches a device to a ___domain.
DetachDevice
A pointer to the IOMMU_DOMAIN_DETACH_DEVICE callback function that detaches a device from a ___domain.
FlushDomain
A pointer to the IOMMU_FLUSH_DOMAIN callback function that flushes the TLB for all entries which match this ___domain.
FlushDomainByVaList
A pointer to the IOMMU_FLUSH_DOMAIN_VA_LIST callback function that flushes the TLB for all entries that match the specified ___domain's ASID and one of the addresses in the provided list.
QueryInputMappings
A pointer to the IOMMU_QUERY_INPUT_MAPPINGS callback function that attempts to find input mapping IDs which are valid for the given device and populate the provided buffer with those IDs.
MapLogicalRange
A pointer to the IOMMU_MAP_LOGICAL_RANGE callback function that maps a range of pages into the address space of the specified ___domain.
UnmapLogicalRange
A pointer to the IOMMU_UNMAP_LOGICAL_RANGE callback function that unmaps a range of pages.
MapIdentityRange
A pointer to the IOMMU_MAP_IDENTITY_RANGE callback function that creates an identity mapping for the provided MDL in the specified ___domain.
UnmapIdentityRange
A pointer to the IOMMU_UNMAP_IDENTITY_RANGE callback function that deletes an identity mapping.
SetDeviceFaultReporting
A pointer to the IOMMU_SET_DEVICE_FAULT_REPORTING callback function that sets the device fault reporting state to device already attached to a ___domain.
ConfigureDomain
A pointer to the IOMMU_DOMAIN_CONFIGURE callback function that configures a ___domain for use.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10, version 1803 |
Header | wdm.h |