struct _DMA_IOMMU_INTERFACE { unsigned long Version;/* 0x0 4 */ long (*CreateDomain)(unsigned char, struct _IOMMU_DMA_DOMAIN**);/* 0x4 4 */ long (*DeleteDomain)(struct _IOMMU_DMA_DOMAIN*);/* 0x8 4 */ long (*AttachDevice)(struct _IOMMU_DMA_DOMAIN*, struct _DEVICE_OBJECT*, unsigned long, unsigned long);/* 0xc 4 */ long (*DetachDevice)(struct _IOMMU_DMA_DOMAIN*, struct _DEVICE_OBJECT*, unsigned long);/* 0x10 4 */ long (*FlushDomain)(struct _IOMMU_DMA_DOMAIN*);/* 0x14 4 */ long (*FlushDomainByVaList)(struct _IOMMU_DMA_DOMAIN*, unsigned char, unsigned long, void*);/* 0x18 4 */ long (*QueryInputMappings)(struct _DEVICE_OBJECT*, struct _INPUT_MAPPING_ELEMENT*, unsigned long, unsigned long*);/* 0x1c 4 */ long (*MapLogicalRange)(struct _IOMMU_DMA_DOMAIN*, unsigned long, struct _MDL*, unsigned __int64);/* 0x20 4 */ long (*UnmapLogicalRange)(struct _IOMMU_DMA_DOMAIN*, unsigned __int64, unsigned __int64);/* 0x24 4 */ long (*MapIdentityRange)(struct _IOMMU_DMA_DOMAIN*, unsigned long, struct _MDL*);/* 0x28 4 */ long (*UnmapIdentityRange)(struct _IOMMU_DMA_DOMAIN*, struct _MDL*);/* 0x2c 4 */ long (*SetDeviceFaultReporting)(struct _DEVICE_OBJECT*, unsigned long, unsigned char, struct _DEVICE_FAULT_CONFIGURATION*);/* 0x30 4 */ long (*ConfigureDomain)(struct _IOMMU_DMA_DOMAIN*, struct _DOMAIN_CONFIGURATION*);/* 0x34 4 */};size 56 (0x38)14 members0 holespadding 01 cacheline
Used in (0)