//0xe8 bytes (sizeof)
struct _IOMMU_DMA_DEVICE
{
    struct _EXT_IOMMU_DEVICE_ID* DeviceId;                                  //0x0
    struct _DEVICE_OBJECT* DeviceObject;                                    //0x8
    LONG DeviceState;                                                       //0x10
    struct _IOMMU_DMA_DOMAIN* DomainOwner;                                  //0x18
    union
    {
        struct
        {
            ULONGLONG LogicalId;                                            //0x20
        } Hypervisor;                                                       //0x20
        struct
        {
            struct _REGISTERED_IOMMU* Iommu;                                //0x20
            struct _EXT_IOMMU_DEVICE* ExtDevice;                            //0x28
        } Native;                                                           //0x20
    };
    struct _IOMMU_INTERFACE_CALLBACK_RECORD* InterfaceCallbackRecord;       //0x30
    UCHAR DpptException;                                                    //0x38
    VOID (*FaultHandler)(VOID* arg1, struct _FAULT_INFORMATION* arg2);      //0x40
    VOID* FaultContext;                                                     //0x48
    struct _FAULT_INFORMATION FaultInfo;                                    //0x50
    struct _KDPC FaultDpc;                                                  //0x88
    struct _WORK_QUEUE_ITEM FaultWorkItem;                                  //0xc8
};