x86 / ntdllntoskrnl /

_DMA_IOMMU_INTERFACE

← 10.0.18362.1016 4 builds latest →
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