_ARBITER_INSTANCE

//0x9c bytes (sizeof) struct _ARBITER_INSTANCE { ULONG Signature; //0x0 struct _KEVENT* MutexEvent; //0x4 USHORT* Name; //0x8 LONG ResourceType; //0xc struct _RTL_RANGE_LIST* Allocation; //0x10 struct _RTL_RANGE_LIST* PossibleAllocation; //0x14 struct _ARBITER_ORDERING_LIST OrderingList; //0x18 struct _ARBITER_ORDERING_LIST ReservedList; //0x20 LONG ReferenceCount; //0x28 struct _ARBITER_INTERFACE* Interface; //0x2c ULONG AllocationStackMaxSize; //0x30 struct _ARBITER_ALLOCATION_STATE* AllocationStack; //0x34 LONG (*UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR* arg1, ULONGLONG* arg2, ULONGLONG* arg3, ULONG* arg4, ULONG* arg5); //0x38 LONG (*PackResource)(struct _IO_RESOURCE_DESCRIPTOR* arg1, ULONGLONG arg2, struct _CM_PARTIAL_RESOURCE_DESCRIPTOR* arg3); //0x3c LONG (*UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR* arg1, ULONGLONG* arg2, ULONG* arg3); //0x40 LONG (*ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR* arg1); //0x44 LONG (*TestAllocation)(struct _ARBITER_INSTANCE* arg1, struct _LIST_ENTRY* arg2); //0x48 LONG (*RetestAllocation)(struct _ARBITER_INSTANCE* arg1, struct _LIST_ENTRY* arg2); //0x4c LONG (*CommitAllocation)(struct _ARBITER_INSTANCE* arg1); //0x50 LONG (*RollbackAllocation)(struct _ARBITER_INSTANCE* arg1); //0x54 LONG (*BootAllocation)(struct _ARBITER_INSTANCE* arg1, struct _LIST_ENTRY* arg2); //0x58 LONG (*QueryArbitrate)(struct _ARBITER_INSTANCE* arg1, struct _LIST_ENTRY* arg2); //0x5c LONG (*QueryConflict)(struct _ARBITER_INSTANCE* arg1, struct _DEVICE_OBJECT* arg2, struct _IO_RESOURCE_DESCRIPTOR* arg3, ULONG* arg4, struct _ARBITER_CONFLICT_INFO** arg5); //0x60 LONG (*AddReserved)(struct _ARBITER_INSTANCE* arg1, struct _IO_RESOURCE_DESCRIPTOR* arg2, struct _CM_PARTIAL_RESOURCE_DESCRIPTOR* arg3); //0x64 LONG (*StartArbiter)(struct _ARBITER_INSTANCE* arg1, struct _CM_RESOURCE_LIST* arg2); //0x68 LONG (*PreprocessEntry)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_ALLOCATION_STATE* arg2); //0x6c LONG (*AllocateEntry)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_ALLOCATION_STATE* arg2); //0x70 UCHAR (*GetNextAllocationRange)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_ALLOCATION_STATE* arg2); //0x74 UCHAR (*FindSuitableRange)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_ALLOCATION_STATE* arg2); //0x78 VOID (*AddAllocation)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_ALLOCATION_STATE* arg2); //0x7c VOID (*BacktrackAllocation)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_ALLOCATION_STATE* arg2); //0x80 UCHAR (*OverrideConflict)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_ALLOCATION_STATE* arg2); //0x84 UCHAR TransactionInProgress; //0x88 VOID* Extension; //0x8c struct _DEVICE_OBJECT* BusDeviceObject; //0x90 VOID* ConflictCallbackContext; //0x94 UCHAR (*ConflictCallback)(VOID* arg1, struct _RTL_RANGE* arg2); //0x98 };