x86 / ntdllntoskrnl /

_HAL_IOMMU_DISPATCH

← 10.0.18362.1016 4 builds latest →
struct _HAL_IOMMU_DISPATCH {
unsigned char (*HalIommuSupportEnabled)(void);/* 0x0 4 */
long (*HalIommuGetConfiguration)(unsigned long, unsigned long*, unsigned long*, void**);/* 0x4 4 */
long (*HalIommuGetLibraryContext)(unsigned long, unsigned long, void**);/* 0x8 4 */
long (*HalIommuMapDevice)(void*, struct _EXT_IOMMU_DEVICE_ID*, union _IOMMU_SVM_CAPABILITIES*, void**);/* 0xc 4 */
long (*HalIommuEnableDevicePasid)(void*, void*);/* 0x10 4 */
long (*HalIommuSetAddressSpace)(void*, unsigned long);/* 0x14 4 */
long (*HalIommuDisableDevicePasid)(void*, void*);/* 0x18 4 */
long (*HalIommuUnmapDevice)(void*, void*);/* 0x1c 4 */
long (*HalIommuFreeLibraryContext)(void*);/* 0x20 4 */
void (*HalIommuFlushTb)(void*, unsigned long, struct _KTB_FLUSH_VA*);/* 0x24 4 */
void (*HalIommuFlushAllPasid)(void*, unsigned long, struct _KTB_FLUSH_VA*);/* 0x28 4 */
unsigned char (*HalIommuProcessPageRequestQueue)(unsigned long);/* 0x2c 4 */
void (*HalIommuFaultRoutine)(unsigned long);/* 0x30 4 */
void* (*HalIommuReferenceAsid)(unsigned long);/* 0x34 4 */
void (*HalIommuDereferenceAsid)(unsigned long);/* 0x38 4 */
long (*HalIommuServicePageFault)(unsigned long, void*, unsigned long);/* 0x3c 4 */
/* ── cacheline 1 boundary (64 bytes) ── */
long (*HalIommuDevicePowerChange)(void*, void*, unsigned char);/* 0x40 4 */
long (*HalIommuBeginDeviceReset)(void*, unsigned long*);/* 0x44 4 */
long (*HalIommuFinalizeDeviceReset)(void*);/* 0x48 4 */
};
size 76 (0x4c)19 members0 holespadding 02 cachelines