//0xb8 bytes (sizeof)
struct _HAL_IOMMU_DISPATCH
{
    UCHAR (*HalIommuSupportEnabled)();                                      //0x0
    LONG (*HalIommuGetConfiguration)(ULONG arg1, ULONG* arg2, ULONG* arg3, VOID** arg4); //0x8
    LONG (*HalIommuGetLibraryContext)(ULONG arg1, ULONG arg2, VOID** arg3); //0x10
    LONG (*HalIommuMapDevice)(VOID* arg1, struct
 _EXT_IOMMU_DEVICE_ID* arg2, union
 _IOMMU_SVM_CAPABILITIES* arg3, VOID** arg4); //0x18
    LONG (*HalIommuEnableDevicePasid)(VOID* arg1, VOID* arg2);              //0x20
    LONG (*HalIommuSetAddressSpace)(VOID* arg1, ULONGLONG arg2);            //0x28
    LONG (*HalIommuDisableDevicePasid)(VOID* arg1, VOID* arg2);             //0x30
    LONG (*HalIommuUnmapDevice)(VOID* arg1, VOID* arg2);                    //0x38
    LONG (*HalIommuFreeLibraryContext)(VOID* arg1);                         //0x40
    VOID (*HalIommuFlushTb)(VOID* arg1, ULONG arg2, struct
 _KTB_FLUSH_VA* arg3); //0x48
    VOID (*HalIommuFlushAllPasid)(VOID* arg1, ULONG arg2, struct
 _KTB_FLUSH_VA* arg3); //0x50
    UCHAR (*HalIommuProcessPageRequestQueue)(ULONG arg1);                   //0x58
    VOID (*HalIommuFaultRoutine)(ULONG arg1);                               //0x60
    VOID* (*HalIommuReferenceAsid)(ULONG arg1);                             //0x68
    VOID (*HalIommuDereferenceAsid)(ULONG arg1);                            //0x70
    LONG (*HalIommuServicePageFault)(ULONGLONG arg1, VOID* arg2, ULONG arg3); //0x78
    LONG (*HalIommuDevicePowerChange)(VOID* arg1, VOID* arg2, UCHAR arg3);  //0x80
    LONG (*HalIommuBeginDeviceReset)(VOID* arg1, ULONG* arg2);              //0x88
    LONG (*HalIommuFinalizeDeviceReset)(VOID* arg1);                        //0x90
    LONG (*HalIommuGetAtsSettings)(struct
 _EXT_IOMMU_DEVICE_ID* arg1, union
 _IOMMU_ATS_SETTINGS* arg2); //0x98
    LONG (*HalIommuCreateAtsDevice)(struct
 _EXT_IOMMU_DEVICE_ID* arg1, union
 _IOMMU_SVM_CAPABILITIES* arg2, VOID** arg3); //0xa0
    LONG (*HalIommuConfigureAts)(VOID* arg1, UCHAR arg2);                   //0xa8
    VOID (*HalIommuDeleteAtsDevice)(VOID* arg1);                            //0xb0
};