struct _BUS_HANDLER { unsigned long Version;/* 0x0 4 */ int InterfaceType;/* 0x4 4 */ int ConfigurationType;/* 0x8 4 */ unsigned long BusNumber;/* 0xc 4 */ struct _DEVICE_OBJECT* DeviceObject;/* 0x10 4 */ struct _BUS_HANDLER* ParentHandler;/* 0x14 4 */ void* BusData;/* 0x18 4 */ unsigned long DeviceControlExtensionSize;/* 0x1c 4 */ struct _SUPPORTED_RANGES* BusAddresses;/* 0x20 4 */ unsigned long Reserved[4];/* 0x24 16 */ unsigned long (*GetBusData)(struct _BUS_HANDLER*, struct _BUS_HANDLER*, unsigned long, void*, unsigned long, unsigned long);/* 0x34 4 */ unsigned long (*SetBusData)(struct _BUS_HANDLER*, struct _BUS_HANDLER*, unsigned long, void*, unsigned long, unsigned long);/* 0x38 4 */ long (*AdjustResourceList)(struct _BUS_HANDLER*, struct _BUS_HANDLER*, struct _IO_RESOURCE_REQUIREMENTS_LIST**);/* 0x3c 4 */ /* ── cacheline 1 boundary (64 bytes) ── */ long (*AssignSlotResources)(struct _BUS_HANDLER*, struct _BUS_HANDLER*, struct _UNICODE_STRING*, struct _UNICODE_STRING*, struct _DRIVER_OBJECT*, struct _DEVICE_OBJECT*, unsigned long, struct _CM_RESOURCE_LIST**);/* 0x40 4 */ unsigned long (*GetInterruptVector)(struct _BUS_HANDLER*, struct _BUS_HANDLER*, unsigned long, unsigned long, unsigned char*, unsigned long*);/* 0x44 4 */ unsigned char (*TranslateBusAddress)(struct _BUS_HANDLER*, struct _BUS_HANDLER*, union _LARGE_INTEGER, unsigned long*, union _LARGE_INTEGER*);/* 0x48 4 */ void* Spare1;/* 0x4c 4 */ void* Spare2;/* 0x50 4 */ void* Spare3;/* 0x54 4 */ void* Spare4;/* 0x58 4 */ void* Spare5;/* 0x5c 4 */ void* Spare6;/* 0x60 4 */ void* Spare7;/* 0x64 4 */ void* Spare8;/* 0x68 4 */};/* source: Windows 2000 RC2 DDK Alpha libcntpr.lib CodeView type records; build 2128 per the DDK's ntverp.h */size 108 (0x6c)24 members0 holespadding 02 cachelines
Used in (1)