#include "iop.h"
Go to the source code of this file.
Classes | |
struct | _DEVICE_COMPLETION_CONTEXT |
struct | _LOCK_MOUNTABLE_DEVICE_CONTEXT |
Defines | |
#define | PnpIrpStatusTracking(Status, IrpCode, Device) |
#define | HASH_UNICODE_STRING(_pustr, _phash) |
#define | MAX_PARENT_PREFIX (8 + 8 + 8 + 2) |
Typedefs | |
typedef _DEVICE_COMPLETION_CONTEXT | DEVICE_COMPLETION_CONTEXT |
typedef _DEVICE_COMPLETION_CONTEXT * | PDEVICE_COMPLETION_CONTEXT |
typedef _LOCK_MOUNTABLE_DEVICE_CONTEXT | LOCK_MOUNTABLE_DEVICE_CONTEXT |
typedef _LOCK_MOUNTABLE_DEVICE_CONTEXT * | PLOCK_MOUNTABLE_DEVICE_CONTEXT |
Functions | |
NTSTATUS | IopAsynchronousCall (IN PDEVICE_OBJECT DeviceObject, IN PIO_STACK_LOCATION TopStackLocation, IN PDEVICE_COMPLETION_CONTEXT CompletionContext, IN PVOID CompletionRoutine) |
NTSTATUS | IopDeviceEjectComplete (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
NTSTATUS | IopDeviceStartComplete (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
NTSTATUS | IopDeviceRelationsComplete (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
PDEVICE_OBJECT | IopFindMountableDevice (IN PDEVICE_OBJECT DeviceObject) |
PDEVICE_OBJECT | IopLockMountedDeviceForRemove (IN PDEVICE_OBJECT DeviceObject, IN ULONG IrpMinorCode, OUT PLOCK_MOUNTABLE_DEVICE_CONTEXT Context) |
VOID | IopUnlockMountedDeviceForRemove (IN PDEVICE_OBJECT DeviceObject, IN ULONG IrpMinorCode, IN PLOCK_MOUNTABLE_DEVICE_CONTEXT Context) |
NTSTATUS | IopFilterResourceRequirementsCall (IN PDEVICE_OBJECT DeviceObject, IN PIO_RESOURCE_REQUIREMENTS_LIST ResReqList, OUT PVOID *Information) |
VOID | IopUncacheInterfaceInformation (IN PDEVICE_OBJECT DeviceObject) |
NTSTATUS | IopSynchronousCall (IN PDEVICE_OBJECT DeviceObject, IN PIO_STACK_LOCATION TopStackLocation, OUT PVOID *Information) |
VOID | IopStartDevice (IN PDEVICE_OBJECT DeviceObject) |
NTSTATUS | IopEjectDevice (IN PDEVICE_OBJECT DeviceObject, IN OUT PPENDING_RELATIONS_LIST_ENTRY PendingEntry) |
NTSTATUS | IopRemoveDevice (IN PDEVICE_OBJECT TargetDevice, IN ULONG IrpMinorCode) |
NTSTATUS | IopQueryDeviceRelations (IN DEVICE_RELATION_TYPE Relations, IN PDEVICE_OBJECT DeviceObject, IN BOOLEAN AsyncOk, OUT PDEVICE_RELATIONS *DeviceRelations) |
NTSTATUS | IopQueryDeviceId (IN PDEVICE_OBJECT DeviceObject, OUT PWCHAR *DeviceId) |
NTSTATUS | IopQueryUniqueId (IN PDEVICE_OBJECT DeviceObject, OUT PWCHAR *UniqueId) |
NTSTATUS | IopMakeGloballyUniqueId (IN PDEVICE_OBJECT DeviceObject, IN PWCHAR UniqueId, OUT PWCHAR *GloballyUniqueId) |
NTSTATUS | IopQueryCompatibleIds (IN PDEVICE_OBJECT DeviceObject, IN BUS_QUERY_ID_TYPE IdType, OUT PWCHAR *CompatibleIds, OUT ULONG *Length) |
NTSTATUS | IopQueryDeviceResources (IN PDEVICE_OBJECT DeviceObject, IN ULONG ResourceType, OUT PVOID *Resource, OUT ULONG *Length) |
NTSTATUS | IopQueryResourceHandlerInterface (IN RESOURCE_HANDLER_TYPE HandlerType, IN PDEVICE_OBJECT DeviceObject, IN UCHAR ResourceType, IN OUT PVOID *Interface) |
NTSTATUS | IopQueryReconfiguration (IN UCHAR Request, IN PDEVICE_OBJECT DeviceObject) |
NTSTATUS | IopQueryLegacyBusInformation (IN PDEVICE_OBJECT DeviceObject, OUT LPGUID InterfaceGuid, OPTIONAL OUT INTERFACE_TYPE *InterfaceType, OPTIONAL OUT ULONG *BusNumber OPTIONAL) |
NTSTATUS | IopQueryPnpBusInformation (IN PDEVICE_OBJECT DeviceObject, OUT LPGUID InterfaceGuid, OPTIONAL OUT INTERFACE_TYPE *InterfaceType, OPTIONAL OUT ULONG *BusNumber OPTIONAL) |
NTSTATUS | IopQueryDeviceState (IN PDEVICE_OBJECT DeviceObject) |
VOID | IopIncDisableableDepends (IN OUT PDEVICE_NODE DeviceNode) |
VOID | IopDecDisableableDepends (IN OUT PDEVICE_NODE DeviceNode) |
NTSTATUS | IopQueryDeviceSerialNumber (IN PDEVICE_OBJECT DeviceObject, OUT PWCHAR *SerialNumber) |
NTSTATUS | IopQueryDockRemovalInterface (IN PDEVICE_OBJECT DeviceObject, IN OUT PDOCK_INTERFACE *DockInterface) |
Variables | |
ULONG | PnpIrpMask |
PCHAR | IrpName [] |
|
Value:
Definition at line 72 of file pnpirp.c. Referenced by IopMakeGloballyUniqueId(). |
|
Definition at line 85 of file pnpirp.c. Referenced by IopMakeGloballyUniqueId(). |
|
Value:
Definition at line 26 of file pnpirp.c. Referenced by IopDeviceRelationsComplete(), IopDeviceStartComplete(), IopFilterResourceRequirementsCall(), and IopSynchronousCall(). |
|
|
|
|
|
Referenced by IopDeviceRelationsComplete(), IopDeviceStartComplete(), IopQueryDeviceRelations(), and IopStartDevice(). |
|
|
|
Definition at line 262 of file pnpirp.c. References ASSERT, _VPB::DeviceObject, FALSE, IoAllocateIrp(), IoCallDriver, IoGetAttachedDevice(), IoGetNextIrpStackLocation, IoSetCompletionRoutine, _IRP::IoStatus, IRP_SYSTEM_RESTRICTED, KernelMode, NTSTATUS(), NULL, PAGED_CODE, PsGetCurrentThread, _IRP::RequestorMode, SPECIALIRP_WATERMARK_IRP, _DEVICE_OBJECT::StackSize, _IRP::Tail, TRUE, _IRP::UserEvent, _IRP::UserIosb, _DEVICE_OBJECT::Vpb, and VPB_MOUNTED. Referenced by IopQueryDeviceRelations(), and IopStartDevice().
|
|
Definition at line 3152 of file pnpirp.c. References NULL. Referenced by IopQueryDeviceState(), and IopRemoveDevice().
|
|
Definition at line 896 of file pnpirp.c. References ASSERT, DelayedWorkQueue, _PENDING_RELATIONS_LIST_ENTRY::EjectIrp, ExInitializeWorkItem, ExQueueWorkItem(), IoFreeIrp(), IopProcessCompletedEject(), Irp, NULL, and _PENDING_RELATIONS_LIST_ENTRY::WorkItem. Referenced by IopEjectDevice().
|
|
Definition at line 1496 of file pnpirp.c. References ASSERT, DNF_BEING_ENUMERATED, DNF_ENUMERATION_REQUEST_PENDING, DNF_IO_INVALIDATE_DEVICE_RELATIONS_PENDING, ERESOURCE_THREAD, ExFreePool(), FALSE, _DEVICE_NODE::Flags, IoFreeIrp(), IopPnPSpinLock, IopReleaseEnumerationLockForThread, IopRequestDeviceAction(), _IRP::IoStatus, Irp, IRP_MN_QUERY_DEVICE_RELATIONS, NT_SUCCESS, NULL, _DEVICE_NODE::OverUsed1, PDEVICE_COMPLETION_CONTEXT, _DEVICE_NODE::PhysicalDeviceObject, PnpIrpStatusTracking, ReenumerateDeviceTree, RestartEnumeration, and TRUE. Referenced by IopQueryDeviceRelations().
|
|
Definition at line 1370 of file pnpirp.c. References ASSERT, DNF_NEED_ENUMERATION_ONLY, DNF_START_REQUEST_PENDING, DNF_STARTED, DNF_STOPPED, DOCK_ARRIVING, DOCK_NOTDOCKDEVICE, _DEVICE_NODE::DockInfo, ERESOURCE_THREAD, ExFreePool(), _DEVICE_NODE::Flags, IoFreeIrp(), IopPnPSpinLock, IopReleaseEnumerationLockForThread, IopRequestDeviceAction(), IopRequestDeviceRemoval(), IopSetDevNodeProblem, IoRequestDeviceEject(), _IRP::IoStatus, Irp, IRP_MN_START_DEVICE, NT_SUCCESS, NULL, PDEVICE_COMPLETION_CONTEXT, _DEVICE_NODE::PhysicalDeviceObject, PnpIrpStatusTracking, ReenumerateDeviceTree, and SAVE_FAILURE_INFO. Referenced by IopStartDevice().
|
|
Definition at line 730 of file pnpirp.c. References DelayedWorkQueue, ExInitializeWorkItem, ExQueueWorkItem(), FALSE, IoAllocateIrp(), IoCallDriver, IoGetAttachedDevice(), IoGetNextIrpStackLocation, IopDeviceEjectComplete(), IopProcessCompletedEject(), IopQueuePendingEject(), IoSetCompletionRoutine, _IRP::IoStatus, IRP_MJ_PNP, IRP_MN_EJECT, IRP_SYSTEM_RESTRICTED, KernelMode, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NTSTATUS(), NULL, PAGED_CODE, PpNotifyUserModeRemovalSafe(), PsGetCurrentThread, _IRP::RequestorMode, SPECIALIRP_WATERMARK_IRP, _DEVICE_OBJECT::StackSize, _IRP::Tail, TRUE, _IRP::UserEvent, and _IRP::UserIosb.
|
|
Definition at line 3255 of file pnpirp.c. References Executive, FALSE, IoAllocateIrp(), IoCallDriver, IoGetAttachedDevice(), IoGetNextIrpStackLocation, IopQueueThreadIrp, _IRP::IoStatus, IRP_MJ_PNP, IRP_MN_FILTER_RESOURCE_REQUIREMENTS, IRP_SYSTEM_RESTRICTED, KeInitializeEvent, KernelMode, KeWaitForSingleObject(), _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NTSTATUS(), NULL, PAGED_CODE, _IO_STACK_LOCATION::Parameters, PnpIrpStatusTracking, PsGetCurrentThread, SPECIALIRP_WATERMARK_IRP, _DEVICE_OBJECT::StackSize, _IRP::Tail, _IRP::UserEvent, _IRP::UserIosb, and VOID(). Referenced by IopQueryDeviceResources().
|
|
Definition at line 1316 of file pnpirp.c. References _DEVICE_OBJECT::AttachedDevice, DO_DEVICE_HAS_NAME, _DEVICE_OBJECT::Flags, NULL, and _DEVICE_OBJECT::Vpb. Referenced by IopRemoveDevice().
|
|
Definition at line 3109 of file pnpirp.c. References NULL. Referenced by IopQueryDeviceState().
|
|
Definition at line 1080 of file pnpirp.c. References ASSERT, _DEVICE_OBJECT::AttachedDevice, _DEVICE_OBJECT::DeviceLock, _VPB::DeviceObject, Executive, FALSE, _VPB::Flags, IO_NO_INCREMENT, IoAcquireVpbSpinLock(), IopDatabaseLock, IoReleaseVpbSpinLock(), IRP_MN_CANCEL_REMOVE_DEVICE, IRP_MN_QUERY_REMOVE_DEVICE, IRP_MN_REMOVE_DEVICE, IRP_MN_SURPRISE_REMOVAL, KernelMode, KeSetEvent(), KeWaitForSingleObject(), NULL, _DEVICE_OBJECT::Vpb, VPB_MOUNTED, and VPB_REMOVE_PENDING. Referenced by IopRemoveDevice().
|
|
Definition at line 1891 of file pnpirp.c. References ASSERT, CmRegistryMachineSystemCurrentControlSetEnumName, DbgPrint, ExAcquireResourceShared, ExAllocatePool, ExFreePool(), ExReleaseResource, HASH_UNICODE_STRING, _DEVICE_NODE::InstancePath, IopOpenRegistryKeyEx(), KeEnterCriticalRegion, KeLeaveCriticalRegion, L, _DEVICE_NODE::Level, max, MAX_PARENT_PREFIX, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PagedPool, _DEVICE_NODE::Parent, PpRegistryDeviceResource, RtlFreeUnicodeString(), RtlInitUnicodeString(), RtlUpcaseUnicodeString(), TITLE_INDEX_VALUE, and TRUE. Referenced by IopProcessNewDeviceNode().
|
|
Definition at line 2173 of file pnpirp.c. References BusQueryCompatibleIDs, BusQueryHardwareIDs, IopSynchronousCall(), IRP_MJ_PNP, IRP_MN_QUERY_ID, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NT_SUCCESS, NTSTATUS(), PAGED_CODE, and _IO_STACK_LOCATION::Parameters. Referenced by IopProcessNewDeviceNode(), and IopStartAndEnumerateDevice().
|
|
Definition at line 1762 of file pnpirp.c. References BusQueryDeviceID, IopSynchronousCall(), IRP_MJ_PNP, IRP_MN_QUERY_ID, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NTSTATUS(), PAGED_CODE, and _IO_STACK_LOCATION::Parameters. Referenced by IopProcessNewDeviceNode().
|
|
Definition at line 1604 of file pnpirp.c. References BusRelations, _DEVICE_COMPLETION_CONTEXT::DeviceNode, DNF_BEING_ENUMERATED, DNF_ENUMERATION_REQUEST_PENDING, DNF_ENUMERATION_REQUEST_QUEUED, DNF_IO_INVALIDATE_DEVICE_RELATIONS_PENDING, ExAllocatePool, ExGetCurrentResourceThread, FALSE, _DEVICE_NODE::Flags, IopAcquireEnumerationLock, IopAsynchronousCall(), IopDeviceRelationsComplete(), IopPnPSpinLock, IopRequestDeviceAction(), IopSynchronousCall(), IRP_MJ_PNP, IRP_MN_QUERY_DEVICE_RELATIONS, _DEVICE_COMPLETION_CONTEXT::IrpMinorCode, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NonPagedPool, NTSTATUS(), NULL, _DEVICE_NODE::OverUsed1, _IO_STACK_LOCATION::Parameters, PDEVICE_COMPLETION_CONTEXT, ReenumerateDeviceTree, _DEVICE_COMPLETION_CONTEXT::Thread, and TRUE. Referenced by IopEnumerateDevice(), and IopProcessRelation().
|
|
Definition at line 2262 of file pnpirp.c. References ASSERT, DbgPrint, DNF_MADEUP, DNF_RESOURCE_REQUIREMENTS_NEED_FILTERED, ExAllocatePool, ExFreePool(), FALSE, _DEVICE_NODE::Flags, IopCmResourcesToIoResources(), IopDetermineResourceListSize(), IopDeviceObjectToDeviceInstance(), IopFilterResourceRequirementsCall(), IopFilterResourceRequirementsList(), IopGetDeviceResourcesFromRegistry(), IopMergeFilteredResourceRequirementsList(), IopOpenRegistryKeyEx(), IopSynchronousCall(), IRP_MJ_PNP, IRP_MN_QUERY_RESOURCE_REQUIREMENTS, IRP_MN_QUERY_RESOURCES, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PagedPool, QUERY_RESOURCE_LIST, QUERY_RESOURCE_REQUIREMENTS, REGISTRY_ALLOC_CONFIG, REGISTRY_BASIC_CONFIGVECTOR, REGISTRY_BOOT_CONFIG, REGISTRY_FORCED_CONFIG, REGISTRY_OVERRIDE_CONFIGVECTOR, Resource, _DEVICE_NODE::ResourceRequirements, and TITLE_INDEX_VALUE. Referenced by IopGetResourceRequirementsForAssignTable(), IopProcessNewDeviceNode(), and IopReleaseDeviceResources().
|
|
Definition at line 3195 of file pnpirp.c. References ASSERT, BusQueryDeviceSerialNumber, IopSynchronousCall(), IRP_MJ_PNP, IRP_MN_QUERY_ID, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, and _IO_STACK_LOCATION::Parameters. Referenced by IopHardwareProfileCommitStartedDock(), and IopHardwareProfileMarkDock().
|
|
Definition at line 2976 of file pnpirp.c. References DNF_HAS_PRIVATE_PROBLEM, DNUF_DONT_SHOW_IN_UI, DNUF_NOT_DISABLEABLE, FALSE, _DEVICE_NODE::Flags, IopDecDisableableDepends(), IopIncDisableableDepends(), IopRequestDeviceRemoval(), IopResourceRequirementsChanged(), IopSynchronousCall(), IRP_MJ_PNP, IRP_MN_QUERY_PNP_DEVICE_STATE, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NT_SUCCESS, NTSTATUS(), PAGED_CODE, PNP_DEVICE_DISABLED, PNP_DEVICE_DONT_DISPLAY_IN_UI, PNP_DEVICE_FAILED, PNP_DEVICE_NOT_DISABLEABLE, PNP_DEVICE_REMOVED, PNP_DEVICE_RESOURCE_REQUIREMENTS_CHANGED, PNP_DEVICE_STATE, TRUE, and _DEVICE_NODE::UserFlags. Referenced by IopInvalidateDeviceStateWorker(), and IopStartAndEnumerateDevice().
|
|
Definition at line 3395 of file pnpirp.c. References dummy(), ExAllocatePool, ExFreePool(), IopSynchronousCall(), IRP_MJ_PNP, IRP_MN_QUERY_INTERFACE, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PagedPool, _IO_STACK_LOCATION::Parameters, _INTERFACE::Size, USHORT, and _INTERFACE::Version.
|
|
Definition at line 2793 of file pnpirp.c. References ASSERT, _LEGACY_BUS_INFORMATION::BusNumber, BusNumber, _LEGACY_BUS_INFORMATION::BusTypeGuid, DbgPrint, ExFreePool(), InterfaceType, IopSynchronousCall(), IRP_MJ_PNP, IRP_MN_QUERY_LEGACY_BUS_INFORMATION, _LEGACY_BUS_INFORMATION::LegacyBusType, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, and _DEVICE_NODE::ServiceName. Referenced by IopCallDriverAddDevice().
|
|
Definition at line 2885 of file pnpirp.c. References ASSERT, _PNP_BUS_INFORMATION::BusNumber, BusNumber, _PNP_BUS_INFORMATION::BusTypeGuid, DbgPrint, ExFreePool(), InterfaceType, IopSynchronousCall(), IRP_MJ_PNP, IRP_MN_QUERY_BUS_INFORMATION, _PNP_BUS_INFORMATION::LegacyBusType, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, and _DEVICE_NODE::ServiceName. Referenced by IopProcessNewDeviceNode().
|
|
Definition at line 2733 of file pnpirp.c. References ASSERT, dummy(), IopSynchronousCall(), IRP_MJ_PNP, IRP_MN_CANCEL_STOP_DEVICE, IRP_MN_QUERY_STOP_DEVICE, IRP_MN_STOP_DEVICE, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NTSTATUS(), PAGED_CODE, and Request(). Referenced by IopRebalance(), and IopTestForReconfiguration().
|
|
Definition at line 2617 of file pnpirp.c. References DO_BUS_ENUMERATED_DEVICE, _DEVICE_OBJECT::DriverObject, dummy(), _DEVICE_NODE::DuplicatePDO, ExAllocatePool, ExFreePool(), IopSynchronousCall(), IRP_MJ_PNP, IRP_MN_QUERY_INTERFACE, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PagedPool, _IO_STACK_LOCATION::Parameters, ResourceArbiter, ResourceLegacyDeviceDetection, ResourceTranslator, _INTERFACE::Size, USHORT, and _INTERFACE::Version. Referenced by IopDuplicateDetection(), and IopSetupArbiterAndTranslators().
|
|
Definition at line 1820 of file pnpirp.c. References BusQueryInstanceID, IopSynchronousCall(), IRP_MJ_PNP, IRP_MN_QUERY_ID, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, and _IO_STACK_LOCATION::Parameters. Referenced by IopProcessNewDeviceNode().
|
|
Definition at line 927 of file pnpirp.c. References ASSERT, ASSERTMSG, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, DNF_ADDED, DNF_LEGACY_DRIVER, DNF_NEED_ENUMERATION_ONLY, DNF_NEED_QUERY_IDS, DNF_STARTED, DNUF_NOT_DISABLEABLE, dummy(), FALSE, IopDecDisableableDepends(), IopFindMountableDevice(), IopInvalidateVolumesForDevice(), IopLockMountedDeviceForRemove(), IopSynchronousCall(), IopUncacheInterfaceInformation(), IopUnlockMountedDeviceForRemove(), IRP_MJ_PNP, IRP_MN_CANCEL_REMOVE_DEVICE, IRP_MN_EJECT, IRP_MN_QUERY_REMOVE_DEVICE, IRP_MN_REMOVE_DEVICE, IRP_MN_SURPRISE_REMOVAL, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, TRUE, and _DEVICE_NODE::UserFlags. Referenced by IopDeleteLockedDeviceNode(), IopDisableDevice(), and IopProcessNewDeviceNode().
|
|
Definition at line 510 of file pnpirp.c. References ASSERT, _DEVICE_COMPLETION_CONTEXT::DeviceNode, DNF_NEED_ENUMERATION_ONLY, DNF_RESOURCE_REPORTED, DNF_START_REQUEST_PENDING, DNF_STARTED, DNF_STOPPED, DOCK_ARRIVING, DOCK_NOTDOCKDEVICE, DOCK_QUIESCENT, _DEVICE_NODE::DockInfo, dummy(), ExAllocatePool, ExGetCurrentResourceThread, FALSE, _DEVICE_NODE::Flags, IopAcquireEnumerationLock, IopAsynchronousCall(), IopDeviceStartComplete(), IopDoDeferredSetInterfaceState(), IopDoesDevNodeHaveProblem, IopHardwareProfileBeginTransition(), IopHardwareProfileCancelTransition(), IopHardwareProfileCommitStartedDock(), IopHardwareProfileMarkDock(), IopHardwareProfileQueryChange(), IopPnPSpinLock, IopRequestDeviceRemoval(), IopSetDevNodeProblem, IopSynchronousCall(), IopUncacheInterfaceInformation(), IRP_MJ_PNP, IRP_MN_START_DEVICE, _DEVICE_COMPLETION_CONTEXT::IrpMinorCode, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, _IO_STACK_LOCATION::Parameters, PDEVICE_COMPLETION_CONTEXT, _DEVICE_NODE::PhysicalDeviceObject, PnpAsyncOk, PpSetTargetDeviceRemove(), PROFILE_PERHAPS_IN_PNPEVENT, _DEVICE_NODE::ResourceList, _DEVICE_NODE::ResourceListTranslated, SAVE_FAILURE_INFO, _DEVICE_COMPLETION_CONTEXT::Thread, and TRUE. Referenced by IopReallocateResources(), IopRebalance(), and IopStartAndEnumerateDevice().
|
|
Definition at line 381 of file pnpirp.c. References Executive, FALSE, IoAllocateIrp(), IoCallDriver, IoGetAttachedDevice(), IoGetNextIrpStackLocation, IopQueueThreadIrp, _IRP::IoStatus, IRP_SYSTEM_RESTRICTED, KeInitializeEvent, KernelMode, KeWaitForSingleObject(), NTSTATUS(), NULL, PAGED_CODE, PnpIrpStatusTracking, PsGetCurrentThread, SPECIALIRP_WATERMARK_IRP, _DEVICE_OBJECT::StackSize, _IRP::Tail, _IRP::UserEvent, _IRP::UserIosb, and VOID(). Referenced by IoFreeDumpStack(), IopEnumerateDevice(), IopGetDumpStack(), IopGetRelatedTargetDevice(), IopProcessNewDeviceNode(), IopQueryCompatibleIds(), IopQueryDeviceCapabilities(), IopQueryDeviceId(), IopQueryDeviceRelations(), IopQueryDeviceResources(), IopQueryDeviceSerialNumber(), IopQueryDeviceState(), IopQueryDockRemovalInterface(), IopQueryLegacyBusInformation(), IopQueryPnpBusInformation(), IopQueryReconfiguration(), IopQueryResourceHandlerInterface(), IopQueryUniqueId(), IopRemoveDevice(), and IopStartDevice().
|
|
Definition at line 191 of file pnpirp.c. References _INTERFACE::Context, _DEVICE_NODE::DeviceArbiterList, _DEVICE_NODE::DeviceTranslatorList, ExFreePool(), _INTERFACE::InterfaceDereference, _DEVICE_NODE::NoArbiterMask, _DEVICE_NODE::NoTranslatorMask, _DEVICE_NODE::QueryArbiterMask, _DEVICE_NODE::QueryTranslatorMask, and _PI_RESOURCE_TRANSLATOR_ENTRY::TranslatorInterface. Referenced by IopDestroyDeviceNode(), IopInvalidateDeviceStateWorker(), IopRemoveDevice(), and IopStartDevice().
|
|
Definition at line 1233 of file pnpirp.c. References _DEVICE_OBJECT::AttachedDevice, _DEVICE_OBJECT::DeviceLock, Executive, FALSE, _VPB::Flags, IO_NO_INCREMENT, IoAcquireVpbSpinLock(), IopDatabaseLock, IoReleaseVpbSpinLock(), IRP_MN_REMOVE_DEVICE, KernelMode, KeSetEvent(), KeWaitForSingleObject(), NULL, _DEVICE_OBJECT::Vpb, and VPB_REMOVE_PENDING. Referenced by IopRemoveDevice().
|
|
Initial value:
|
|
|