struct _DMA_IOMMU_INTERFACE_V1 { long (*CreateDomain)(unsigned char, struct _IOMMU_DMA_DOMAIN**);/* 0x0 8 */ long (*DeleteDomain)(struct _IOMMU_DMA_DOMAIN*);/* 0x8 8 */ long (*AttachDevice)(struct _IOMMU_DMA_DOMAIN*, struct _DEVICE_OBJECT*, unsigned long, unsigned long);/* 0x10 8 */ long (*DetachDevice)(struct _IOMMU_DMA_DOMAIN*, struct _DEVICE_OBJECT*, unsigned long);/* 0x18 8 */ long (*FlushDomain)(struct _IOMMU_DMA_DOMAIN*);/* 0x20 8 */ long (*FlushDomainByVaList)(struct _IOMMU_DMA_DOMAIN*, unsigned char, unsigned long, void*);/* 0x28 8 */ long (*QueryInputMappings)(struct _DEVICE_OBJECT*, struct _INPUT_MAPPING_ELEMENT*, unsigned long, unsigned long*);/* 0x30 8 */ long (*MapLogicalRange)(struct _IOMMU_DMA_DOMAIN*, unsigned long, struct _MDL*, unsigned __int64);/* 0x38 8 */ /* ── cacheline 1 boundary (64 bytes) ── */ long (*UnmapLogicalRange)(struct _IOMMU_DMA_DOMAIN*, unsigned __int64, unsigned __int64);/* 0x40 8 */ long (*MapIdentityRange)(struct _IOMMU_DMA_DOMAIN*, unsigned long, struct _MDL*);/* 0x48 8 */ long (*UnmapIdentityRange)(struct _IOMMU_DMA_DOMAIN*, struct _MDL*);/* 0x50 8 */ long (*SetDeviceFaultReporting)(struct _DEVICE_OBJECT*, unsigned long, unsigned char, struct _DEVICE_FAULT_CONFIGURATION*);/* 0x58 8 */ long (*ConfigureDomain)(struct _IOMMU_DMA_DOMAIN*, struct _DOMAIN_CONFIGURATION*);/* 0x60 8 */};size 104 (0x68)13 members0 holespadding 02 cachelines
Used in (1)