294 DPRINT(
"ArbInitializeArbiterInstance: '%S'\n", ArbiterName);
305 Arbiter->BusDeviceObject = BusDeviceObject;
308 if (!Arbiter->MutexEvent)
310 DPRINT1(
"ArbInitializeArbiterInstance: STATUS_INSUFFICIENT_RESOURCES\n");
317 if (!Arbiter->AllocationStack)
319 DPRINT1(
"ArbInitializeArbiterInstance: STATUS_INSUFFICIENT_RESOURCES\n");
324 Arbiter->AllocationStackMaxSize =
PAGE_SIZE;
327 if (!Arbiter->Allocation)
329 DPRINT1(
"ArbInitializeArbiterInstance: STATUS_INSUFFICIENT_RESOURCES\n");
336 if (!Arbiter->PossibleAllocation)
338 DPRINT1(
"ArbInitializeArbiterInstance: STATUS_INSUFFICIENT_RESOURCES\n");
348 Arbiter->Name = ArbiterName;
349 Arbiter->ResourceType = ResourceType;
350 Arbiter->TransactionInProgress =
FALSE;
352 if (!Arbiter->TestAllocation)
355 if (!Arbiter->RetestAllocation)
358 if (!Arbiter->CommitAllocation)
361 if (!Arbiter->RollbackAllocation)
364 if (!Arbiter->AddReserved)
367 if (!Arbiter->PreprocessEntry)
370 if (!Arbiter->AllocateEntry)
373 if (!Arbiter->GetNextAllocationRange)
376 if (!Arbiter->FindSuitableRange)
379 if (!Arbiter->AddAllocation)
382 if (!Arbiter->BacktrackAllocation)
385 if (!Arbiter->OverrideConflict)
388 if (!Arbiter->BootAllocation)
391 if (!Arbiter->QueryConflict)
394 if (!Arbiter->StartArbiter)
403 DPRINT1(
"ArbInitializeArbiterInstance: Status %X\n",
Status);
#define STATUS_INSUFFICIENT_RESOURCES
BOOLEAN NTAPI ArbGetNextAllocationRange(_In_ PARBITER_INSTANCE Arbiter, _Inout_ PARBITER_ALLOCATION_STATE ArbState)
NTSTATUS NTAPI ArbAllocateEntry(_In_ PARBITER_INSTANCE Arbiter, _Inout_ PARBITER_ALLOCATION_STATE ArbState)
#define ARBITER_SIGNATURE
NTSTATUS NTAPI ArbStartArbiter(_In_ PARBITER_INSTANCE Arbiter)
NTSTATUS NTAPI ArbTestAllocation(_In_ PARBITER_INSTANCE Arbiter, _In_ PLIST_ENTRY ArbitrationList)
NTSTATUS NTAPI ArbRollbackAllocation(_In_ PARBITER_INSTANCE Arbiter)
NTSTATUS NTAPI ArbCommitAllocation(_In_ PARBITER_INSTANCE Arbiter)
#define NT_SUCCESS(StatCode)
VOID NTAPI ArbAddAllocation(_In_ PARBITER_INSTANCE Arbiter, _Inout_ PARBITER_ALLOCATION_STATE ArbState)
VOID NTAPI ArbBacktrackAllocation(_In_ PARBITER_INSTANCE Arbiter, _Inout_ PARBITER_ALLOCATION_STATE ArbState)
NTSTATUS NTAPI ArbBootAllocation(_In_ PARBITER_INSTANCE Arbiter, _In_ PLIST_ENTRY ArbitrationList)
NTSTATUS NTAPI ArbQueryConflict(_In_ PARBITER_INSTANCE Arbiter)
NTSTATUS NTAPI ArbRetestAllocation(_In_ PARBITER_INSTANCE Arbiter, _In_ PLIST_ENTRY ArbitrationList)
#define TAG_ARB_ALLOCATION
#define ExAllocatePoolWithTag(hernya, size, tag)
NTSTATUS NTAPI ArbBuildAssignmentOrdering(_Inout_ PARBITER_INSTANCE ArbInstance, _In_ PCWSTR OrderName, _In_ PCWSTR ReservedOrderName, _In_ PARB_TRANSLATE_ORDERING TranslateOrderingFunction)
NTSTATUS NTAPI ArbAddReserved(_In_ PARBITER_INSTANCE Arbiter)
#define KeInitializeEvent(pEvt, foo, foo2)
NTSTATUS NTAPI ArbPreprocessEntry(_In_ PARBITER_INSTANCE Arbiter, _Inout_ PARBITER_ALLOCATION_STATE ArbState)
NTSTATUS NTAPI ArbOverrideConflict(_In_ PARBITER_INSTANCE Arbiter)
NTSYSAPI VOID NTAPI RtlInitializeRangeList(_Out_ PRTL_RANGE_LIST RangeList)
#define ExFreePoolWithTag(_P, _T)
BOOLEAN NTAPI ArbFindSuitableRange(_In_ PARBITER_INSTANCE Arbiter, _Inout_ PARBITER_ALLOCATION_STATE ArbState)