#include "iop.h"
#include <setupblk.h>
Go to the source code of this file.
Classes | |
struct | _DRIVER_LIST_ENTRY |
struct | QUERY_CONTEXT |
Defines | |
#define | ASSERT_INITED(x) /* nothing */ |
#define | DebugPrint(level, x) |
#define | DEVICE_PREFIX_STRING TEXT("\\Device\\") |
#define | DOSDEVICES_PREFIX_STRING TEXT("\\DosDevices\\") |
#define | INITIAL_INFOBUFFER_SIZE sizeof(KEY_VALUE_FULL_INFORMATION) + 8*sizeof(WCHAR) + 255*sizeof(WCHAR) |
#define | NUM_QUERIES 4 |
Typedefs | |
typedef _DRIVER_LIST_ENTRY DRIVER_LIST_ENTRY * | PDRIVER_LIST_ENTRY |
typedef enum _ADD_DRIVER_STAGE | ADD_DRIVER_STAGE |
typedef * | PQUERY_CONTEXT |
Enumerations | |
enum | _ADD_DRIVER_STAGE { LowerDeviceFilters, LowerClassFilters, DeviceService, UpperDeviceFilters, UpperClassFilters, MaximumAddStage } |
Functions | |
NTSTATUS | IopBusCheck (IN PDEVICE_OBJECT DeviceObject, IN BOOLEAN LoadDriver, IN BOOLEAN AsyncOk) |
VOID | IopDeviceActionWorker (PVOID Context) |
NTSTATUS | IopEnumerateDevice (IN PDEVICE_OBJECT DeviceObject, IN PSTART_CONTEXT StartContext, IN BOOLEAN AsyncOk) |
NTSTATUS | IopCallDriverAddDeviceQueryRoutine (IN PWSTR ValueName, IN ULONG ValueType, IN PWCHAR ValueData, IN ULONG ValueLength, IN PQUERY_CONTEXT Context, IN ULONG ServiceType) |
NTSTATUS | IopProcessCriticalDeviceRoutine (IN HANDLE hDevInstance, IN PBOOLEAN FoundMatch, IN PUNICODE_STRING ServiceName, IN PUNICODE_STRING ClassGuid, IN PUNICODE_STRING LowerFilters, IN PUNICODE_STRING UpperFilters) |
BOOLEAN | IopProcessCriticalDevice (IN PDEVICE_NODE DeviceNode) |
NTSTATUS | IopProcessNewChildren (IN PDEVICE_NODE DeviceNode, IN PSTART_CONTEXT StartContext) |
NTSTATUS | IopProcessStartDevicesWorker (IN PDEVICE_NODE DeviceNode, OUT PVOID Context) |
USHORT | IopGetBusTypeGuidIndex (IN LPGUID busTypeGuid) |
BOOLEAN | IopFixupDeviceId (PWCHAR DeviceId) |
BOOLEAN | IopFixupIds (IN PWCHAR Ids, IN ULONG Length) |
BOOLEAN | IopGetRegistryDwordWithFallback (IN PUNICODE_STRING valueName, IN HANDLE PrimaryKey, IN HANDLE SecondaryKey, IN OUT PULONG Value) |
PSECURITY_DESCRIPTOR | IopGetRegistrySecurityWithFallback (IN PUNICODE_STRING valueName, IN HANDLE PrimaryKey, IN HANDLE SecondaryKey) |
NTSTATUS | IopChangeDeviceObjectFromRegistryProperties (IN PDEVICE_OBJECT PhysicalDeviceObject, IN HANDLE DeviceClassPropKey, IN HANDLE DevicePropKey, IN BOOLEAN UsePdoCharacteristics) |
NTSTATUS | IopRequestDeviceAction (IN PDEVICE_OBJECT DeviceObject OPTIONAL, IN DEVICE_REQUEST_TYPE RequestType, IN PKEVENT CompletionEvent OPTIONAL, IN PNTSTATUS CompletionStatus OPTIONAL) |
VOID | IopProcessStartDevices (IN PDEVICE_NODE DeviceNode, IN PSTART_CONTEXT StartContext) |
NTSTATUS | IopStartAndEnumerateDevice (IN PDEVICE_NODE DeviceNode, IN PSTART_CONTEXT StartContext) |
NTSTATUS | IopProcessNewDeviceNode (IN OUT PDEVICE_NODE DeviceNode) |
NTSTATUS | IopCallDriverAddDevice (IN PDEVICE_NODE DeviceNode, IN BOOLEAN LoadDriver, IN PADD_CONTEXT Context) |
NTSTATUS | IopQueryDeviceCapabilities (IN PDEVICE_NODE DeviceNode, OUT PDEVICE_CAPABILITIES Capabilities) |
NTSTATUS | IopProcessNewProfile (VOID) |
VOID | IopProcessNewProfileWorker (IN PVOID Context) |
NTSTATUS | IopProcessNewProfileStateCallback (IN PDEVICE_NODE DeviceNode, IN PVOID Context) |
Variables | |
ULONG | PnpEnumDebugLevel = 0 |
BOOLEAN | IopEnumerationInProgress = FALSE |
WORK_QUEUE_ITEM | IopDeviceEnumerationWorkItem |
|
Definition at line 69 of file pnpenum.c. Referenced by IopCallDriverAddDevice(), and IopEnumerateDevice(). |
|
Value: |
|
|
|
|
|
Referenced by IopProcessCriticalDeviceRoutine(). |
|
Referenced by IopProcessCriticalDeviceRoutine(). |
|
|
|
Definition at line 33 of file pnpenum.c. Referenced by IopCallDriverAddDevice(), and IopCallDriverAddDeviceQueryRoutine(). |
|
|
|
Definition at line 40 of file pnpenum.c.
|
|
Definition at line 728 of file pnpenum.c. References _START_CONTEXT::AddContext, _ADD_CONTEXT::DriverStartType, FALSE, _ADD_CONTEXT::GroupsToStart, _ADD_CONTEXT::GroupToStartNext, IopEnumerateDevice(), IopProcessAssignResources(), IopProcessStartDevices(), _START_CONTEXT::LoadDriver, _START_CONTEXT::NewDevice, NO_MORE_GROUP, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObject, PAGED_CODE, _DEVICE_NODE::PhysicalDeviceObject, and TRUE. Referenced by IopDeviceActionWorker().
|
|
Definition at line 2525 of file pnpenum.c. References ASSERT, ASSERT_INITED, ASSERTMSG, _DEVICE_OBJECT::AttachedDevice, CmRegistryMachineSystemCurrentControlSetControlClass, CmRegistryMachineSystemCurrentControlSetEnumName, DbgPrint, DebugPrint, _DEVICE_OBJECT::DeviceObjectExtension, DeviceService, DNF_ADDED, DNF_LEGACY_DRIVER, DO_DEVICE_INITIALIZING, DOE_BOTTOM_OF_FDO_STACK, DOE_DESIGNATED_FDO, DOE_RAW_FDO, ExFreePool(), _DEVOBJ_EXTENSION::ExtensionFlags, FALSE, _DEVICE_OBJECT::Flags, InitSafeBootMode, IoGetAttachedDevice(), IopBootLog(), IopCallDriverAddDeviceQueryRoutine(), IopChangeDeviceObjectFromRegistryProperties(), IopClearDevNodeProblem, IopDeviceNodeFlagsToCapabilities, IopGetRegistryValue(), IopOpenRegistryKeyEx(), IopQueryLegacyBusInformation(), IopRegistryDataToUnicodeString, IopRequestDeviceRemoval(), IopSafebootDriverLoad(), IopSetDevNodeProblem, KEY_VALUE_DATA, LowerClassFilters, LowerDeviceFilters, MaximumAddStage, _DRIVER_LIST_ENTRY::NextEntry, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, OK_TO_ADD_DEVICE, PDRIVER_ADD_DEVICE, PDRIVER_LIST_ENTRY, RtlInitUnicodeString(), RtlQueryRegistryValues(), TRUE, UpperClassFilters, and UpperDeviceFilters. Referenced by IopAddDevicesToBootDriverWorker(), IopNewDevice(), IopProcessAddDevicesWorker(), and IopProcessNewChildren().
|
|
Definition at line 3165 of file pnpenum.c. References _REINIT_PACKET::Context, _DRIVER_EXTENSION::Count, DebugPrint, DeviceService, DNF_ADDED, DNF_LEGACY_DRIVER, DNF_STARTED, _DRIVER_OBJECT::DriverExtension, _REINIT_PACKET::DriverObject, _REINIT_PACKET::DriverReinitializationRoutine, DRVO_INITIALIZED, DRVO_REINIT_REGISTERED, ExAllocatePool, ExFreePool(), ExInterlockedRemoveHeadList(), FALSE, _DRIVER_OBJECT::Flags, IopDatabaseLock, IopDoesDevNodeHaveProblem, IopDriverReinitializeQueueHead, IopGetDriverNameFromKeyNode(), IopGetGroupOrderIndex(), IopGetRegistryValue(), IopIsLegacyDriver(), IopLoadBootFilterDriver(), IopLoadDriver(), IopOpenServiceEnumKeys(), IopReferenceDriverObjectByName(), IopSetDevNodeProblem, KEY_VALUE_DATA, L, NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, OK_TO_ADD_DEVICE, PagedPool, PDRIVER_LIST_ENTRY, PnPBootDriversInitialized, PnPInitialized, RtlFreeUnicodeString(), RtlInitUnicodeString(), TRUE, USHORT, and ValueName. Referenced by IopCallDriverAddDevice().
|
|
Definition at line 4759 of file pnpenum.c. References ASSERT, _DEVICE_OBJECT::AttachedDevice, CHAR, _DEVICE_OBJECT::Characteristics, DebugPrint, DO_DEVICE_HAS_NAME, DO_EXCLUSIVE, ExFreePool(), FALSE, _DEVICE_OBJECT::Flags, IopCreateDefaultDeviceSecurityDescriptor(), IopGetRegistryDwordWithFallback(), IopGetRegistrySecurityWithFallback(), NT_SUCCESS, NTSTATUS(), NULL, ObSetSecurityObjectByPointer(), RtlGetDaclSecurityDescriptor(), RtlGetGroupSecurityDescriptor(), RtlGetOwnerSecurityDescriptor(), RtlGetSaclSecurityDescriptor(), RtlInitUnicodeString(), and TRUE. Referenced by IopCallDriverAddDevice().
|
|
Definition at line 307 of file pnpenum.c. References _START_CONTEXT::AddContext, ASSERT, _DEVICE_NODE::Child, _PI_DEVICE_REQUEST::CompletionEvent, _PI_DEVICE_REQUEST::CompletionStatus, _DEVOBJ_EXTENSION::DeviceNode, _PI_DEVICE_REQUEST::DeviceObject, _DEVICE_OBJECT::DeviceObjectExtension, DNF_ADDED, DNF_ENUMERATED, DNF_STARTED, _ADD_CONTEXT::DriverStartType, _DEVICE_NODE::EnumerationMutex, ExAcquireResourceShared, ExFreePool(), ExReleaseResource, FALSE, _DEVICE_NODE::Flags, _ADD_CONTEXT::GroupsToStart, _ADD_CONTEXT::GroupToStartNext, IopAcquireDeviceTreeLock, IopAcquireEnumerationLock, IopBusCheck(), IopDeviceTreeLock, IopDoesDevNodeHaveProblem, IopEnumerationInProgress, IopNewDevice(), IopPnpEnumerationRequestList, IopPnPSpinLock, IopProcessAssignResources(), IopProcessNewDeviceNode(), IopProcessStartDevices(), IopReallocateResources(), IopReleaseDeviceTreeLock, IopReleaseEnumerationLock, IopResourcesReleased, IopRestartDeviceNode(), IopRootDeviceNode, KeEnterCriticalRegion, KeLeaveCriticalRegion, KeSetEvent(), _START_CONTEXT::LoadDriver, _DEVICE_NODE::LockCount, _START_CONTEXT::NewDevice, NO_MORE_GROUP, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObject, PAGED_CODE, _DEVICE_NODE::Parent, _DEVICE_NODE::PhysicalDeviceObject, PiEnumerationLock, PNEW_DEVICE_WORK_ITEM, PnpAsyncOk, PnPBootDriversInitialized, PpRegistryDeviceResource, PpSynchronizeDeviceEventQueue(), ReenumerateBootDevices, ReenumerateDeviceOnly, _PI_DEVICE_REQUEST::RequestType, ResourceRequirementsChanged, _DEVICE_NODE::Sibling, StartDevice, and TRUE. Referenced by IopRequestDeviceAction().
|
|
Definition at line 1163 of file pnpenum.c. References ASSERT, ASSERT_INITED, _DEVICE_NODE::BusNumber, BusRelations, _DEVICE_NODE::Child, _DEVICE_RELATIONS::Count, DbgPrint, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, DNF_BEING_ENUMERATED, DNF_DEVICE_GONE, DNF_ENUMERATED, DNF_ENUMERATION_REQUEST_PENDING, DNF_NEED_ENUMERATION_ONLY, DNF_REMOVE_PENDING_CLOSES, DNF_STARTED, DO_BUS_ENUMERATED_DEVICE, DOCK_EJECTIRP_COMPLETED, _DEVICE_NODE::DockInfo, DOE_DELETE_PENDING, dummy(), ExFreePool(), exit, _DEVOBJ_EXTENSION::ExtensionFlags, FALSE, _DEVICE_OBJECT::Flags, _DEVICE_NODE::Flags, _DEVICE_NODE::InterfaceType, IOP_DIAG_THROW_CHAFF_AT_STARTED_PDO_STACK, IopAcquireEnumerationLock, IopAllocateDeviceNode(), IopBootConfigsReserved, IopHardwareProfileCancelRemovedDock(), IopInsertTreeDeviceNode(), IopProcessNewChildren(), IopQueryDeviceRelations(), IopReleaseEnumerationLock, IopRequestDeviceRemoval(), IopReserveLegacyBootResources(), IopSynchronousCall(), IRP_MJ_PNP, KeBugCheckEx(), _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, _DEVICE_RELATIONS::Objects, ObReferenceObject, _DEVICE_NODE::OverUsed1, PAGED_CODE, _DEVICE_NODE::Parent, _DEVICE_NODE::PhysicalDeviceObject, PNP_ERR_PDO_ENUMERATED_AFTER_DELETION, PpSetPlugPlayEvent(), _DEVICE_NODE::ServiceName, _DEVICE_NODE::Sibling, and TRUE. Referenced by IopBusCheck(), and IopStartAndEnumerateDevice().
|
|
Definition at line 4514 of file pnpenum.c. References FALSE, L, and TRUE.
|
|
Definition at line 4559 of file pnpenum.c. References FALSE, IopFixupDeviceId(), and TRUE. Referenced by IopProcessNewDeviceNode(), and IopStartAndEnumerateDevice().
|
|
Definition at line 4425 of file pnpenum.c. References ASSERT, BUS_TYPE_GUID_LIST, _BUS_TYPE_GUID_LIST::Count, ExAllocatePool, ExFreePool(), _BUS_TYPE_GUID_LIST::Guid, IopBusTypeGuidList, IopCompareGuid, _BUS_TYPE_GUID_LIST::Lock, NULL, PagedPool, and USHORT. Referenced by IopProcessNewDeviceNode().
|
|
Definition at line 4610 of file pnpenum.c. References EXCEPTION_EXECUTE_HANDLER, ExFreePool(), FALSE, IopGetRegistryValue(), NT_SUCCESS, NTSTATUS(), NULL, and TRUE. Referenced by IopChangeDeviceObjectFromRegistryProperties().
|
|
Definition at line 4679 of file pnpenum.c. References EXCEPTION_EXECUTE_HANDLER, ExFreePool(), FALSE, IopGetRegistryValue(), KernelMode, NT_SUCCESS, NTSTATUS(), NULL, PagedPool, SeCaptureSecurityDescriptor(), and TRUE. Referenced by IopChangeDeviceObjectFromRegistryProperties().
|
|
Definition at line 3762 of file pnpenum.c. References ASSERT, CmRegistryMachineSystemCurrentControlSetEnumName, DebugPrint, FALSE, IopClearDevNodeProblem, IopDoesDevNodeHaveProblem, IopFreeAllocatedUnicodeString(), IopIsDevNodeProblem, IopOpenRegistryKeyEx(), IopProcessCriticalDeviceRoutine(), L, NT_SUCCESS, NTSTATUS(), NULL, and RtlInitUnicodeString().
|
|
Definition at line 4000 of file pnpenum.c. References _BUFFER_INFO::Buffer, BUFFER_INFO, CmRegistryMachineName, DebugPrint, ExAllocatePool, ExFreePool(), exit, FALSE, INITIAL_INFOBUFFER_SIZE, IopAllocateBuffer(), IopFreeBuffer(), IopGetRegistryValue(), IopOpenRegistryKeyEx(), IopReplaceSeperatorWithPound(), IopResizeBuffer(), KEY_VALUE_DATA, L, _BUFFER_INFO::MaxSize, NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, NUM_QUERIES, RtlEqualUnicodeString(), RtlFreeUnicodeString(), RtlQueryRegistryValues(), TRUE, and USHORT. Referenced by IopProcessCriticalDevice().
|
|
Definition at line 1488 of file pnpenum.c. References ASSERT, _DEVICE_NODE::Child, DNF_DEVICE_GONE, DNF_ENUMERATED, DNF_PROCESSED, _DEVICE_NODE::Flags, IopCallDriverAddDevice(), IopProcessNewDeviceNode(), NT_SUCCESS, NTSTATUS(), NULL, OK_TO_ADD_DEVICE, _DEVICE_NODE::Sibling, and TRUE. Referenced by IopEnumerateDevice().
|
|
Definition at line 1538 of file pnpenum.c. References ArbiterRequestPnpEnumerated, ASSERT, BusQueryCompatibleIDs, BusQueryHardwareIDs, CmRegistryMachineSystemCurrentControlSetEnumName, DebugPrint, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, DeviceTextDescription, DeviceTextLocationInformation, DNF_HAS_BOOT_CONFIG, DNF_PROCESSED, DNF_RESOURCE_REQUIREMENTS_NEED_FILTERED, DNUF_DONT_SHOW_IN_UI, DOCK_NOTDOCKDEVICE, DOCK_QUIESCENT, _DEVICE_CAPABILITIES::DockDevice, DOE_START_PENDING, dummy(), ExAcquireResourceShared, ExAllocatePool, ExFreePool(), exit, ExReleaseResource, _DEVOBJ_EXTENSION::ExtensionFlags, FALSE, _DEVICE_CAPABILITIES::HardwareDisabled, IO_STACK_LOCATION, IopClearDevNodeProblem, IopConcatenateUnicodeStrings(), IopCreateRegistryKeyEx(), IopDeviceCapabilitiesToRegistry(), IopDeviceObjectFromDeviceInstance(), IopDoesDevNodeHaveProblem, IopFixupDeviceId(), IopFixupIds(), IopGetBusTypeGuidIndex(), IopIsDeviceInstanceEnabled(), IopIsDevNodeProblem, IopIsRemoteBootCard(), IopLoaderBlock, IopMakeGloballyUniqueId(), IopNotifySetupDeviceArrival(), IopOpenRegistryKeyEx(), IopProcessCriticalDevice(), IopQueryCompatibleIds(), IopQueryDeviceCapabilities(), IopQueryDeviceId(), IopQueryDeviceResources(), IopQueryPnpBusInformation(), IopQueryUniqueId(), IopRemoveDevice(), IopRequestDeviceRemoval(), IopRootDeviceNode, IopSetDevNodeProblem, IopSetupRemoteBootCard(), IopSynchronousCall(), IoRemoteBootClient, IRP_MJ_PNP, IRP_MN_QUERY_DEVICE_TEXT, IRP_MN_QUERY_RESOURCE_REQUIREMENTS, IRP_MN_REMOVE_DEVICE, KeBugCheckEx(), KeEnterCriticalRegion, KeLeaveCriticalRegion, L, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, _DEVICE_CAPABILITIES::NoDisplayInUI, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, PAGED_CODE, PagedPool, _IO_STACK_LOCATION::Parameters, _DEVICE_NODE::Parent, PNP_ERR_BOGUS_ID, PNP_ERR_DUPLICATE_PDO, PpDeviceRegistration(), PpRegistryDeviceResource, PpSetPlugPlayEvent(), PsDefaultSystemLocaleId, QUERY_RESOURCE_LIST, _DEVICE_CAPABILITIES::RawDeviceOK, RtlInitUnicodeString(), TITLE_INDEX_VALUE, TRUE, and _DEVICE_CAPABILITIES::UniqueID. Referenced by IopDeviceActionWorker(), and IopProcessNewChildren().
|
|
Definition at line 5034 of file pnpenum.c. References CriticalWorkQueue, ExAllocatePool, ExInitializeWorkItem, ExQueueWorkItem(), IopProcessNewProfileWorker(), NonPagedPool, and PAGED_CODE. Referenced by IopHardwareProfileCancelRemovedDock(), IopHardwareProfileCommitRemovedDock(), and IopHardwareProfileCommitStartedDock().
|
|
Definition at line 5138 of file pnpenum.c. References BusRelations, DNF_STARTED, FALSE, IoInvalidateDeviceRelations(), IopClearDevNodeProblem, IopIsDeviceInstanceEnabled(), IopIsDevNodeProblem, IopRequestDeviceRemoval(), NULL, PAGED_CODE, _DEVICE_NODE::Parent, and _DEVICE_NODE::PhysicalDeviceObject. Referenced by IopProcessNewProfileWorker().
|
|
Definition at line 5109 of file pnpenum.c. References ExFreePool(), IopForAllDeviceNodes(), IopProcessNewProfileStateCallback(), NULL, and PAGED_CODE. Referenced by IopProcessNewProfile().
|
|
Definition at line 821 of file pnpenum.c. References _DEVICE_NODE::Child, DNF_STARTED, ExAcquireResourceShared, Executive, ExReleaseResource, FALSE, IopDeviceTreeLock, IopProcessStartDevicesWorker(), IopReleaseEnumerationLock, KernelMode, KeSetEvent(), KeWaitForSingleObject(), NTSTATUS(), NULL, PAGED_CODE, PpSynchronizeDeviceEventQueue(), _DEVICE_NODE::Sibling, and TRUE. Referenced by IopBusCheck(), IopDeviceActionWorker(), IopInitializeSystemDrivers(), and IopNewDevice().
|
|
Definition at line 912 of file pnpenum.c. References DNF_ADDED, DNF_HAS_RESOURCE, DNF_NEED_QUERY_IDS, DNF_START_PHASE, ExAcquireResourceShared, Executive, ExReleaseResource, FALSE, IopDeviceTreeLock, IopForAllChildDeviceNodes(), IopProcessStartDevicesWorker(), IopStartAndEnumerateDevice(), KernelMode, KeSetEvent(), KeWaitForSingleObject(), NTSTATUS(), NULL, PAGED_CODE, and TRUE. Referenced by IopProcessStartDevices(), and IopProcessStartDevicesWorker().
|
|
Definition at line 3694 of file pnpenum.c. References ASSERT, DEVICE_CAPABILITIES, dummy(), IopSynchronousCall(), IRP_MJ_PNP, IRP_MN_QUERY_CAPABILITIES, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NTSTATUS(), and _IO_STACK_LOCATION::Parameters. Referenced by IoGetDeviceProperty(), IopDeviceCapabilitiesToRegistry(), IopDeviceNodeCapabilitiesToRegistry(), and IopProcessNewDeviceNode().
|
|
Definition at line 207 of file pnpenum.c. References _PI_DEVICE_REQUEST::CompletionEvent, _PI_DEVICE_REQUEST::CompletionStatus, DelayedWorkQueue, DEVICE_REQUEST_TYPE, _PI_DEVICE_REQUEST::DeviceObject, ExAllocatePool, ExInitializeWorkItem, ExQueueWorkItem(), IopDeviceActionWorker(), IopDeviceEnumerationWorkItem, IopEnumerationInProgress, IopPnpEnumerationRequestList, IopPnPSpinLock, KeClearEvent, _PI_DEVICE_REQUEST::ListEntry, NonPagedPool, NULL, ObReferenceObject, PI_DEVICE_REQUEST, PiEnumerationLock, PnPBootDriversLoaded, PPI_DEVICE_REQUEST, ReenumerateBootDevices, ReenumerateRootDevices, _PI_DEVICE_REQUEST::RequestType, and TRUE. Referenced by IoInvalidateDeviceRelations(), IopDeleteLockedDeviceNodes(), IopDeviceRelationsComplete(), IopDeviceStartComplete(), IopInitializeBootDrivers(), IopInitializePlugPlayServices(), IopInvalidateRelationsInList(), IopQueryDeviceRelations(), IopResourceRequirementsChanged(), IopStartDriverDevices(), and IoSynchronousInvalidateDeviceRelations().
|
|
Definition at line 994 of file pnpenum.c. References ASSERT, BusQueryCompatibleIDs, BusQueryHardwareIDs, DNF_ADDED, DNF_HAS_RESOURCE, DNF_NEED_ENUMERATION_ONLY, DNF_NEED_QUERY_IDS, DNF_NO_RESOURCE_REQUIRED, DNF_START_PHASE, DNF_STARTED, ExAcquireResourceShared, ExFreePool(), ExReleaseResource, IopDeviceNodeCapabilitiesToRegistry(), IopDeviceObjectToDeviceInstance(), IopEnumerateDevice(), IopFixupIds(), IopQueryCompatibleIds(), IopQueryDeviceState(), IopStartDevice(), KeBugCheckEx(), KeEnterCriticalRegion, KeLeaveCriticalRegion, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PNP_ERR_BOGUS_ID, PnpAsyncOk, PpRegistryDeviceResource, TITLE_INDEX_VALUE, and TRUE. Referenced by IopNewDevice(), and IopProcessStartDevicesWorker().
|
|
Definition at line 196 of file pnpenum.c. Referenced by IopRequestDeviceAction(). |
|
Definition at line 195 of file pnpenum.c. Referenced by IopDeviceActionWorker(), and IopRequestDeviceAction(). |
|
|