arm64 / ntdllntoskrnl /

_DMA_IOMMU_INTERFACE

← first 1 build latest →
struct _DMA_IOMMU_INTERFACE {
unsigned long Version;/* 0x0 4 */
/* 4 bytes padding */
long (*CreateDomain)(unsigned char, struct _IOMMU_DMA_DOMAIN**);/* 0x8 8 */
long (*DeleteDomain)(struct _IOMMU_DMA_DOMAIN*);/* 0x10 8 */
long (*AttachDevice)(struct _IOMMU_DMA_DOMAIN*, struct _DEVICE_OBJECT*, unsigned long, unsigned long);/* 0x18 8 */
long (*DetachDevice)(struct _IOMMU_DMA_DOMAIN*, struct _DEVICE_OBJECT*, unsigned long);/* 0x20 8 */
long (*FlushDomain)(struct _IOMMU_DMA_DOMAIN*);/* 0x28 8 */
long (*FlushDomainByVaList)(struct _IOMMU_DMA_DOMAIN*, unsigned char, unsigned long, void*);/* 0x30 8 */
long (*QueryInputMappings)(struct _DEVICE_OBJECT*, struct _INPUT_MAPPING_ELEMENT*, unsigned long, unsigned long*);/* 0x38 8 */
/* ── cacheline 1 boundary (64 bytes) ── */
long (*MapLogicalRange)(struct _IOMMU_DMA_DOMAIN*, unsigned long, struct _MDL*, unsigned __int64);/* 0x40 8 */
long (*UnmapLogicalRange)(struct _IOMMU_DMA_DOMAIN*, unsigned __int64, unsigned __int64);/* 0x48 8 */
long (*MapIdentityRange)(struct _IOMMU_DMA_DOMAIN*, unsigned long, struct _MDL*);/* 0x50 8 */
long (*UnmapIdentityRange)(struct _IOMMU_DMA_DOMAIN*, struct _MDL*);/* 0x58 8 */
long (*SetDeviceFaultReporting)(struct _DEVICE_OBJECT*, unsigned long, unsigned char, struct _DEVICE_FAULT_CONFIGURATION*);/* 0x60 8 */
long (*ConfigureDomain)(struct _IOMMU_DMA_DOMAIN*, struct _DOMAIN_CONFIGURATION*);/* 0x68 8 */
};
size 112 (0x70)14 members1 hole (4 bytes)padding 02 cachelines