#include "iop.h"
Go to the source code of this file.
Classes | |
struct | _REQ_DESC |
struct | _REQ_ALTERNATIVE |
struct | _REQ_LIST |
struct | _Counter |
struct | _DUPLICATE_DETECTION_CONTEXT |
struct | _IOP_POOL |
struct | PNPRESDEBUGTRANSLATIONFAILURE |
Defines | |
#define | MYDBG 0 |
#define | ExAllocatePoolAT(a, b) ExAllocatePool(a,b) |
#define | ExAllocatePoolRD(a, b) ExAllocatePool(a,b) |
#define | ExAllocatePoolCMRL(a, b) ExAllocatePool(a,b) |
#define | ExAllocatePoolCMRR(a, b) ExAllocatePool(a,b) |
#define | ExAllocatePoolAE(a, b) ExAllocatePool(a,b) |
#define | ExAllocatePoolTE(a, b) ExAllocatePool(a,b) |
#define | ExAllocatePoolPRD(a, b) ExAllocatePool(a,b) |
#define | ExAllocatePoolIORD(a, b) ExAllocatePool(a,b) |
#define | ExAllocatePool1RD(a, b) ExAllocatePool(a,b) |
#define | ExAllocatePoolPDO(a, b) ExAllocatePool(a,b) |
#define | ExAllocatePoolIORR(a, b) ExAllocatePool(a,b) |
#define | ExAllocatePoolIORL(a, b) ExAllocatePool(a,b) |
#define | ExAllocatePoolIORRR(a, b) ExAllocatePool(a,b) |
#define | IS_TRANSLATED_REQ_DESC(r) ((r)->ReqAlternative ? FALSE : TRUE) |
#define | IopReleaseBootResources(DeviceNode) |
#define | NextDeviceNode Sibling |
#define | PreviousDeviceNode Child |
#define | STRUCTURE_ALIGNMENT 1 |
#define | IopInitPool(Pool,Start,Size) |
#define | IopAllocPoolAligned(Memory,Pool,Size) |
#define | IopAllocPool(Memory,Pool,Size) |
#define | FIND_BEST_ASSIGNMENT_TIMEOUT 5000 |
#define | DUMP_ERROR 0x0001 |
#define | DUMP_INFO 0x0002 |
#define | DUMP_DETAIL 0x0004 |
#define | STOP_ERROR 0x1000 |
#define | DebugMessage(Level, Message) |
Typedefs | |
typedef _REQ_DESC REQ_DESC * | PREQ_DESC |
typedef _REQ_ALTERNATIVE REQ_ALTERNATIVE * | PREQ_ALTERNATIVE |
typedef _REQ_LIST REQ_LIST * | PREQ_LIST |
typedef _Counter | COUNTER |
typedef _Counter * | PCOUNTER |
typedef _DUPLICATE_DETECTION_CONTEXT | DUPLICATE_DETECTION_CONTEXT |
typedef _DUPLICATE_DETECTION_CONTEXT * | PDUPLICATE_DETECTION_CONTEXT |
typedef _IOP_POOL | IOP_POOL |
typedef _IOP_POOL * | PIOP_POOL |
Functions | |
PCM_RESOURCE_LIST | IopCreateCmResourceList (IN PCM_RESOURCE_LIST ResourceList, IN INTERFACE_TYPE InterfaceType, IN ULONG BusNumber, OUT PCM_RESOURCE_LIST *RemainingList) |
PCM_RESOURCE_LIST | IopCombineCmResourceList (IN PCM_RESOURCE_LIST ResourceListA, IN PCM_RESOURCE_LIST ResourceListB) |
VOID | IopRemoveLegacyDeviceNode (IN PDEVICE_OBJECT DeviceObject OPTIONAL, IN PDEVICE_NODE LegacyDeviceNode) |
NTSTATUS | IopFindLegacyDeviceNode (IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT DeviceObject OPTIONAL, OUT PDEVICE_NODE *LegacyDeviceNode, OUT PDEVICE_OBJECT *LegacyPDO) |
PDEVICE_NODE | IopFindBusDeviceNodeInternal (IN PDEVICE_NODE DeviceNode, IN INTERFACE_TYPE InterfaceType, IN ULONG BusNumber) |
NTSTATUS | IopGetResourceRequirementsForAssignTable (IN PIOP_RESOURCE_REQUEST AssignTable, IN PIOP_RESOURCE_REQUEST AssignTableEnd, OUT PULONG DeviceCount) |
NTSTATUS | IopResourceRequirementsListToReqList (IN ARBITER_REQUEST_SOURCE AllocationType, IN PIO_RESOURCE_REQUIREMENTS_LIST IoResources, IN PDEVICE_OBJECT PhysicalDevice, OUT PVOID *ResReqList) |
VOID | IopRearrangeReqList (IN PREQ_LIST ReqList) |
VOID | IopRearrangeAssignTable (IN PIOP_RESOURCE_REQUEST AssignTable, IN ULONG Count) |
int __cdecl | IopComparePriority (const void *arg1, const void *arg2) |
VOID | IopFreeResourceRequirementsForAssignTable (IN PIOP_RESOURCE_REQUEST AssignTable, IN PIOP_RESOURCE_REQUEST AssignTableEnd) |
VOID | IopFreeReqAlternative (IN PREQ_ALTERNATIVE ReqAlternative) |
VOID | IopFreeReqList (IN PREQ_LIST ReqList) |
NTSTATUS | IopAssign (IN ULONG AssignTableCount, IN PIOP_RESOURCE_REQUEST AssignTable, IN BOOLEAN Rebalance) |
VOID | IopBuildCmResourceLists (IN PIOP_RESOURCE_REQUEST AssignTable, IN PIOP_RESOURCE_REQUEST AssignTableEnd) |
VOID | IopBuildCmResourceList (IN PIOP_RESOURCE_REQUEST AssignEntry) |
NTSTATUS | IopAssignInner (IN ULONG AssignTableCount, IN PIOP_RESOURCE_REQUEST AssignTable, IN BOOLEAN Rebalance) |
NTSTATUS | IopPlacement (IN ARBITER_ACTION ArbiterAction, IN BOOLEAN Rebalance) |
VOID | IopAddReqDescsToArbiters (IN ULONG ReqDescCount, IN PREQ_DESC *ReqDescTable) |
VOID | IopRemoveReqDescsFromArbiters (ULONG ReqDescCount, PREQ_DESC *ReqDescTable) |
BOOLEAN | IopIsBestConfiguration (IN VOID) |
VOID | IopSaveCurrentConfiguration (IN VOID) |
VOID | IopRestoreBestConfiguration (IN VOID) |
BOOLEAN | IopFindResourceHandlerInfo (IN RESOURCE_HANDLER_TYPE HandlerType, IN PDEVICE_NODE DeviceNode, IN UCHAR ResourceType, OUT PVOID *HandlerEntry) |
NTSTATUS | IopSetupArbiterAndTranslators (IN PREQ_DESC ReqDesc) |
NTSTATUS | IopParentToRawTranslation (IN OUT PREQ_DESC ReqDesc) |
NTSTATUS | IopChildToRootTranslation (IN PDEVICE_NODE DeviceNode, OPTIONAL IN INTERFACE_TYPE InterfaceType, IN ULONG BusNumber, IN ARBITER_REQUEST_SOURCE ArbiterRequestSource, IN PCM_PARTIAL_RESOURCE_DESCRIPTOR Source, OUT PCM_PARTIAL_RESOURCE_DESCRIPTOR *Target) |
NTSTATUS | IopTranslateAndAdjustReqDesc (IN PREQ_DESC ReqDesc, IN PPI_RESOURCE_TRANSLATOR_ENTRY TranslatorEntry, OUT PREQ_DESC *TranslatedReqDesc) |
NTSTATUS | IopCallArbiter (PPI_RESOURCE_ARBITER_ENTRY ArbiterEntry, ARBITER_ACTION Command, PVOID Input1, PVOID Input2, PVOID Input3) |
VOID | IopQueryRebalance (IN PDEVICE_NODE DeviceNode, IN ULONG Phase, IN PULONG RebalanceCount, IN PDEVICE_OBJECT **DeviceTable) |
VOID | IopQueryRebalanceWorker (IN PDEVICE_NODE DeviceNode, IN ULONG RebalancePhase, IN PULONG RebalanceCount, IN PDEVICE_OBJECT **DeviceTable) |
VOID | IopTestForReconfiguration (IN PDEVICE_NODE DeviceNode, IN ULONG RebalancePhase, IN PULONG RebalanceCount, IN PDEVICE_OBJECT **DeviceTable) |
NTSTATUS | IopPlacementForRebalance (IN PDEVICE_NODE DeviceNode, IN ARBITER_ACTION ArbiterAction) |
NTSTATUS | IopArbitrateDeviceResources (IN PDEVICE_NODE DeviceNode, IN ARBITER_ACTION ArbiterAction) |
NTSTATUS | IopRebalance (IN ULONG AssignTableCont, IN PIOP_RESOURCE_REQUEST AssignTable) |
NTSTATUS | IopFindResourcesForArbiter (IN PDEVICE_NODE DeviceNode, IN UCHAR ResourceType, OUT ULONG *Count, OUT PCM_PARTIAL_RESOURCE_DESCRIPTOR *CmDesc) |
VOID | IopReleaseResourcesInternal (IN PDEVICE_NODE DeviceNode) |
VOID | IopReleaseResources (IN PDEVICE_NODE DeviceNode) |
NTSTATUS | IopRestoreResourcesInternal (IN PDEVICE_NODE DeviceNode) |
VOID | IopSetLegacyDeviceInstance (IN PDRIVER_OBJECT DriverObject, IN PDEVICE_NODE DeviceNode) |
PCM_RESOURCE_LIST | IopCombineLegacyResources (IN PDEVICE_NODE DeviceNode) |
NTSTATUS | IopPlacementForReservation (VOID) |
NTSTATUS | IopReserve (IN PREQ_LIST ReqList) |
NTSTATUS | IopReserveBootResourcesInternal (IN ARBITER_REQUEST_SOURCE ArbiterRequestSource, IN PDEVICE_OBJECT DeviceObject, IN PCM_RESOURCE_LIST BootResources) |
BOOLEAN | IopNeedToReleaseBootResources (IN PDEVICE_NODE DeviceNode, IN PCM_RESOURCE_LIST AllocatedResources) |
VOID | IopReleaseFilteredBootResources (IN PIOP_RESOURCE_REQUEST AssignTable, IN PIOP_RESOURCE_REQUEST AssignTableEnd) |
VOID | IopDumpResourceRequirementsList (IN PIO_RESOURCE_REQUIREMENTS_LIST IoResources) |
VOID | IopDumpResourceDescriptor (IN PUCHAR Indent, IN PIO_RESOURCE_DESCRIPTOR Desc) |
VOID | IopCheckDataStructures (IN PDEVICE_NODE DeviceNode) |
VOID | IopCheckDataStructuresWorker (IN PDEVICE_NODE Device) |
NTSTATUS | IopQueryConflictListInternal (PDEVICE_OBJECT PhysicalDeviceObject, IN PCM_RESOURCE_LIST ResourceList, IN ULONG ResourceListSize, OUT PPLUGPLAY_CONTROL_CONFLICT_LIST ConflictList, IN ULONG ConflictListSize, IN ULONG Flags) |
NTSTATUS | IopQueryConflictFillConflicts (PDEVICE_OBJECT PhysicalDeviceObject, IN ULONG ConflictCount, IN PARBITER_CONFLICT_INFO ConflictInfoList, OUT PPLUGPLAY_CONTROL_CONFLICT_LIST ConflictList, IN ULONG ConflictListSize, IN ULONG Flags) |
NTSTATUS | IopQueryConflictFillString (IN PDEVICE_OBJECT DeviceObject, IN PWSTR Buffer, IN OUT PULONG Length, IN OUT PULONG Flags) |
BOOLEAN | IopEliminateBogusConflict (IN PDEVICE_OBJECT PhysicalDeviceObject, IN PDEVICE_OBJECT ConflictDeviceObject) |
NTSTATUS | IopAllocateResources (IN PULONG DeviceCountP, IN OUT PIOP_RESOURCE_REQUEST *AssignTablePP, IN BOOLEAN Locked, IN BOOLEAN BootConfigsOK) |
int __cdecl | IopCompareAlternativeCount (const void *arg1, const void *arg2) |
NTSTATUS | IopLegacyResourceAllocation (IN ARBITER_REQUEST_SOURCE AllocationType, IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT DeviceObject OPTIONAL, IN PIO_RESOURCE_REQUIREMENTS_LIST ResourceRequirements, IN OUT PCM_RESOURCE_LIST *AllocatedResources OPTIONAL) |
PDEVICE_NODE | IopFindBusDeviceNode (IN PDEVICE_NODE DeviceNode, IN INTERFACE_TYPE InterfaceType, IN ULONG BusNumber, IN ULONG SlotNumber) |
NTSTATUS | IopDuplicateDetection (IN INTERFACE_TYPE LegacyBusType, IN ULONG BusNumber, IN ULONG SlotNumber, OUT PDEVICE_NODE *DeviceNode) |
NTSTATUS | IopReserveLegacyBootResources (IN INTERFACE_TYPE InterfaceType, IN ULONG BusNumber) |
NTSTATUS | IopAllocateBootResources (IN ARBITER_REQUEST_SOURCE ArbiterRequestSource, IN PDEVICE_OBJECT DeviceObject, IN PCM_RESOURCE_LIST BootResources) |
NTSTATUS | IopReserveBootResources (IN ARBITER_REQUEST_SOURCE ArbiterRequestSource, IN PDEVICE_OBJECT DeviceObject, IN PCM_RESOURCE_LIST BootResources) |
VOID | IopReallocateResources (IN PDEVICE_OBJECT DeviceObject) |
NTSTATUS | IopQueryConflictList (PDEVICE_OBJECT PhysicalDeviceObject, IN PCM_RESOURCE_LIST ResourceList, IN ULONG ResourceListSize, OUT PPLUGPLAY_CONTROL_CONFLICT_LIST ConflictList, IN ULONG ConflictListSize, IN ULONG Flags) |
Variables | |
LIST_ENTRY | PiActiveArbiterList |
LIST_ENTRY | PiBestArbiterList |
ULONG | PiBestPriority |
PIOP_RESOURCE_REQUEST | PiAssignTable |
ULONG | PiAssignTableCount |
PDEVICE_NODE | IopLegacyDeviceNode |
BOOLEAN | PiNoRetest |
BOOLEAN | PiUseTimeout = TRUE |
WCHAR | IopWstrTranslated [] |
WCHAR | IopWstrRaw [] |
ULONG | PnpResDebugLevel = 0 |
ULONG | PnpResDebugTranslationFailureCount = 32 |
PNPRESDEBUGTRANSLATIONFAILURE | PnpResDebugTranslationFailureArray [32] |
PNPRESDEBUGTRANSLATIONFAILURE * | PnpResDebugTranslationFailure = PnpResDebugTranslationFailureArray |
|
|
Definition at line 269 of file pnpres.c. Referenced by IopAssign(), IopAssignInner(), IopFindBusDeviceNode(), IopGetResourceRequirementsForAssignTable(), IopQueryConflictFillConflicts(), and IopRebalance(). |
|
|
|
Definition at line 68 of file pnpres.c. Referenced by IopTranslateAndAdjustReqDesc(). |
|
Definition at line 64 of file pnpres.c. Referenced by IopSetupArbiterAndTranslators(). |
|
Definition at line 60 of file pnpres.c. Referenced by IopAllocateResources(). |
|
Definition at line 62 of file pnpres.c. Referenced by IopBuildCmResourceList(), and IopCombineLegacyResources(). |
|
Definition at line 63 of file pnpres.c. Referenced by IopBuildCmResourceList(). |
|
Definition at line 67 of file pnpres.c. Referenced by IopTranslateAndAdjustReqDesc(). |
|
Definition at line 71 of file pnpres.c. Referenced by IopLegacyResourceAllocation(), IopReserveBootResources(), and IopReserveBootResourcesInternal(). |
|
Definition at line 70 of file pnpres.c. Referenced by IopRebalance(). |
|
Definition at line 72 of file pnpres.c. Referenced by IopCombineCmResourceList(), IopCreateCmResourceList(), and IopReserveBootResources(). |
|
Definition at line 69 of file pnpres.c. Referenced by IopQueryRebalance(), and IopRebalance(). |
|
Definition at line 66 of file pnpres.c. Referenced by IopChildToRootTranslation(), and IopFindResourcesForArbiter(). |
|
Definition at line 61 of file pnpres.c. Referenced by IopResourceRequirementsListToReqList(). |
|
Definition at line 65 of file pnpres.c. Referenced by IopSetupArbiterAndTranslators(). |
|
Definition at line 252 of file pnpres.c. Referenced by IopAssign(). |
|
Value: Definition at line 225 of file pnpres.c. Referenced by IopResourceRequirementsListToReqList(). |
|
Value:
Definition at line 215 of file pnpres.c. Referenced by IopResourceRequirementsListToReqList(). |
|
Value: Definition at line 203 of file pnpres.c. Referenced by IopResourceRequirementsListToReqList(). |
|
Value:
Definition at line 157 of file pnpres.c. Referenced by IopTestForReconfiguration(). |
|
Definition at line 151 of file pnpres.c. Referenced by IopFreeReqAlternative(), and IopParentToRawTranslation(). |
|
|
|
|
|
|
|
Definition at line 270 of file pnpres.c. Referenced by IopAssignInner(), IopChildToRootTranslation(), IopQueryConflictListInternal(), IopRebalance(), and IopReserve(). |
|
Definition at line 187 of file pnpres.c. Referenced by IopResourceRequirementsListToReqList(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 81 of file pnpres.c. Referenced by IopAssign(), IopBuildCmResourceList(), IopComparePriority(), IopFindResourcesForArbiter(), IopIsBestConfiguration(), IopQueryConflictListInternal(), IopRearrangeReqList(), IopReserve(), IopResourceRequirementsListToReqList(), IopRestoreBestConfiguration(), and IopSaveCurrentConfiguration(). |
|
|
|
Definition at line 2716 of file pnpres.c. References _PI_RESOURCE_ARBITER_ENTRY::ActiveArbiterList, ArbiterActionRollbackAllocation, ASSERT, IopCallArbiter(), NULL, PI_ARBITER_HAS_SOMETHING, PiActiveArbiterList, PREQ_DESC, _PI_RESOURCE_ARBITER_ENTRY::ResourceList, _PI_RESOURCE_ARBITER_ENTRY::ResourcesChanged, _PI_RESOURCE_ARBITER_ENTRY::State, _REQ_DESC::TranslatedReqDesc, and TRUE. Referenced by IopAssign(), and IopReserve().
|
|
Definition at line 7141 of file pnpres.c. References DebugMessage, DelayExecution, DUMP_ERROR, FALSE, IopRegistrySemaphore, IopReserveBootResourcesInternal(), KeEnterCriticalRegion, KeLeaveCriticalRegion, KeReleaseSemaphore(), KernelMode, KeWaitForSingleObject(), NT_SUCCESS, NTSTATUS(), NULL, and PAGED_CODE. Referenced by IopInitializeBootDrivers(), IopReserveBootResources(), and IopReserveLegacyBootResources().
|
|
Definition at line 720 of file pnpres.c. References _IOP_RESOURCE_REQUEST::AllocationType, ArbiterRequestPnpDetected, ArbiterRequestPnpEnumerated, ASSERT, DebugMessage, DelayExecution, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, DNF_HAS_BOOT_CONFIG, DNF_NEEDS_REBALANCE, DUMP_ERROR, DUMP_INFO, ExAllocatePoolAT, ExFreePool(), FALSE, _DEVICE_NODE::Flags, _IOP_RESOURCE_REQUEST::Flags, _DEVICE_NODE::InstancePath, IOP_ASSIGN_EXCLUDE, IOP_ASSIGN_IGNORE, IOP_ASSIGN_NO_REBALANCE, IOP_ASSIGN_RETRY, IopAssignInner(), IopBootConfigsReserved, IopBuildCmResourceLists(), IopFreeResourceRequirementsForAssignTable(), IopGetResourceRequirementsForAssignTable(), IopRearrangeAssignTable(), IopRebalance(), IopRegistrySemaphore, IopReleaseFilteredBootResources(), KeEnterCriticalRegion, KeLeaveCriticalRegion, KeReleaseSemaphore(), KernelMode, KeWaitForSingleObject(), NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PagedPool, _IOP_RESOURCE_REQUEST::PhysicalDevice, _IOP_RESOURCE_REQUEST::ResourceAssignment, _IOP_RESOURCE_REQUEST::ResourceRequirements, _IOP_RESOURCE_REQUEST::Status, Status, and TRUE. Referenced by IopAssignResourcesToDevices(), and IopLegacyResourceAllocation().
|
|
Definition at line 5016 of file pnpres.c. References _PI_RESOURCE_ARBITER_ENTRY::ActiveArbiterList, ArbiterActionCommitAllocation, ArbiterActionRetestAllocation, ArbiterActionTestAllocation, ASSERT, _PI_RESOURCE_ARBITER_ENTRY::BestConfig, _PI_RESOURCE_ARBITER_ENTRY::BestResourceList, DebugMessage, DUMP_ERROR, ExFreePool(), FALSE, IopCallArbiter(), IopFindResourcesForArbiter(), NT_SUCCESS, NTSTATUS(), NULL, PI_ARBITER_HAS_SOMETHING, PI_ARBITER_TEST_FAILED, _PI_RESOURCE_ARBITER_ENTRY::ResourceList, _PI_RESOURCE_ARBITER_ENTRY::ResourcesChanged, _PI_RESOURCE_ARBITER_ENTRY::ResourceType, and _PI_RESOURCE_ARBITER_ENTRY::State. Referenced by IopPlacementForRebalance().
|
|
Definition at line 3084 of file pnpres.c. References ArbiterActionTestAllocation, DbgPrint, DebugMessage, DUMP_DETAIL, DUMP_ERROR, FALSE, FIND_BEST_ASSIGNMENT_TIMEOUT, _DEVICE_NODE::InstancePath, IOP_ASSIGN_EXCLUDE, IopAddReqDescsToArbiters(), IopIsBestConfiguration(), IopPlacement(), IopRemoveReqDescsFromArbiters(), IopSaveCurrentConfiguration(), KeQuerySystemTime(), NT_SUCCESS, NTSTATUS(), PAGED_CODE, PiNoRetest, PiUseTimeout, PREQ_ALTERNATIVE, PREQ_LIST, and TRUE. Referenced by IopAssignInner().
|
|
Definition at line 3292 of file pnpres.c. References ARBITER_ACTION, ArbiterActionCommitAllocation, ArbiterActionRetestAllocation, ASSERT, DebugMessage, DUMP_DETAIL, FALSE, IopAssign(), IopCheckDataStructures(), IopPlacement(), IopRestoreBestConfiguration(), IopRootDeviceNode, NTSTATUS(), PiActiveArbiterList, PiAssignTable, PiAssignTableCount, PiBestArbiterList, PiBestPriority, PiNoRetest, PnpResDebugLevel, STOP_ERROR, and TRUE. Referenced by IopAllocateResources(), IopReallocateResources(), IopRebalance(), and IopRestoreResourcesInternal().
|
|
Definition at line 2034 of file pnpres.c. References ArbiterResultNullRequest, ASSERT, CmRegistryMachineHardwareResourceMapName, DebugMessage, DUMP_ERROR, ExAllocatePoolCMRL, ExAllocatePoolCMRR, ExFreePool(), IopChildToRootTranslation(), IopCreateRegistryKeyEx(), IopParentToRawTranslation(), IopWriteResourceList(), IopWstrRaw, IopWstrTranslated, NT_SUCCESS, NTSTATUS(), NULL, ObQueryNameString(), PAGED_CODE, PagedPool, PREQ_ALTERNATIVE, PREQ_DESC, PREQ_LIST, RtlAppendUnicodeToString(), and RtlInitUnicodeString(). Referenced by IopBuildCmResourceLists().
|
|
Definition at line 2320 of file pnpres.c. References DbgPrint, DebugMessage, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, DUMP_INFO, _IOP_RESOURCE_REQUEST::Flags, _DEVICE_NODE::InstancePath, IOP_ASSIGN_EXCLUDE, IOP_ASSIGN_IGNORE, IOP_ASSIGN_RETRY, IopBuildCmResourceList(), IopDetermineResourceListSize(), IopDumpCmResourceList(), IopWriteAllocatedResourcesToRegistry(), NTSTATUS(), NULL, PAGED_CODE, _IOP_RESOURCE_REQUEST::PhysicalDevice, PnpResDebugLevel, _IOP_RESOURCE_REQUEST::ResourceAssignment, _IOP_RESOURCE_REQUEST::Status, and _IOP_RESOURCE_REQUEST::TranslatedResourceAssignment. Referenced by IopAllocateResources(), IopReallocateResources(), and IopRebalance().
|
|
Definition at line 4339 of file pnpres.c. References ArbiterActionBootAllocation, ArbiterActionCommitAllocation, ArbiterActionQueryAllocatedResources, ArbiterActionQueryArbitrate, ArbiterActionQueryConflict, ArbiterActionRetestAllocation, ArbiterActionRollbackAllocation, ArbiterActionTestAllocation, ArbiterActionWriteReservedResources, _ARBITER_INTERFACE::ArbiterHandler, _PI_RESOURCE_ARBITER_ENTRY::ArbiterInterface, ASSERT, _ARBITER_INTERFACE::Context, _ARBITER_LIST_ENTRY::ListEntry, NTSTATUS(), NULL, _ARBITER_PARAMETERS::Parameters, and PREQ_DESC. Referenced by IopAddReqDescsToArbiters(), IopArbitrateDeviceResources(), IopPlacement(), IopPlacementForReservation(), IopQueryConflictListInternal(), IopReleaseResourcesInternal(), IopRemoveReqDescsFromArbiters(), and IopSetupArbiterAndTranslators().
|
|
Definition at line 7662 of file pnpres.c. References IopCheckDataStructuresWorker(). Referenced by IopAssignInner(), IopQueryConflictListInternal(), IopRebalance(), and IopReserve().
|
|
Definition at line 7674 of file pnpres.c. References _PI_RESOURCE_ARBITER_ENTRY::ActiveArbiterList, _PI_RESOURCE_ARBITER_ENTRY::ArbiterInterface, ASSERT, NULL, and _PI_RESOURCE_ARBITER_ENTRY::ResourceList. Referenced by IopCheckDataStructures().
|
|
Definition at line 3933 of file pnpres.c. References ArbiterRequestHalReported, BusNumber, _TRANSLATOR_INTERFACE::Context, DbgPrint, _DEVICE_NODE::DeviceTranslatorList, PNPRESDEBUGTRANSLATIONFAILURE::devnode, ExAllocatePoolPRD, ExFreePool(), exit, FALSE, InterfaceType, IopFindBusDeviceNode(), IopRootDeviceNode, NT_SUCCESS, NTSTATUS(), NULL, PagedPool, _DEVICE_NODE::Parent, PnpResDebugLevel, PnpResDebugTranslationFailure, PnpResDebugTranslationFailureCount, PNPRESDEBUGTRANSLATIONFAILURE::resource, _PI_RESOURCE_TRANSLATOR_ENTRY::ResourceType, STOP_ERROR, TranslateChildToParent, _TRANSLATOR_INTERFACE::TranslateResources, _PI_RESOURCE_TRANSLATOR_ENTRY::TranslatorInterface, and TRUE. Referenced by IopBuildCmResourceList().
|
|
Definition at line 6955 of file pnpres.c. References ExAllocatePoolIORRR, IopDetermineResourceListSize(), NULL, and PagedPool. Referenced by IopReserveLegacyBootResources().
|
|
Definition at line 6726 of file pnpres.c. References ExAllocatePoolCMRL, IopDetermineResourceListSize(), NTSTATUS(), NULL, _DEVICE_NODE::OverUsed2, PAGED_CODE, PagedPool, and _DEVICE_NODE::ResourceList. Referenced by IopLegacyResourceAllocation().
|
|
Definition at line 1767 of file pnpres.c. References PAGED_CODE, and _IOP_RESOURCE_REQUEST::Priority. Referenced by IopRearrangeAssignTable().
|
|
Definition at line 1723 of file pnpres.c. References PAGED_CODE, and PREQ_ALTERNATIVE. Referenced by IopRearrangeReqList().
|
|
Definition at line 6801 of file pnpres.c. References BusNumber, ExAllocatePoolIORRR, ExFreePool(), InterfaceType, List, NULL, and PagedPool. Referenced by IopReserveLegacyBootResources().
|
|
Definition at line 4533 of file pnpres.c. References DbgPrint. Referenced by IopDumpResourceRequirementsList(), and IopPlacementForReservation().
|
|
Definition at line 4480 of file pnpres.c. References DbgPrint, IopDumpResourceDescriptor(), and NULL. Referenced by IopGetResourceRequirementsForAssignTable(), and IopReserveBootResourcesInternal().
|
|
Definition at line 6528 of file pnpres.c. References BusNumber, _INTERFACE::Context, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, ExFreePool(), _INTERFACE::InterfaceDereference, IopFindBusDeviceNode(), IopQueryResourceHandlerInterface(), IopRootDeviceNode, NT_SUCCESS, NTSTATUS(), NULL, _DEVICE_NODE::PhysicalDeviceObject, and ResourceLegacyDeviceDetection. Referenced by IoReportDetectedDevice().
|
|
Definition at line 7775 of file pnpres.c. References ASSERT, _DEVICE_OBJECT::AttachedDevice, DNF_LEGACY_DRIVER, DO_BUS_ENUMERATED_DEVICE, _DRIVER_OBJECT::DriverExtension, FALSE, _DEVICE_NODE::Flags, IopDatabaseLock, NTSTATUS(), NULL, PAGED_CODE, RtlCompareUnicodeString(), _DRIVER_EXTENSION::ServiceKeyName, _DEVICE_NODE::ServiceName, and TRUE. Referenced by IopQueryConflictFillConflicts().
|
|
Definition at line 6408 of file pnpres.c. References BusNumber, DebugMessage, DUMP_DETAIL, _DEVICE_NODE::InstancePath, InterfaceType, IopFindBusDeviceNodeInternal(), IopRootDeviceNode, and NULL. Referenced by IopChildToRootTranslation(), IopDuplicateDetection(), IopReleaseResourcesInternal(), and IopSetupArbiterAndTranslators().
|
|
Definition at line 6474 of file pnpres.c. References _DEVICE_NODE::BusNumber, BusNumber, _DEVICE_NODE::Child, _DEVICE_NODE::InterfaceType, InterfaceType, NULL, and _DEVICE_NODE::Sibling. Referenced by IopFindBusDeviceNode().
|
|
Definition at line 5911 of file pnpres.c. References ASSERT, DebugMessage, DNF_LEGACY_RESOURCE_DEVICENODE, DNF_MADEUP, DNF_PROCESSED, DO_BUS_ENUMERATED_DEVICE, _DEVICE_OBJECT::DriverObject, DUMP_ERROR, DUMP_INFO, _DEVICE_NODE::DuplicatePDO, FALSE, _DEVICE_OBJECT::Flags, _DEVICE_NODE::Flags, IoCreateDevice(), IoDeleteDevice(), IopAllocateDeviceNode(), IopLegacyDeviceNode, IoPnpDriverObject, IopNumberDeviceNodes, IopSetLegacyDeviceInstance(), KeQueryTickCount(), L, NT_SUCCESS, NTSTATUS(), _DEVICE_NODE::PhysicalDeviceObject, and USHORT. Referenced by IopLegacyResourceAllocation().
|
|
Definition at line 3424 of file pnpres.c. References _PI_RESOURCE_ARBITER_ENTRY::ArbiterInterface, ASSERT, FALSE, NULL, PI_MAXIMUM_RESOURCE_TYPE_TRACKED, ResourceArbiter, ResourceTranslator, _PI_RESOURCE_ARBITER_ENTRY::ResourceType, TRUE, and USHORT. Referenced by IopSetupArbiterAndTranslators().
|
|
Definition at line 5121 of file pnpres.c. References Count, DebugMessage, DNF_STARTED, DUMP_ERROR, ExAllocatePoolPRD, NULL, PagedPool, _IOP_RESOURCE_REQUEST::PhysicalDevice, PiAssignTable, PiAssignTableCount, PREQ_ALTERNATIVE, PREQ_DESC, PREQ_LIST, and _IOP_RESOURCE_REQUEST::ReqList. Referenced by IopArbitrateDeviceResources().
|
|
Definition at line 1922 of file pnpres.c. References ExFreePool(), IS_TRANSLATED_REQ_DESC, PAGED_CODE, and PREQ_DESC. Referenced by IopFreeReqList(), and IopResourceRequirementsListToReqList().
|
|
Definition at line 1948 of file pnpres.c. References ExFreePool(), IopFreeReqAlternative(), and PAGED_CODE. Referenced by IopFreeResourceRequirementsForAssignTable(), IopQueryConflictListInternal(), IopReserveBootResourcesInternal(), and IopResourceRequirementsListToReqList().
|
|
Definition at line 1988 of file pnpres.c. References ExFreePool(), _IOP_RESOURCE_REQUEST::Flags, IOP_ASSIGN_KEEP_CURRENT_CONFIG, IopFreeReqList(), NULL, PAGED_CODE, _IOP_RESOURCE_REQUEST::ReqList, and _IOP_RESOURCE_REQUEST::ResourceRequirements. Referenced by IopAllocateResources(), IopGetResourceRequirementsForAssignTable(), IopReallocateResources(), IopRebalance(), and IopRestoreResourcesInternal().
|
|
Definition at line 1066 of file pnpres.c. References _IOP_RESOURCE_REQUEST::AllocationType, ArbiterRequestPnpEnumerated, Count, DebugMessage, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, DNF_RESOURCE_REQUIREMENTS_CHANGED, DNF_RESOURCE_REQUIREMENTS_NEED_FILTERED, DUMP_DETAIL, DUMP_INFO, ExFreePool(), _DEVICE_NODE::Flags, _IOP_RESOURCE_REQUEST::Flags, _DEVICE_NODE::InstancePath, IOP_ASSIGN_CLEAR_RESOURCE_REQUIREMENTS_CHANGE_FLAG, IOP_ASSIGN_IGNORE, IOP_ASSIGN_KEEP_CURRENT_CONFIG, IopDumpResourceRequirementsList(), IopFilterResourceRequirementsList(), IopFreeResourceRequirementsForAssignTable(), IopQueryDeviceResources(), IopRearrangeReqList(), IopResourceRequirementsListToReqList(), NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, _IOP_RESOURCE_REQUEST::PhysicalDevice, PnpResDebugLevel, PREQ_LIST, _IOP_RESOURCE_REQUEST::Priority, QUERY_RESOURCE_REQUIREMENTS, _IOP_RESOURCE_REQUEST::ReqList, _IOP_RESOURCE_REQUEST::ResourceAssignment, _DEVICE_NODE::ResourceList, _IOP_RESOURCE_REQUEST::ResourceRequirements, _DEVICE_NODE::ResourceRequirements, _IOP_RESOURCE_REQUEST::Status, Status, and _IOP_RESOURCE_REQUEST::TranslatedResourceAssignment. Referenced by IopAllocateResources(), IopReallocateResources(), and IopRebalance().
|
|
Definition at line 2845 of file pnpres.c. References FALSE, _IOP_RESOURCE_REQUEST::Flags, IOP_ASSIGN_EXCLUDE, PiAssignTable, PiAssignTableCount, PiBestPriority, PiNoRetest, PREQ_ALTERNATIVE, PREQ_LIST, _IOP_RESOURCE_REQUEST::Priority, _IOP_RESOURCE_REQUEST::ReqList, and TRUE. Referenced by IopAssign().
|
|
Definition at line 6180 of file pnpres.c. References _IOP_RESOURCE_REQUEST::AllocationType, ArbiterRequestPnpDetected, ASSERT, DebugMessage, DelayExecution, DNF_ASSIGNING_RESOURCES, DNF_RESOURCE_ASSIGNED, DNF_RESOURCE_REPORTED, DRVO_LEGACY_RESOURCES, DUMP_ERROR, ExAllocatePoolIORL, ExFreePool(), FALSE, _IOP_RESOURCE_REQUEST::Flags, _DEVICE_NODE::Flags, IOP_ASSIGN_NO_REBALANCE, IopAllocateResources(), IopCombineLegacyResources(), IopDatabaseLock, IopDetermineResourceListSize(), IopFindLegacyDeviceNode(), IoPnpDriverObject, IopRegistrySemaphore, IopReleaseResources(), IopRemoveLegacyDeviceNode(), IopRootDeviceNode, IopWriteAllocatedResourcesToRegistry(), KeEnterCriticalRegion, KeLeaveCriticalRegion, KeReleaseSemaphore(), KernelMode, KeWaitForSingleObject(), NT_SUCCESS, NTSTATUS(), NULL, _DEVICE_NODE::OverUsed1, PagedPool, _DEVICE_NODE::Parent, _IOP_RESOURCE_REQUEST::PhysicalDevice, PnpDefaultInterfaceType, _DEVICE_NODE::ResourceList, _DEVICE_NODE::ResourceListTranslated, _IOP_RESOURCE_REQUEST::ResourceRequirements, and TRUE. Referenced by IoAssignResources(), IopReleaseDeviceResources(), and IoReportResourceUsageInternal().
|
|
Definition at line 2391 of file pnpres.c. References exit, FALSE, PAGED_CODE, and TRUE. Referenced by IopReleaseFilteredBootResources().
|
|
Definition at line 3868 of file pnpres.c. References ASSERT, _TRANSLATOR_INTERFACE::Context, DebugMessage, DUMP_ERROR, IS_TRANSLATED_REQ_DESC, NT_SUCCESS, NTSTATUS(), PREQ_DESC, TranslateParentToChild, and _TRANSLATOR_INTERFACE::TranslateResources. Referenced by IopBuildCmResourceList().
|
|
Definition at line 2554 of file pnpres.c. References _PI_RESOURCE_ARBITER_ENTRY::ActiveArbiterList, ArbiterActionCommitAllocation, ArbiterActionRetestAllocation, ArbiterActionTestAllocation, ASSERT, _PI_RESOURCE_ARBITER_ENTRY::BestConfig, _PI_RESOURCE_ARBITER_ENTRY::BestResourceList, FALSE, IopCallArbiter(), IopPlacementForRebalance(), IopRootDeviceNode, NT_SUCCESS, NTSTATUS(), NULL, PI_ARBITER_HAS_SOMETHING, PI_ARBITER_TEST_FAILED, PiActiveArbiterList, _PI_RESOURCE_ARBITER_ENTRY::ResourceList, _PI_RESOURCE_ARBITER_ENTRY::ResourcesChanged, and _PI_RESOURCE_ARBITER_ENTRY::State. Referenced by IopAssign(), IopAssignInner(), and IopRebalance().
|
|
Definition at line 4946 of file pnpres.c. References _DEVICE_NODE::Child, IopArbitrateDeviceResources(), _DEVICE_NODE::LockCount, NT_SUCCESS, NTSTATUS(), and _DEVICE_NODE::Sibling. Referenced by IopPlacement().
|
|
Definition at line 2649 of file pnpres.c. References _PI_RESOURCE_ARBITER_ENTRY::ActiveArbiterList, _ARBITER_LIST_ENTRY::AlternativeCount, _ARBITER_LIST_ENTRY::Alternatives, ArbiterActionBootAllocation, ASSERT, _PI_RESOURCE_ARBITER_ENTRY::BestConfig, _PI_RESOURCE_ARBITER_ENTRY::BestResourceList, DbgPrint, FALSE, IopCallArbiter(), IopDumpResourceDescriptor(), NT_SUCCESS, NTSTATUS(), NULL, _ARBITER_LIST_ENTRY::PhysicalDeviceObject, PiActiveArbiterList, _PI_RESOURCE_ARBITER_ENTRY::ResourceList, _PI_RESOURCE_ARBITER_ENTRY::ResourcesChanged, and _PI_RESOURCE_ARBITER_ENTRY::State. Referenced by IopReserve().
|
|
Definition at line 8022 of file pnpres.c. References ARBITER_CONFLICT_INFO, ASSERT, DebugMessage, DUMP_DETAIL, Index, IopEliminateBogusConflict(), IopQueryConflictFillString(), NTSTATUS(), NULL, and PAGED_CODE. Referenced by IopQueryConflictListInternal().
|
|
Definition at line 7876 of file pnpres.c. References ASSERT, Buffer, DO_BUS_ENUMERATED_DEVICE, _DRIVER_OBJECT::DriverName, _DEVICE_NODE::DuplicatePDO, _DEVICE_NODE::InstancePath, IopRootDeviceNode, NTSTATUS(), NULL, and PAGED_CODE. Referenced by IopQueryConflictFillConflicts().
|
|
Definition at line 7717 of file pnpres.c. References DebugMessage, DelayExecution, DUMP_ERROR, FALSE, IopQueryConflictListInternal(), IopRegistrySemaphore, KeEnterCriticalRegion, KeLeaveCriticalRegion, KeReleaseSemaphore(), KernelMode, KeWaitForSingleObject(), NT_SUCCESS, NTSTATUS(), NULL, and PAGED_CODE.
|
|
Definition at line 8336 of file pnpres.c. References ArbiterActionQueryConflict, ArbiterRequestUndefined, ASSERT, _DEVICE_NODE::ChildBusNumber, _DEVICE_NODE::ChildInterfaceType, CmResourceTypeReserved, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, ExFreePool(), IopCallArbiter(), IopCheckDataStructures(), IopCmResourcesToIoResources(), IopFreeReqList(), IopQueryConflictFillConflicts(), IopResourceRequirementsListToReqList(), IopRootDeviceNode, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PnpDefaultInterfaceType, PnpResDebugLevel, PREQ_ALTERNATIVE, PREQ_DESC, PREQ_LIST, RA, _DEVICE_NODE::ResourceRequirements, and STOP_ERROR. Referenced by IopQueryConflictList().
|
|
Definition at line 4589 of file pnpres.c. References ExAllocatePoolPDO, ExFreePool(), IopQueryRebalanceWorker(), NULL, PagedPool, and PDEVICE_OBJECT. Referenced by IopRebalance().
|
|
Definition at line 4667 of file pnpres.c. References ASSERT, _DEVICE_NODE::Child, DebugMessage, DNF_ASSIGNING_RESOURCES, DNF_ASYNC_REQUEST_PENDING, DNF_LEGACY_DRIVER, DNF_NEEDS_REBALANCE, DNF_STOPPED, DUMP_ERROR, _DEVICE_NODE::EnumerationMutex, Executive, FALSE, _DEVICE_NODE::InstancePath, IopDoesDevNodeHaveProblem, IopTestForReconfiguration(), KernelMode, KeSetEvent(), KeWaitForSingleObject(), _DEVICE_NODE::LockCount, NULL, and _DEVICE_NODE::Sibling. Referenced by IopQueryRebalance().
|
|
Definition at line 7470 of file pnpres.c. References ASSERT, DebugMessage, DelayExecution, DNF_ASSIGNING_RESOURCES, DNF_HAS_RESOURCE, DNF_NON_STOPPED_REBALANCE, DNF_RESOURCE_ASSIGNED, DNF_RESOURCE_REPORTED, DNF_RESOURCE_REQUIREMENTS_CHANGED, DUMP_ERROR, ExAcquireResourceShared, ExFreePool(), ExReleaseResource, FALSE, _IOP_RESOURCE_REQUEST::Flags, _DEVICE_NODE::Flags, IOP_ASSIGN_KEEP_CURRENT_CONFIG, IOP_ASSIGN_NO_REBALANCE, IopAcquireEnumerationLock, IopAssignInner(), IopBuildCmResourceLists(), IopDeviceTreeLock, IopFreeResourceRequirementsForAssignTable(), IopGetResourceRequirementsForAssignTable(), IopRebalance(), IopRegistrySemaphore, IopReleaseEnumerationLock, IopReleaseResourcesInternal(), IopRequestDeviceRemoval(), IopRestoreResourcesInternal(), IopStartDevice(), KeEnterCriticalRegion, KeLeaveCriticalRegion, KeReleaseSemaphore(), KernelMode, KeWaitForSingleObject(), NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, _IOP_RESOURCE_REQUEST::PhysicalDevice, _DEVICE_NODE::PhysicalDeviceObject, _IOP_RESOURCE_REQUEST::ResourceAssignment, _DEVICE_NODE::ResourceList, _DEVICE_NODE::ResourceListTranslated, _IOP_RESOURCE_REQUEST::TranslatedResourceAssignment, and TRUE. Referenced by IopDeviceActionWorker().
|
|
Definition at line 1878 of file pnpres.c. References Count, IopCompareAlternativeCount(), and PAGED_CODE. Referenced by IopAllocateResources().
|
|
Definition at line 1811 of file pnpres.c. References DebugMessage, DUMP_ERROR, _DEVICE_NODE::InstancePath, IopComparePriority(), NULL, PAGED_CODE, and PREQ_ALTERNATIVE. Referenced by IopGetResourceRequirementsForAssignTable(), and IopRestoreResourcesInternal().
|
|
Definition at line 5215 of file pnpres.c. References _IOP_RESOURCE_REQUEST::AllocationType, ArbiterActionCommitAllocation, ArbiterRequestPnpEnumerated, ASSERT, DebugMessage, DelayExecution, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, DNF_NO_RESOURCE_REQUIRED, DNF_NON_STOPPED_REBALANCE, DNF_RESOURCE_ASSIGNED, DNF_RESOURCE_REPORTED, DNF_RESOURCE_REQUIREMENTS_CHANGED, DNF_STOPPED, DUMP_DETAIL, DUMP_ERROR, DUMP_INFO, ExAllocatePoolIORR, ExAllocatePoolPDO, ExFreePool(), exit, FALSE, _DEVICE_NODE::Flags, _IOP_RESOURCE_REQUEST::Flags, IOP_ASSIGN_CLEAR_RESOURCE_REQUIREMENTS_CHANGE_FLAG, IOP_ASSIGN_EXCLUDE, IOP_ASSIGN_IGNORE, IOP_ASSIGN_RESOURCES_RELEASED, IOP_RESOURCE_REQUEST, IopAssignInner(), IopBuildCmResourceLists(), IopCheckDataStructures(), IopFreeResourceRequirementsForAssignTable(), IopGetResourceRequirementsForAssignTable(), IopNumberDeviceNodes, IopPlacement(), IopQueryRebalance(), IopQueryReconfiguration(), IopRegistrySemaphore, IopReleaseResourcesInternal(), IopRequestDeviceRemoval(), IopRestoreResourcesInternal(), IopRootDeviceNode, IopStartDevice(), IRP_MN_CANCEL_STOP_DEVICE, IRP_MN_STOP_DEVICE, KeEnterCriticalRegion, KeLeaveCriticalRegion, KeReleaseSemaphore(), KernelMode, KeWaitForSingleObject(), NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, PagedPool, _IOP_RESOURCE_REQUEST::PhysicalDevice, PnpResDebugLevel, _IOP_RESOURCE_REQUEST::ResourceAssignment, _DEVICE_NODE::ResourceList, _DEVICE_NODE::ResourceListTranslated, _IOP_RESOURCE_REQUEST::Status, STOP_ERROR, _IOP_RESOURCE_REQUEST::TranslatedResourceAssignment, and TRUE. Referenced by IopAllocateResources(), and IopReallocateResources().
|
|
Definition at line 2474 of file pnpres.c. References ArbiterRequestPnpEnumerated, ASSERT, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, DNF_BOOT_CONFIG_RESERVED, ExFreePool(), _IOP_RESOURCE_REQUEST::Flags, _DEVICE_NODE::Flags, IOP_ASSIGN_EXCLUDE, IopNeedToReleaseBootResources(), IopReleaseResourcesInternal(), IopReserveBootResourcesInternal(), IopRestoreResourcesInternal(), NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, _IOP_RESOURCE_REQUEST::PhysicalDevice, _IOP_RESOURCE_REQUEST::ResourceAssignment, _DEVICE_NODE::ResourceList, and _IOP_RESOURCE_REQUEST::Status. Referenced by IopAllocateResources().
|
|
Definition at line 7383 of file pnpres.c. References ArbiterRequestPnpEnumerated, DNF_BOOT_CONFIG_RESERVED, DNF_DEVICE_GONE, DNF_HAS_BOOT_CONFIG, DNF_MADEUP, DNF_RESOURCE_ASSIGNED, DNF_RESOURCE_REPORTED, ExFreePool(), IopReleaseResourcesInternal(), IopReserveBootResourcesInternal(), NT_SUCCESS, and NULL. Referenced by IopLegacyResourceAllocation().
|
|
Definition at line 5757 of file pnpres.c. References _ARBITER_LIST_ENTRY::AlternativeCount, _ARBITER_LIST_ENTRY::Alternatives, ArbiterActionCommitAllocation, ArbiterActionTestAllocation, _PI_RESOURCE_ARBITER_ENTRY::ArbiterInterface, ArbiterRequestPnpEnumerated, ASSERT, _ARBITER_LIST_ENTRY::Assignment, _DEVICE_NODE::DeviceArbiterList, FALSE, _ARBITER_LIST_ENTRY::Flags, IopCallArbiter(), IopFindBusDeviceNode(), IopRootDeviceNode, IopWriteAllocatedResourcesToRegistry(), _ARBITER_LIST_ENTRY::ListEntry, NTSTATUS(), NULL, _DEVICE_NODE::Parent, _ARBITER_LIST_ENTRY::PhysicalDeviceObject, PnpDefaultInterfaceType, _ARBITER_LIST_ENTRY::RequestSource, _PI_RESOURCE_ARBITER_ENTRY::ResourceList, TRUE, and _ARBITER_LIST_ENTRY::WorkSpace. Referenced by IopReallocateResources(), IopRebalance(), IopReleaseFilteredBootResources(), and IopReleaseResources().
|
|
Definition at line 6083 of file pnpres.c. References ASSERT, DebugMessage, DO_BUS_ENUMERATED_DEVICE, _DEVICE_OBJECT::DriverObject, DUMP_ERROR, IoDeleteDevice(), IopDestroyDeviceNode(), IopLegacyDeviceNode, IoPnpDriverObject, NULL, _DEVICE_NODE::OverUsed1, and _DEVICE_NODE::OverUsed2. Referenced by IopLegacyResourceAllocation().
|
|
Definition at line 2780 of file pnpres.c. References _PI_RESOURCE_ARBITER_ENTRY::ActiveArbiterList, ArbiterActionRollbackAllocation, ASSERT, FALSE, IopCallArbiter(), NULL, PI_ARBITER_HAS_SOMETHING, PREQ_DESC, _PI_RESOURCE_ARBITER_ENTRY::ResourceList, _PI_RESOURCE_ARBITER_ENTRY::ResourcesChanged, _PI_RESOURCE_ARBITER_ENTRY::State, _REQ_DESC::TranslatedReqDesc, and TRUE. Referenced by IopAssign().
|
|
Definition at line 3376 of file pnpres.c. References IopAddReqDescsToArbiters(), IopCheckDataStructures(), IopPlacementForReservation(), IopRootDeviceNode, NTSTATUS(), PAGED_CODE, PiActiveArbiterList, PiBestArbiterList, PnpResDebugLevel, PREQ_ALTERNATIVE, RA, and STOP_ERROR. Referenced by IopReserveBootResourcesInternal().
|
|
Definition at line 7291 of file pnpres.c. References ASSERT, _DEVICE_NODE::BootResources, DNF_MADEUP, ExAllocatePoolIORL, ExAllocatePoolIORRR, ExFreePool(), _DEVICE_NODE::Flags, IopAllocateBootResources(), IopDetermineResourceListSize(), IopInitReservedResourceList, NTSTATUS(), NULL, PagedPool, and PIOP_RESERVED_RESOURCES_RECORD. Referenced by IopInitializePlugPlayServices().
|
|
Definition at line 7198 of file pnpres.c. References ASSERT, _DEVICE_NODE::BootResources, DbgPrint, DNF_BOOT_CONFIG_RESERVED, ExAllocatePoolIORL, ExFreePool(), _DEVICE_NODE::Flags, _DEVICE_NODE::InstancePath, IopCmResourcesToIoResources(), IopDetermineResourceListSize(), IopDumpResourceRequirementsList(), IopFreeReqList(), IopReserve(), IopResourceRequirementsListToReqList(), NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PagedPool, and PREQ_LIST. Referenced by IopAllocateBootResources(), IopReleaseFilteredBootResources(), and IopReleaseResources().
|
|
Definition at line 6996 of file pnpres.c. References ArbiterRequestHalReported, ArbiterRequestPnpEnumerated, ASSERT, _DEVICE_NODE::BootResources, BusNumber, DbgPrint, DebugMessage, DNF_HAS_BOOT_CONFIG, DUMP_INFO, ExFreePool(), _DEVICE_NODE::Flags, InterfaceType, IopAllocateBootResources(), IopCombineCmResourceList(), IopCreateCmResourceList(), IopDumpCmResourceList(), IopInitHalDeviceNode, IopInitHalResources, IopInitReservedResourceList, NT_SUCCESS, NTSTATUS(), NULL, _DEVICE_NODE::PhysicalDeviceObject, PIOP_RESERVED_RESOURCES_RECORD, and PnpResDebugLevel. Referenced by IopEnumerateDevice(), and IopInitializeBootDrivers().
|
|
Definition at line 1267 of file pnpres.c. References _ARBITER_LIST_ENTRY::AlternativeCount, _ARBITER_LIST_ENTRY::Alternatives, ARBITER_FLAG_BOOT_CONFIG, ArbiterResultUndefined, ASSERT, _ARBITER_LIST_ENTRY::Assignment, _ARBITER_LIST_ENTRY::BusNumber, CmResourceTypeReserved, DbgPrint, DebugMessage, DUMP_ERROR, DUMP_INFO, ExAllocatePoolRD, FALSE, _ARBITER_LIST_ENTRY::Flags, _ARBITER_LIST_ENTRY::InterfaceType, IopAllocPool, IopAllocPoolAligned, IopFreeReqAlternative(), IopFreeReqList(), IopInitPool, IopSetupArbiterAndTranslators(), _ARBITER_LIST_ENTRY::ListEntry, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PagedPool, _ARBITER_LIST_ENTRY::PhysicalDeviceObject, PnpDefaultInterfaceType, PnpResDebugLevel, PREQ_ALTERNATIVE, PREQ_DESC, PREQ_LIST, _ARBITER_LIST_ENTRY::RequestSource, _ARBITER_LIST_ENTRY::Result, _ARBITER_LIST_ENTRY::SlotNumber, STRUCTURE_ALIGNMENT, TRUE, and _ARBITER_LIST_ENTRY::WorkSpace. Referenced by IopGetResourceRequirementsForAssignTable(), IopQueryConflictListInternal(), IopReserveBootResourcesInternal(), and IopRestoreResourcesInternal().
|
|
Definition at line 2997 of file pnpres.c. References _PI_RESOURCE_ARBITER_ENTRY::ActiveArbiterList, _PI_RESOURCE_ARBITER_ENTRY::BestConfig, _PI_RESOURCE_ARBITER_ENTRY::BestResourceList, FALSE, _IOP_RESOURCE_REQUEST::Flags, IOP_ASSIGN_EXCLUDE, PiActiveArbiterList, PiAssignTable, PiAssignTableCount, PiBestArbiterList, PiNoRetest, PREQ_ALTERNATIVE, PREQ_DESC, PREQ_LIST, _IOP_RESOURCE_REQUEST::ReqList, _PI_RESOURCE_ARBITER_ENTRY::ResourceList, _PI_RESOURCE_ARBITER_ENTRY::ResourcesChanged, and TRUE. Referenced by IopAssignInner().
|
|
Definition at line 5660 of file pnpres.c. References _IOP_RESOURCE_REQUEST::AllocationType, ArbiterRequestPnpEnumerated, ASSERT, DbgPrint, DebugMessage, DUMP_ERROR, ExFreePool(), FALSE, _IOP_RESOURCE_REQUEST::Flags, IopAssignInner(), IopCmResourcesToIoResources(), IopDetermineResourceListSize(), IopFreeResourceRequirementsForAssignTable(), IopRearrangeReqList(), IopResourceRequirementsListToReqList(), IopWriteAllocatedResourcesToRegistry(), NT_SUCCESS, NTSTATUS(), NULL, _IOP_RESOURCE_REQUEST::PhysicalDevice, PREQ_LIST, _IOP_RESOURCE_REQUEST::Priority, _IOP_RESOURCE_REQUEST::ReqList, _IOP_RESOURCE_REQUEST::ResourceAssignment, _IOP_RESOURCE_REQUEST::ResourceRequirements, _IOP_RESOURCE_REQUEST::Status, and _IOP_RESOURCE_REQUEST::TranslatedResourceAssignment. Referenced by IopReallocateResources(), IopRebalance(), and IopReleaseFilteredBootResources().
|
|
Definition at line 2906 of file pnpres.c. References _PI_RESOURCE_ARBITER_ENTRY::ActiveArbiterList, _PI_RESOURCE_ARBITER_ENTRY::BestConfig, _PI_RESOURCE_ARBITER_ENTRY::BestResourceList, _IOP_RESOURCE_REQUEST::Flags, IOP_ASSIGN_EXCLUDE, PiActiveArbiterList, PiAssignTable, PiAssignTableCount, PiBestArbiterList, PiNoRetest, PREQ_ALTERNATIVE, PREQ_DESC, PREQ_LIST, _IOP_RESOURCE_REQUEST::ReqList, and _PI_RESOURCE_ARBITER_ENTRY::ResourceList. Referenced by IopAssign().
|
|
Definition at line 6660 of file pnpres.c. References _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, FALSE, IopDeviceObjectFromDeviceInstance(), IopServiceInstanceToDeviceInstance(), L, NT_SUCCESS, NTSTATUS(), NULL, _DEVICE_NODE::OverUsed2, PAGED_CODE, RtlFreeUnicodeString(), RtlInitUnicodeString(), RtlPrefixUnicodeString(), and TRUE. Referenced by IopFindLegacyDeviceNode().
|
|
Definition at line 3534 of file pnpres.c. References _PI_RESOURCE_ARBITER_ENTRY::ActiveArbiterList, ARBITER_PARTIAL, ArbiterActionQueryArbitrate, _PI_RESOURCE_ARBITER_ENTRY::ArbiterInterface, ArbiterRequestHalReported, ASSERT, _PI_RESOURCE_ARBITER_ENTRY::BestConfig, _PI_RESOURCE_ARBITER_ENTRY::BestResourceList, DebugMessage, _DEVICE_NODE::DeviceArbiterList, _PI_RESOURCE_ARBITER_ENTRY::DeviceArbiterList, _PI_RESOURCE_TRANSLATOR_ENTRY::DeviceNode, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, _DEVICE_NODE::DeviceTranslatorList, _PI_RESOURCE_TRANSLATOR_ENTRY::DeviceTranslatorList, DUMP_ERROR, DUMP_INFO, ExAllocatePoolAE, ExAllocatePoolTE, FALSE, _ARBITER_INTERFACE::Flags, _DEVICE_NODE::InterfaceType, IopCallArbiter(), IopFindBusDeviceNode(), IopFindResourceHandlerInfo(), IopQueryResourceHandlerInterface(), IopRootDeviceNode, IopTranslateAndAdjustReqDesc(), _DEVICE_NODE::NoArbiterMask, _DEVICE_NODE::NoTranslatorMask, NT_SUCCESS, NTSTATUS(), NULL, PagedPool, _DEVICE_NODE::Parent, _DEVICE_NODE::PhysicalDeviceObject, PI_MAXIMUM_RESOURCE_TYPE_TRACKED, PREQ_DESC, _DEVICE_NODE::QueryArbiterMask, _DEVICE_NODE::QueryTranslatorMask, ResourceArbiter, _PI_RESOURCE_ARBITER_ENTRY::ResourceList, _PI_RESOURCE_ARBITER_ENTRY::ResourcesChanged, ResourceTranslator, _PI_RESOURCE_TRANSLATOR_ENTRY::ResourceType, _PI_RESOURCE_ARBITER_ENTRY::ResourceType, _PI_RESOURCE_ARBITER_ENTRY::State, _PI_RESOURCE_TRANSLATOR_ENTRY::TranslatorInterface, TRUE, and USHORT. Referenced by IopResourceRequirementsListToReqList().
|
|
Definition at line 4767 of file pnpres.c. References ASSERT, _DEVICE_NODE::Child, DebugMessage, DNF_ADDED, DNF_ASSIGNING_RESOURCES, DNF_ASYNC_REQUEST_PENDING, DNF_BOOT_CONFIG_RESERVED, DNF_HAS_BOOT_CONFIG, DNF_LEGACY_DRIVER, DNF_MADEUP, DNF_NEEDS_REBALANCE, DNF_NON_STOPPED_REBALANCE, DNF_RESOURCE_REQUIREMENTS_CHANGED, DNF_STARTED, DNF_STOPPED, DUMP_INFO, FALSE, _DEVICE_NODE::Flags, _DEVICE_NODE::InstancePath, IopDoesDevNodeHaveProblem, IopQueryReconfiguration(), IopReleaseBootResources, IRP_MN_CANCEL_STOP_DEVICE, IRP_MN_QUERY_STOP_DEVICE, IRP_MN_STOP_DEVICE, NT_SUCCESS, NTSTATUS(), ObReferenceObject, _DEVICE_NODE::Sibling, and TRUE. Referenced by IopQueryRebalanceWorker().
|
|
Definition at line 4129 of file pnpres.c. References _ARBITER_LIST_ENTRY::AlternativeCount, _ARBITER_LIST_ENTRY::Alternatives, ASSERT, _ARBITER_LIST_ENTRY::Assignment, _TRANSLATOR_INTERFACE::Context, DebugMessage, DUMP_ERROR, ExAllocatePool, ExAllocatePool1RD, ExAllocatePoolIORD, ExFreePool(), exit, FALSE, _ARBITER_LIST_ENTRY::ListEntry, NT_SUCCESS, NTSTATUS(), NULL, PagedPool, PREQ_DESC, _TRANSLATOR_INTERFACE::TranslateResourceRequirements, and TRUE. Referenced by IopSetupArbiterAndTranslators().
|
|
Definition at line 239 of file pnpres.c. Referenced by IopFindLegacyDeviceNode(), and IopRemoveLegacyDeviceNode(). |
|
|
|
|
|
Definition at line 234 of file pnpres.c. Referenced by IopAddReqDescsToArbiters(), IopAssignInner(), IopPlacement(), IopPlacementForReservation(), IopReserve(), IopRestoreBestConfiguration(), and IopSaveCurrentConfiguration(). |
|
Definition at line 237 of file pnpres.c. Referenced by IopAssignInner(), IopFindResourcesForArbiter(), IopIsBestConfiguration(), IopRestoreBestConfiguration(), and IopSaveCurrentConfiguration(). |
|
Definition at line 238 of file pnpres.c. Referenced by IopAssignInner(), IopFindResourcesForArbiter(), IopIsBestConfiguration(), IopRestoreBestConfiguration(), and IopSaveCurrentConfiguration(). |
|
Definition at line 235 of file pnpres.c. Referenced by IopAssignInner(), IopReserve(), IopRestoreBestConfiguration(), and IopSaveCurrentConfiguration(). |
|
Definition at line 236 of file pnpres.c. Referenced by IopAssignInner(), and IopIsBestConfiguration(). |
|
Definition at line 241 of file pnpres.c. Referenced by IopAssign(), IopAssignInner(), IopIsBestConfiguration(), IopRestoreBestConfiguration(), and IopSaveCurrentConfiguration(). |
|
Definition at line 245 of file pnpres.c. Referenced by IopAssign(). |
|
Definition at line 273 of file pnpres.c. Referenced by IopAssignInner(), IopBuildCmResourceLists(), IopChildToRootTranslation(), IopGetResourceRequirementsForAssignTable(), IopQueryConflictListInternal(), IopRebalance(), IopReserve(), IopReserveLegacyBootResources(), and IopResourceRequirementsListToReqList(). |
|
Definition at line 287 of file pnpres.c. Referenced by IopChildToRootTranslation(). |
|
|
|
Definition at line 285 of file pnpres.c. Referenced by IopChildToRootTranslation(). |