#include "iop.h"
Go to the source code of this file.
Classes | |
struct | _ROOT_ENUMERATOR_CONTEXT |
Defines | |
#define | ALLOW_WORLD_READ_OF_ENUM 1 |
Typedefs | |
typedef _ROOT_ENUMERATOR_CONTEXT | ROOT_ENUMERATOR_CONTEXT |
typedef _ROOT_ENUMERATOR_CONTEXT * | PROOT_ENUMERATOR_CONTEXT |
Functions | |
NTSTATUS | IopPnPDriverEntry (IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath) |
BOOLEAN | IopInitializeDeviceKey (IN HANDLE KeyHandle, IN PUNICODE_STRING KeyName, IN OUT PVOID Context) |
BOOLEAN | IopInitializeDeviceInstanceKey (IN HANDLE KeyHandle, IN PUNICODE_STRING KeyName, IN OUT PVOID Context) |
NTSTATUS | IopGetServiceType (IN PUNICODE_STRING KeyName, IN PULONG ServiceType) |
INTERFACE_TYPE | IopDetermineDefaultInterfaceType (VOID) |
NTSTATUS | IopInitializePlugPlayServices (IN PLOADER_PARAMETER_BLOCK LoaderBlock, IN ULONG Phase) |
NTSTATUS | IopGetRootDevices (PDEVICE_RELATIONS *DeviceRelations) |
BOOLEAN | IopIsFirmwareMapperDevicePresent (IN HANDLE KeyHandle) |
|
|
|
Referenced by IopInitializeDeviceInstanceKey(), and IopInitializeDeviceKey(). |
|
|
|
Definition at line 1510 of file pnpinit.c. References HalInstalledBusInformation, HalQuerySystemInformation, IopPnpScratchBuffer1, NT_SUCCESS, NTSTATUS(), and PNP_LARGE_SCRATCH_BUFFER_SIZE. Referenced by IopInitializePlugPlayServices().
|
|
Definition at line 680 of file pnpinit.c. References CmRegistryMachineSystemCurrentControlSetEnumRootName, _DEVICE_RELATIONS::Count, _ROOT_ENUMERATOR_CONTEXT::DeviceCount, _ROOT_ENUMERATOR_CONTEXT::DeviceList, ExAcquireResourceExclusive, ExAllocatePool, ExFreePool(), ExReleaseResource, FUNCTIONSUBKEY_FLAG_IGNORE_NON_CRITICAL_ERRORS, IopApplyFunctionToSubKeys(), IopCreateRegistryKeyEx(), IopInitializeDeviceKey(), KeEnterCriticalRegion, KeLeaveCriticalRegion, _ROOT_ENUMERATOR_CONTEXT::KeyName, _ROOT_ENUMERATOR_CONTEXT::MaxDeviceCount, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, _DEVICE_RELATIONS::Objects, PAGED_CODE, PagedPool, PDEVICE_OBJECT, PNP_LARGE_SCRATCH_BUFFER_SIZE, PNP_SCRATCH_BUFFER_SIZE, PpRegistryDeviceResource, RtlAppendStringToString(), _ROOT_ENUMERATOR_CONTEXT::Status, and TRUE. Referenced by IopPnPDispatch().
|
|
Definition at line 1454 of file pnpinit.c. References ExFreePool(), FALSE, IopGetRegistryValue(), IopOpenServiceEnumKeys(), KEY_VALUE_DATA, KeyName, L, NT_SUCCESS, NTSTATUS(), NULL, and PAGED_CODE. Referenced by IopInitializeDeviceInstanceKey().
|
|
Definition at line 879 of file pnpinit.c. References ArbiterRequestPnpEnumerated, ASSERT, _ROOT_ENUMERATOR_CONTEXT::DeviceCount, _ROOT_ENUMERATOR_CONTEXT::DeviceList, _DEVICE_OBJECT::DeviceObjectExtension, DNF_ADDED, DNF_DUPLICATE, DNF_ENUMERATED, DNF_HAS_BOOT_CONFIG, DNF_LEGACY_DRIVER, DNF_MADEUP, DNF_NO_RESOURCE_REQUIRED, DNF_PROCESSED, DNF_STARTED, DO_BUS_ENUMERATED_DEVICE, DOE_START_PENDING, ExAllocatePool, ExFreePool(), _DEVOBJ_EXTENSION::ExtensionFlags, FALSE, _DEVICE_NODE::Flags, _DEVICE_OBJECT::Flags, _DEVICE_NODE::InstancePath, IoCreateDevice(), IoDeleteDevice(), IopAllocateDeviceNode(), IopClearDevNodeProblem, IopConcatenateUnicodeStrings(), IopCreateRegistryKeyEx(), IopDeviceNodeCapabilitiesToRegistry(), IopDeviceNodeFlagsToCapabilities, IopDeviceObjectFromDeviceInstance(), IopDoesDevNodeHaveProblem, IopGetDeviceInstanceCsConfigFlags(), IopGetDeviceResourcesFromRegistry(), IopGetRegistryValue(), IopGetServiceType(), IopInsertTreeDeviceNode(), IopIsDeviceInstanceEnabled(), IopIsDevNodeProblem, IopIsFirmwareMapperDevicePresent(), IopNotifySetupDeviceArrival(), IoPnpDriverObject, IopNumberDeviceNodes, IopProcessCriticalDevice(), IopRegistryDataToUnicodeString, IopRootDeviceNode, IopSetDevNodeProblem, KeQueryTickCount(), KEY_VALUE_DATA, KeyName, L, _ROOT_ENUMERATOR_CONTEXT::MaxDeviceCount, NT_SUCCESS, NTSTATUS(), NULL, ObReferenceObject, PagedPool, PDEVICE_OBJECT, PNP_SCRATCH_BUFFER_SIZE, PpDeviceRegistration(), PROOT_ENUMERATOR_CONTEXT, QUERY_RESOURCE_LIST, REGISTRY_BOOT_CONFIG, RtlAppendStringToString(), RtlInitUnicodeString(), _ROOT_ENUMERATOR_CONTEXT::Status, TITLE_INDEX_VALUE, TRUE, and USHORT. Referenced by IopInitializeDeviceKey().
|
|
Definition at line 819 of file pnpinit.c. References FUNCTIONSUBKEY_FLAG_IGNORE_NON_CRITICAL_ERRORS, IopApplyFunctionToSubKeys(), IopInitializeDeviceInstanceKey(), KeyName, NT_SUCCESS, NULL, PROOT_ENUMERATOR_CONTEXT, RtlAppendStringToString(), Status, and USHORT. Referenced by IopGetRootDevices().
|
|
Definition at line 93 of file pnpinit.c. References ASSERT, BUS_TYPE_GUID_LIST, CmRegistryMachineSystemCurrentControlSet, CmRegistryMachineSystemCurrentControlSetEnumName, DNF_ADDED, DNF_ENUMERATED, DNF_MADEUP, DNF_NO_RESOURCE_REQUIRED, DNF_PROCESSED, DNF_STARTED, DO_BUS_ENUMERATED_DEVICE, EisaBuildEisaDeviceNode(), ExAllocatePool, ExFreePool(), ExInitializeFastMutex, ExInitializeResource, FALSE, _DEVICE_OBJECT::Flags, _DEVICE_NODE::Flags, _DEVICE_NODE::InstancePath, IoCreateDevice(), IoCreateDriver(), IoDeleteDevice(), IoDeleteDriver(), IopAllocateDeviceNode(), IopBusNumberInitialize(), IopBusTypeGuidList, IopCreateRegistryKeyEx(), IopDetermineDefaultInterfaceType(), IopDeviceTreeLock, IopDmaInitialize(), IopDockDeviceCount, IopDockDeviceListHead, IopDockDeviceListLock, IopGetRegistryValue(), IopInitializePlugPlayNotification(), IopInitReservedResourceList, IopIrqInitialize(), IopMemInitialize(), IOPNP_DEVICE_EXTENSION, IoPnpDriverObject, IopOpenRegistryKeyEx(), IopPendingEjects, IopPendingSurpriseRemovals, IopPnPDriverEntry(), IopPnpEnumerationRequestList, IopPnpScratchBuffer1, IopPnpScratchBuffer2, IopPnPSpinLock, IopPortInitialize(), IopRequestDeviceAction(), IopReserveBootResources(), IopReserveResourcesRoutine, IopRootDeviceNode, IopWarmEjectLock, IopWarmEjectPdo, KeInitializeEvent, KeInitializeSpinLock(), KEY_VALUE_DATA, _BUS_TYPE_GUID_LIST::Lock, MapperConstructRootEnumTree(), MapperFreeList(), MapperPhantomizeDetectedComPorts(), MapperProcessFirmwareTree(), NT_SUCCESS, NtClose(), NTSTATUS(), NULL, PagedPool, _DEVICE_NODE::PhysicalDeviceObject, PiEnumerationLock, PiEventQueueEmpty, PNP_DETECTION_ENABLED_DEFAULT, PNP_LARGE_SCRATCH_BUFFER_SIZE, PnPBiosMapper(), PnpDefaultInterfaceType, PnPDetectionEnabled, PnPInitialized, PpInitializeNotification(), ReenumerateRootDevices, RtlAddAccessAllowedAceEx(), RtlCreateAcl(), RtlCreateSecurityDescriptor(), RtlInitUnicodeString(), RtlLengthSid(), RtlSetDaclSecurityDescriptor(), RtlValidSecurityDescriptor(), SeLocalSystemSid, SeWorldSid, TRUE, and VOID(). Referenced by IoInitSystem().
|
|
Definition at line 1572 of file pnpinit.c. References ExFreePool(), FALSE, IopGetRegistryValue(), IopOpenRegistryKeyEx(), KEY_VALUE_DATA, NT_SUCCESS, NTSTATUS(), PAGED_CODE, and TRUE. Referenced by IopInitializeDeviceInstanceKey().
|
|
Definition at line 636 of file pnpinit.c. References _DRIVER_EXTENSION::AddDevice, _DRIVER_OBJECT::DriverExtension, IoPnpDriverObject, IopPnPAddDevice(), IopPnPDispatch(), IopPowerDispatch(), IRP_MJ_PNP, IRP_MJ_POWER, and PDRIVER_ADD_DEVICE. Referenced by IopInitializePlugPlayServices().
|