struct HAL_DISPATCH { unsigned long Version;/* 0x0 4 */ long (*HalQuerySystemInformation)(enum _HAL_QUERY_INFORMATION_CLASS, unsigned long, void*, unsigned long*);/* 0x4 4 */ long (*HalSetSystemInformation)(enum _HAL_SET_INFORMATION_CLASS, unsigned long, void*);/* 0x8 4 */ long (*HalQueryBusSlots)(struct _BUS_HANDLER*, unsigned long, unsigned long*, unsigned long*);/* 0xc 4 */ long (*HalDeviceControl)(struct _DEVICE_HANDLER_OBJECT*, struct _DEVICE_OBJECT*, unsigned long, void*, unsigned long*, void*, void (*)(struct _DEVICE_CONTROL_CONTEXT*));/* 0x10 4 */ void (*HalExamineMBR)(struct _DEVICE_OBJECT*, unsigned long, unsigned long, void**);/* 0x14 4 */ void (*HalIoAssignDriveLetters)(struct _LOADER_PARAMETER_BLOCK*, struct _STRING*, unsigned char*, struct _STRING*);/* 0x18 4 */ long (*HalIoReadPartitionTable)(struct _DEVICE_OBJECT*, unsigned long, unsigned char, struct _DRIVE_LAYOUT_INFORMATION**);/* 0x1c 4 */ long (*HalIoSetPartitionInformation)(struct _DEVICE_OBJECT*, unsigned long, unsigned long, unsigned long);/* 0x20 4 */ long (*HalIoWritePartitionTable)(struct _DEVICE_OBJECT*, unsigned long, unsigned long, unsigned long, struct _DRIVE_LAYOUT_INFORMATION*);/* 0x24 4 */ struct _BUS_HANDLER* (*HalReferenceHandlerForBus)(enum _INTERFACE_TYPE, unsigned long);/* 0x28 4 */ void (*HalReferenceBusHandler)(struct _BUS_HANDLER*);/* 0x2c 4 */ void (*HalDereferenceBusHandler)(struct _BUS_HANDLER*);/* 0x30 4 */};/* computed from the NT 4.0 DDK headers */size 52 (0x34)13 members0 holespadding 01 cacheline