#include "iop.h"
#include <stddef.h>
#include <wdmguid.h>
#include <pnpmgr.h>
#include <pnpsetup.h>
#include "..\pnp\pnpi.h"
Go to the source code of this file.
Classes | |
struct | _DEVICE_WORK_ITEM |
struct | _ASYNC_TDC_WORK_ITEM |
struct | _NOTIFICATION_CALLBACK_PARAM_BLOCK |
struct | _DEFERRED_REGISTRATION_ENTRY |
struct | IO_GET_LEGACY_VETO_LIST_CONTEXT |
Defines | |
#define | PNP_DEVICE_EVENT_ENTRY_TAG 'EEpP' |
#define | PATH_CURRENTCONTROLSET_HW_PROFILE_CURRENT TEXT("\\Registry\\Machine\\System\\CurrentControlSet\\Hardware Profiles\\Current\\System\\CurrentControlSet") |
#define | PATH_CURRENTCONTROLSET TEXT("\\Registry\\Machine\\System\\CurrentControlSet") |
#define | PATH_ENUM TEXT("Enum\\") |
#define | PATH_CONTROL_CLASS TEXT("Control\\Class\\") |
#define | MAX_RESTPATH_BUF_LEN 512 |
#define | INITIAL_INFO_BUFFER_SIZE 512 |
#define | INFO_BUFFER_GROW_SIZE 64 |
#define | INITIAL_SYMLINK_BUFFER_SIZE 1024 |
#define | SYMLINK_BUFFER_GROW_SIZE 128 |
#define | INITIAL_RETURN_BUFFER_SIZE 4096 |
#define | RETURN_BUFFER_GROW_SIZE 512 |
#define | INITIAL_DEVNODE_NAME_BUFFER_SIZE (FIELD_OFFSET(KEY_VALUE_PARTIAL_INFORMATION, Data) + (200 * sizeof(WCHAR))) |
#define | KEY_STRING_PREFIX TEXT("##?#") |
#define | KEY_STRING_PREFIX_SIZE ( sizeof(KEY_STRING_PREFIX) - sizeof(UNICODE_NULL) ) |
#define | KEY_STRING_PREFIX_LENGTH ( KEY_STRING_PREFIX_SIZE / sizeof(WCHAR) ) |
#define | SEPERATOR_STRING TEXT("\\") |
#define | SEPERATOR_CHAR (L'\\') |
#define | ALT_SEPERATOR_CHAR (L'/') |
#define | REPLACED_SEPERATOR_STRING TEXT("#") |
#define | REPLACED_SEPERATOR_CHAR (L'#') |
#define | USER_SYMLINK_STRING_PREFIX TEXT("\\\\?\\") |
#define | USER_SYMLINK_STRING_PREFIX_LENGTH (( sizeof(USER_SYMLINK_STRING_PREFIX) - sizeof(UNICODE_NULL) ) / sizeof(WCHAR) ) |
#define | KERNEL_SYMLINK_STRING_PREFIX TEXT("\\??\\") |
#define | KERNEL_SYMLINK_STRING_PREFIX_LENGTH (( sizeof(KERNEL_SYMLINK_STRING_PREFIX) - sizeof(UNICODE_NULL) ) / sizeof(WCHAR) ) |
#define | REFSTRING_PREFIX_CHAR (L'#') |
#define | LEGACY_COMPATIBLE_ID_BASE TEXT("DETECTED") |
#define | GUID_STRING_LENGTH 38 |
#define | GUID_STRING_SIZE GUID_STRING_LENGTH * sizeof(WCHAR) |
#define | DBG_GET_ASSOC 0 |
#define | MAX_VETO_NAME_LENGTH 512 |
Typedefs | |
typedef _DEVICE_WORK_ITEM | DEVICE_WORK_ITEM |
typedef _DEVICE_WORK_ITEM * | PDEVICE_WORK_ITEM |
typedef _ASYNC_TDC_WORK_ITEM | ASYNC_TDC_WORK_ITEM |
typedef _ASYNC_TDC_WORK_ITEM * | PASYNC_TDC_WORK_ITEM |
typedef _NOTIFICATION_CALLBACK_PARAM_BLOCK | NOTIFICATION_CALLBACK_PARAM_BLOCK |
typedef _NOTIFICATION_CALLBACK_PARAM_BLOCK * | PNOTIFICATION_CALLBACK_PARAM_BLOCK |
typedef _DEFERRED_REGISTRATION_ENTRY | DEFERRED_REGISTRATION_ENTRY |
typedef _DEFERRED_REGISTRATION_ENTRY * | PDEFERRED_REGISTRATION_ENTRY |
typedef * | PIO_GET_LEGACY_VETO_LIST_CONTEXT |
Functions | |
NTSTATUS | IopQueueDeviceWorkItem (IN PDEVICE_OBJECT PhysicalDeviceObject, IN PVOID WorkerRoutine, IN PVOID Context) |
VOID | IopInvalidateDeviceStateWorker (PVOID Context) |
VOID | IopReportTargetDeviceChangeAsyncWorker (PVOID Context) |
VOID | IopRequestDeviceEjectWorker (PVOID Context) |
BOOLEAN | IopIsReportedAlready (IN HANDLE Handle, IN PUNICODE_STRING ServiceName, IN PCM_RESOURCE_LIST ResourceList) |
NTSTATUS | IopSetupDeviceObjectFromDeviceClass (IN PDEVICE_OBJECT Pdo, IN HANDLE InterfaceClassKey) |
NTSTATUS | IopSetSecurityObjectFromRegistry (IN PVOID Object, IN HANDLE Key) |
NTSTATUS | IopPnPHydraCallback (PVOID CallbackParams) |
NTSTATUS | PiNotifyUserMode (PPNP_DEVICE_EVENT_ENTRY DeviceEvent) |
NTSTATUS | IopAppendBuffer (IN PBUFFER_INFO Info, IN PVOID Data, IN ULONG DataSize) |
NTSTATUS | IopOverwriteBuffer (IN PBUFFER_INFO Info, IN PVOID Data, IN ULONG DataSize) |
NTSTATUS | IopRealloc (IN OUT PVOID *Buffer, IN ULONG OldSize, IN ULONG NewSize) |
NTSTATUS | IopDeviceInterfaceKeysFromSymbolicLink (IN PUNICODE_STRING SymbolicLinkName, IN ACCESS_MASK DesiredAccess, OUT PHANDLE DeviceInterfaceClassKey OPTIONAL, OUT PHANDLE DeviceInterfaceKey OPTIONAL, OUT PHANDLE DeviceInterfaceInstanceKey OPTIONAL) |
NTSTATUS | IopBuildSymbolicLinkStrings (IN PUNICODE_STRING DeviceString, IN PUNICODE_STRING GuidString, IN PUNICODE_STRING ReferenceString OPTIONAL, OUT PUNICODE_STRING UserString, OUT PUNICODE_STRING KernelString) |
NTSTATUS | IopReplaceSeperatorWithPound (OUT PUNICODE_STRING OutString, IN PUNICODE_STRING InString) |
NTSTATUS | IopDropReferenceString (OUT PUNICODE_STRING OutString, IN PUNICODE_STRING InString) |
NTSTATUS | IopParseSymbolicLinkName (IN PUNICODE_STRING SymbolicLinkName, OUT PUNICODE_STRING PrefixString OPTIONAL, OUT PUNICODE_STRING MungedPathString OPTIONAL, OUT PUNICODE_STRING GuidString OPTIONAL, OUT PUNICODE_STRING RefString OPTIONAL, OUT PBOOLEAN RefStringPresent OPTIONAL, OUT LPGUID Guid OPTIONAL) |
NTSTATUS | IopSetRegistryStringValue (IN HANDLE KeyHandle, IN PUNICODE_STRING ValueName, IN PUNICODE_STRING ValueData) |
VOID | IopInitializePlugPlayNotification (VOID) |
VOID | IopReferenceNotify (PNOTIFY_ENTRY_HEADER notify) |
VOID | IopDereferenceNotify (PNOTIFY_ENTRY_HEADER Notify) |
NTSTATUS | IopRegisterTargetDeviceNotification (IN ULONG Flags, IN PFILE_OBJECT FileObject, IN PDRIVER_OBJECT DriverObject, IN PDRIVER_NOTIFICATION_CALLBACK_ROUTINE CallbackRoutine, IN PVOID Context, IN BOOLEAN AddLast, OUT PVOID *NotificationEntry) |
NTSTATUS | IopOpenOrCreateDeviceInterfaceSubKeys (OUT PHANDLE InterfaceKeyHandle OPTIONAL, OUT PULONG InterfaceKeyDisposition OPTIONAL, OUT PHANDLE InterfaceInstanceKeyHandle OPTIONAL, OUT PULONG InterfaceInstanceDisposition OPTIONAL, IN HANDLE InterfaceClassKeyHandle, IN PUNICODE_STRING DeviceInterfaceName, IN ACCESS_MASK DesiredAccess, IN BOOLEAN Create) |
NTSTATUS | PpCreateLegacyDeviceIds (IN PDEVICE_OBJECT DeviceObject, IN PUNICODE_STRING DriverName, IN PCM_RESOURCE_LIST Resources) |
NTSTATUS | IoGetDeviceProperty (IN PDEVICE_OBJECT DeviceObject, IN DEVICE_REGISTRY_PROPERTY DeviceProperty, IN ULONG BufferLength, OUT PVOID PropertyBuffer, OUT PULONG ResultLength) |
NTSTATUS | IoOpenDeviceRegistryKey (IN PDEVICE_OBJECT PhysicalDeviceObject, IN ULONG DevInstKeyType, IN ACCESS_MASK DesiredAccess, OUT PHANDLE DevInstRegKey) |
NTSTATUS | IoCreateDriver (IN PUNICODE_STRING DriverName OPTIONAL, IN PDRIVER_INITIALIZE InitializationFunction) |
VOID | IoDeleteDriver (IN PDRIVER_OBJECT DriverObject) |
NTSTATUS | IoSynchronousInvalidateDeviceRelations (PDEVICE_OBJECT DeviceObject, DEVICE_RELATION_TYPE Type) |
VOID | IoInvalidateDeviceRelations (PDEVICE_OBJECT DeviceObject, DEVICE_RELATION_TYPE Type) |
VOID | IoRequestDeviceEject (PDEVICE_OBJECT DeviceObject) |
NTSTATUS | IoReportDetectedDevice (IN PDRIVER_OBJECT DriverObject, IN INTERFACE_TYPE LegacyBusType, IN ULONG BusNumber, IN ULONG SlotNumber, IN PCM_RESOURCE_LIST ResourceList, IN PIO_RESOURCE_REQUIREMENTS_LIST ResourceRequirements OPTIONAL, IN BOOLEAN ResourceAssigned, IN OUT PDEVICE_OBJECT *DeviceObject) |
NTSTATUS | IopAllocateBuffer (IN PBUFFER_INFO Info, IN ULONG Size) |
NTSTATUS | IopResizeBuffer (IN PBUFFER_INFO Info, IN ULONG NewSize, IN BOOLEAN CopyContents) |
VOID | IopFreeBuffer (IN PBUFFER_INFO Info) |
NTSTATUS | IopGetDeviceInterfaces (IN CONST GUID *InterfaceClassGuid, IN PUNICODE_STRING DevicePath OPTIONAL, IN ULONG Flags, IN BOOLEAN UserModeFormat, OUT PWSTR *SymbolicLinkList, OUT PULONG SymbolicLinkListSize OPTIONAL) |
NTSTATUS | IoGetDeviceInterfaces (IN CONST GUID *InterfaceClassGuid, IN PDEVICE_OBJECT PhysicalDeviceObject OPTIONAL, IN ULONG Flags, OUT PWSTR *SymbolicLinkList) |
NTSTATUS | IoSetDeviceInterfaceState (IN PUNICODE_STRING SymbolicLinkName, IN BOOLEAN Enable) |
NTSTATUS | IoOpenDeviceInterfaceRegistryKey (IN PUNICODE_STRING SymbolicLinkName, IN ACCESS_MASK DesiredAccess, OUT PHANDLE DeviceInterfaceKey) |
NTSTATUS | IoRegisterDeviceInterface (IN PDEVICE_OBJECT PhysicalDeviceObject, IN CONST GUID *InterfaceClassGuid, IN PUNICODE_STRING ReferenceString OPTIONAL, OUT PUNICODE_STRING SymbolicLinkName) |
NTSTATUS | IopRegisterDeviceInterface (IN PUNICODE_STRING DeviceInstanceName, IN CONST GUID *InterfaceClassGuid, IN PUNICODE_STRING ReferenceString OPTIONAL, IN BOOLEAN UserModeFormat, OUT PUNICODE_STRING SymbolicLinkName) |
NTSTATUS | IopUnregisterDeviceInterface (IN PUNICODE_STRING SymbolicLinkName) |
NTSTATUS | IopRemoveDeviceInterfaces (IN PUNICODE_STRING DeviceInstancePath) |
NTSTATUS | IoGetDeviceInterfaceAlias (IN PUNICODE_STRING SymbolicLinkName, IN CONST GUID *AliasInterfaceClassGuid, OUT PUNICODE_STRING AliasSymbolicLinkName) |
NTSTATUS | IopAllocateUnicodeString (IN OUT PUNICODE_STRING String, IN USHORT Length) |
VOID | IopFreeAllocatedUnicodeString (PUNICODE_STRING String) |
NTSTATUS | IoUnregisterPlugPlayNotification (IN PVOID NotificationEntry) |
VOID | IopProcessDeferredRegistrations (VOID) |
NTSTATUS | IoReportTargetDeviceChange (IN PDEVICE_OBJECT PhysicalDeviceObject, IN PVOID NotificationStructure) |
NTSTATUS | IoReportTargetDeviceChangeAsynchronous (IN PDEVICE_OBJECT PhysicalDeviceObject, IN PVOID NotificationStructure, IN PDEVICE_CHANGE_COMPLETE_CALLBACK Callback OPTIONAL, IN PVOID Context OPTIONAL) |
VOID | IoInvalidateDeviceState (IN PDEVICE_OBJECT PhysicalDeviceObject) |
VOID | IopResourceRequirementsChanged (IN PDEVICE_OBJECT PhysicalDeviceObject, IN BOOLEAN StopRequired) |
NTSTATUS | IopRequestHwProfileChangeNotification (IN LPGUID EventGuid, IN PROFILE_NOTIFICATION_TIME NotificationTime, OUT PPNP_VETO_TYPE VetoType OPTIONAL, OUT PUNICODE_STRING VetoName OPTIONAL) |
NTSTATUS | IopNotifyHwProfileChange (IN LPGUID EventGuid, OUT PPNP_VETO_TYPE VetoType OPTIONAL, OUT PUNICODE_STRING VetoName OPTIONAL) |
NTSTATUS | IopNotifyTargetDeviceChange (LPCGUID EventGuid, PDEVICE_OBJECT DeviceObject, PVOID NotificationStructure, PDRIVER_OBJECT *VetoingDriver) |
NTSTATUS | IopNotifyDeviceClassChange (LPGUID EventGuid, LPGUID ClassGuid, PUNICODE_STRING SymbolicLinkName) |
NTSTATUS | IoRegisterPlugPlayNotification (IN IO_NOTIFICATION_EVENT_CATEGORY EventCategory, IN ULONG EventCategoryFlags, IN PVOID EventCategoryData OPTIONAL, IN PDRIVER_OBJECT DriverObject, IN PDRIVER_NOTIFICATION_CALLBACK_ROUTINE CallbackRoutine, IN PVOID Context, OUT PVOID *NotificationEntry) |
NTSTATUS | IopGetRelatedTargetDevice (IN PFILE_OBJECT FileObject, OUT PDEVICE_NODE *DeviceNode) |
NTSTATUS | IoGetRelatedTargetDevice (IN PFILE_OBJECT FileObject, OUT PDEVICE_OBJECT *DeviceObject) |
NTSTATUS | IopNotifySetupDeviceArrival (PDEVICE_OBJECT PhysicalDeviceObject, HANDLE EnumEntryKey, BOOLEAN InstallDriver) |
BOOLEAN | IoIsWdmVersionAvailable (IN UCHAR MajorVersion, IN UCHAR MinorVersion) |
NTKERNELAPI PDMA_ADAPTER | IoGetDmaAdapter (IN PDEVICE_OBJECT PhysicalDeviceObject OPTIONAL, IN PDEVICE_DESCRIPTION DeviceDescription, IN OUT PULONG NumberOfMapRegisters) |
NTSTATUS | IopOpenDeviceParametersSubkey (OUT HANDLE *ParamKeyHandle, IN HANDLE ParentKeyHandle, IN PUNICODE_STRING SubKeyString, IN ACCESS_MASK DesiredAccess) |
NTSTATUS | IoNotifyPowerOperationVetoed (IN POWER_ACTION VetoedPowerOperation, IN PDEVICE_OBJECT TargetedDeviceObject OPTIONAL, IN PDEVICE_OBJECT VetoingDeviceObject) |
ULONG | IoPnPDeliverServicePowerNotification (ULONG PwrNotification, BOOLEAN Synchronous) |
VOID | IopOrphanNotification (IN PDEVICE_NODE TargetNode) |
BOOLEAN | IopAppendLegacyVeto (IN PIO_GET_LEGACY_VETO_LIST_CONTEXT Context, IN PUNICODE_STRING VetoName) |
BOOLEAN | IopGetLegacyVetoListDevice (IN PDEVICE_NODE DeviceNode, IN PIO_GET_LEGACY_VETO_LIST_CONTEXT Context) |
BOOLEAN | IopGetLegacyVetoListDeviceNode (IN PDEVICE_NODE DeviceNode, IN PIO_GET_LEGACY_VETO_LIST_CONTEXT Context) |
VOID | IopGetLegacyVetoListDrivers (IN PIO_GET_LEGACY_VETO_LIST_CONTEXT Context) |
NTSTATUS | IoGetLegacyVetoList (OUT PWSTR *VetoList OPTIONAL, OUT PPNP_VETO_TYPE VetoType) |
NTSTATUS | IopDoDeferredSetInterfaceState (IN PDEVICE_NODE DeviceNode) |
NTSTATUS | IopProcessSetInterfaceState (IN PUNICODE_STRING SymbolicLinkName, IN BOOLEAN Enable, IN BOOLEAN DeferNotStarted) |
Variables | |
LIST_ENTRY | IopDeviceClassNotifyList [NOTIFY_DEVICE_CLASS_HASH_BUCKETS] |
FAST_MUTEX | IopDeviceClassNotifyLock |
PSETUP_NOTIFY_DATA | IopSetupNotifyData = NULL |
FAST_MUTEX | IopTargetDeviceNotifyLock |
LIST_ENTRY | IopProfileNotifyList |
FAST_MUTEX | IopHwProfileNotifyLock |
BOOLEAN | PiNotificationInProgress |
FAST_MUTEX | PiNotificationInProgressLock |
LIST_ENTRY | IopDeferredRegistrationList |
FAST_MUTEX | IopDeferredRegistrationLock |
|
Definition at line 157 of file pnpioapi.c. Referenced by IopReplaceSeperatorWithPound(), and IoRegisterDeviceInterface(). |
|
Definition at line 2704 of file pnpioapi.c. |
|
Definition at line 176 of file pnpioapi.c. Referenced by IopParseSymbolicLinkName(). |
|
Definition at line 177 of file pnpioapi.c. Referenced by IopParseSymbolicLinkName(), and RtlStringFromGUID(). |
|
Definition at line 130 of file pnpioapi.c. |
|
Definition at line 139 of file pnpioapi.c. Referenced by IopGetDeviceInterfaces(). |
|
Definition at line 129 of file pnpioapi.c. Referenced by IopGetDeviceInterfaces(), and IopRemoveDeviceInterfaces(). |
|
Definition at line 133 of file pnpioapi.c. Referenced by IopGetDeviceInterfaces(). |
|
Definition at line 131 of file pnpioapi.c. Referenced by IopGetDeviceInterfaces(). |
|
Definition at line 162 of file pnpioapi.c. Referenced by IopBuildSymbolicLinkStrings(), IopGetDeviceInterfaces(), and IopParseSymbolicLinkName(). |
|
Definition at line 163 of file pnpioapi.c. Referenced by IopGetDeviceInterfaces(). |
|
Definition at line 145 of file pnpioapi.c. Referenced by IopOpenOrCreateDeviceInterfaceSubKeys(), and IopUnregisterDeviceInterface(). |
|
Definition at line 147 of file pnpioapi.c. |
|
Definition at line 146 of file pnpioapi.c. |
|
Definition at line 170 of file pnpioapi.c. Referenced by PpCreateLegacyDeviceIds(). |
|
Definition at line 123 of file pnpioapi.c. Referenced by IoOpenDeviceRegistryKey(). |
|
Referenced by IoPnPDeliverServicePowerNotification(). |
|
Definition at line 122 of file pnpioapi.c. Referenced by IoOpenDeviceRegistryKey(). |
|
Definition at line 120 of file pnpioapi.c. Referenced by IoOpenDeviceRegistryKey(). |
|
Definition at line 119 of file pnpioapi.c. Referenced by IoOpenDeviceRegistryKey(). |
|
Definition at line 121 of file pnpioapi.c. Referenced by IoOpenDeviceRegistryKey(). |
|
Definition at line 42 of file pnpioapi.c. Referenced by IopRequestHwProfileChangeNotification(). |
|
Definition at line 164 of file pnpioapi.c. Referenced by IopOpenOrCreateDeviceInterfaceSubKeys(), and IopUnregisterDeviceInterface(). |
|
Definition at line 159 of file pnpioapi.c. Referenced by IopReplaceSeperatorWithPound(). |
|
Definition at line 158 of file pnpioapi.c. Referenced by IopBuildSymbolicLinkStrings(). |
|
Definition at line 134 of file pnpioapi.c. |
|
Definition at line 156 of file pnpioapi.c. Referenced by IopParseSymbolicLinkName(), IopReplaceSeperatorWithPound(), and IoRegisterDeviceInterface(). |
|
Definition at line 155 of file pnpioapi.c. Referenced by IopBuildSymbolicLinkStrings(). |
|
Definition at line 132 of file pnpioapi.c. |
|
Definition at line 160 of file pnpioapi.c. Referenced by IoGetDeviceInterfaceAlias(), IopBuildSymbolicLinkStrings(), and IopParseSymbolicLinkName(). |
|
Definition at line 161 of file pnpioapi.c. |
|
Referenced by IoReportTargetDeviceChangeAsynchronous(). |
|
|
|
|
|
|
|
Referenced by IopReportTargetDeviceChangeAsyncWorker(), and IoReportTargetDeviceChangeAsynchronous(). |
|
Referenced by IopProcessDeferredRegistrations(), IoRegisterPlugPlayNotification(), and IoUnregisterPlugPlayNotification(). |
|
Referenced by IopInvalidateDeviceStateWorker(), IopQueueDeviceWorkItem(), and IopRequestDeviceEjectWorker(). |
|
|
|
Referenced by IopPnPHydraCallback(). |
|
Definition at line 1071 of file pnpioapi.c. References _DRIVER_OBJECT::DriverExtension, _DRIVER_OBJECT::DriverInit, _DRIVER_EXTENSION::DriverObject, DRVO_BUILTIN_DRIVER, ExAllocatePool, _DRIVER_OBJECT::Flags, IO_TYPE_DRIVER, IoDriverObjectType, IopInvalidDeviceRequest(), IRP_MJ_MAXIMUM_FUNCTION, KernelMode, KeTickCount, L, _DRIVER_OBJECT::MajorFunction, NT_SUCCESS, NTSTATUS(), NULL, ObCreateObject(), ObDereferenceObject, ObInsertObject(), ObMakeTemporaryObject(), ObReferenceObjectByHandle(), PAGED_CODE, PagedPool, _DRIVER_EXTENSION::ServiceKeyName, _DRIVER_OBJECT::Size, _DRIVER_OBJECT::Type, and USHORT. Referenced by IopInitializePlugPlayServices(), and xxxRegisterForDeviceClassNotifications().
|
|
Definition at line 1264 of file pnpioapi.c. References ObDereferenceObject. Referenced by IopInitializePlugPlayServices().
|
|
Definition at line 4946 of file pnpioapi.c. References ExAcquireResourceExclusive, ExFreePool(), ExReleaseResource, IopBuildSymbolicLinkStrings(), IopConstStringSize, IopDeviceInterfaceKeysFromSymbolicLink(), IopFreeAllocatedUnicodeString(), IopGetRegistryValue(), IopParseSymbolicLinkName(), IopRegistryDataToUnicodeString, KeEnterCriticalRegion, KeLeaveCriticalRegion, KEY_VALUE_DATA, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PpRegistryDeviceResource, RtlFreeUnicodeString(), RtlStringFromGUID(), TRUE, and USER_SYMLINK_STRING_PREFIX.
|
|
Definition at line 3419 of file pnpioapi.c. References ASSERT_PDO, FALSE, _DEVICE_NODE::InstancePath, IopGetDeviceInterfaces(), NTSTATUS(), NULL, and PAGED_CODE. Referenced by IopCreateArcNames(), and IoRegisterPlugPlayNotification().
|
|
Definition at line 373 of file pnpioapi.c. References _DEVICE_CAPABILITIES::Address, ASSERT, ASSERT_PDO, _DEVICE_NODE::ChildBusNumber, _DEVICE_NODE::ChildBusTypeIndex, _DEVICE_NODE::ChildInterfaceType, _BUS_TYPE_GUID_LIST::Count, DevicePropertyAddress, DevicePropertyBootConfiguration, DevicePropertyBootConfigurationTranslated, DevicePropertyBusNumber, DevicePropertyBusTypeGuid, DevicePropertyClassGuid, DevicePropertyClassName, DevicePropertyCompatibleIDs, DevicePropertyDeviceDescription, DevicePropertyDriverKeyName, DevicePropertyEnumeratorName, DevicePropertyFriendlyName, DevicePropertyHardwareID, DevicePropertyLegacyBusType, DevicePropertyLocationInformation, DevicePropertyManufacturer, DevicePropertyPhysicalDeviceObjectName, DevicePropertyUINumber, ExAcquireResourceExclusive, ExAllocatePool, ExFreePool(), ExReleaseResource, _BUS_TYPE_GUID_LIST::Guid, _DEVICE_NODE::InstancePath, IopBusTypeGuidList, IopDeviceObjectToDeviceInstance(), IopGetRegistryValue(), IopOpenRegistryKeyEx(), IopQueryDeviceCapabilities(), KeEnterCriticalRegion, KeLeaveCriticalRegion, KEY_VALUE_DATA, L, NT_SUCCESS, NTSTATUS(), NULL, ObQueryNameString(), PAGED_CODE, PagedPool, PpRegistryDeviceResource, RtlInitUnicodeString(), and TRUE. Referenced by ArbQueryConflict(), IoGetDmaAdapter(), and IopProcessSetInterfaceState().
|
|
Definition at line 8307 of file pnpioapi.c. References ASSERT, ASSERT_PDO, BUS_INTERFACE_STANDARD, _BUS_INTERFACE_STANDARD::Context, DevicePropertyLegacyBusType, Executive, FALSE, _BUS_INTERFACE_STANDARD::GetDmaAdapter, HalGetDmaAdapter, _BUS_INTERFACE_STANDARD::InterfaceDereference, _DEVICE_DESCRIPTION::InterfaceType, IoBuildSynchronousFsdRequest(), IoCallDriver, IoGetAttachedDeviceReference(), IoGetDeviceProperty(), IoGetNextIrpStackLocation, _IRP::IoStatus, IRP_MJ_PNP, IRP_MN_QUERY_INTERFACE, KeInitializeEvent, KernelMode, KeWaitForSingleObject(), _IO_STACK_LOCATION::MinorFunction, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, PAGED_CODE, _IO_STACK_LOCATION::Parameters, and PnpDefaultInterfaceType.
|
|
Definition at line 9712 of file pnpioapi.c. References ASSERT, ExFreePool(), FALSE, IopAcquireEnumerationLock, IopAppendLegacyVeto(), IopGetLegacyVetoListDeviceNode(), IopGetLegacyVetoListDrivers(), IopReleaseEnumerationLock, IopRootDeviceNode, L, NT_SUCCESS, NTSTATUS(), NULL, PnPInitialized, RtlInitUnicodeString(), IO_GET_LEGACY_VETO_LIST_CONTEXT::Status, Status, IO_GET_LEGACY_VETO_LIST_CONTEXT::VetoList, IO_GET_LEGACY_VETO_LIST_CONTEXT::VetoListLength, and IO_GET_LEGACY_VETO_LIST_CONTEXT::VetoType. Referenced by ExpQueryLegacyDriverInformation().
|
|
Definition at line 8120 of file pnpioapi.c. References IopGetRelatedTargetDevice(), NT_SUCCESS, NTSTATUS(), NULL, and _DEVICE_NODE::PhysicalDeviceObject. Referenced by FsRtlNotifyVolumeEvent(), and NtSetVolumeInformationFile().
|
|
Definition at line 1395 of file pnpioapi.c. References ASSERT_PDO, BusRelations, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, DNF_BEING_ENUMERATED, DNF_ENUMERATION_REQUEST_QUEUED, DNF_IO_INVALIDATE_DEVICE_RELATIONS_PENDING, DNF_STARTED, EjectionRelations, _DEVICE_NODE::Flags, IopPnPSpinLock, IopRequestDeviceAction(), NULL, PoInvalidateDevicePowerRelations(), PowerRelations, and ReenumerateDeviceTree. Referenced by IopProcessNewProfileStateCallback(), VideoPortCalloutThread(), and xxxUserPowerEventCalloutWorker().
|
|
Definition at line 6281 of file pnpioapi.c. References ASSERT_PDO, DNF_REMOVE_PENDING_CLOSES, DNF_STARTED, _DEVICE_NODE::Flags, IopInvalidateDeviceStateWorker(), IopQueueDeviceWorkItem(), and NULL.
|
|
Definition at line 8275 of file pnpioapi.c. References WDM_MAJORVERSION, and WDM_MINORVERSION.
|
|
Definition at line 9171 of file pnpioapi.c. References _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, _DEVICE_NODE::InstancePath, IopRootDeviceNode, NULL, PAGED_CODE, _DEVICE_NODE::PhysicalDeviceObject, and PpSetPowerVetoEvent().
|
|
Definition at line 3624 of file pnpioapi.c. References ExAcquireResourceExclusive, ExReleaseResource, IopCreateRegistryKeyEx(), IopDeviceInterfaceKeysFromSymbolicLink(), KeEnterCriticalRegion, KeLeaveCriticalRegion, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PpRegistryDeviceResource, and TRUE.
|
|
Definition at line 810 of file pnpioapi.c. References ASSERT, ExAcquireResourceExclusive, ExAllocatePool, ExFreePool(), ExReleaseResource, _DEVICE_NODE::InstancePath, IopCreateRegistryKeyEx(), IopDeviceObjectToDeviceInstance(), IopGetRegistryValue(), IopOpenDeviceParametersSubkey(), IopOpenRegistryKeyEx(), KeEnterCriticalRegion, KeLeaveCriticalRegion, KEY_VALUE_DATA, MAX_RESTPATH_BUF_LEN, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PagedPool, PATH_CONTROL_CLASS, PATH_CURRENTCONTROLSET, PATH_CURRENTCONTROLSET_HW_PROFILE_CURRENT, PATH_ENUM, PLUGPLAY_REGKEY_CURRENT_HWPROFILE, PLUGPLAY_REGKEY_DEVICE, PLUGPLAY_REGKEY_DRIVER, PpRegistryDeviceResource, RtlAppendUnicodeStringToString(), RtlAppendUnicodeToString(), and TRUE.
|
|
Definition at line 2427 of file pnpioapi.c. References ASSERT, ExAllocatePool, PagedPool, and Size. Referenced by IopGetDeviceInterfaces(), IopProcessCriticalDeviceRoutine(), and IopRemoveDeviceInterfaces().
|
|
Definition at line 5619 of file pnpioapi.c. References ExAllocatePool, PAGED_CODE, PagedPool, and String. Referenced by IopBuildSymbolicLinkStrings(), IopOpenOrCreateDeviceInterfaceSubKeys(), IopRemoveDeviceInterfaces(), IopSetRegistryStringValue(), and IopUnregisterDeviceInterface().
|
|
Definition at line 2575 of file pnpioapi.c. References ASSERT, IopResizeBuffer(), NT_SUCCESS, NTSTATUS(), and TRUE. Referenced by IopGetDeviceInterfaces().
|
|
Definition at line 9357 of file pnpioapi.c. References Buffer, ExAllocatePool, ExFreePool(), FALSE, L, NonPagedPool, NULL, and TRUE. Referenced by IoGetLegacyVetoList(), IopGetLegacyVetoListDevice(), and IopGetLegacyVetoListDrivers().
|
|
Definition at line 5137 of file pnpioapi.c. References ASSERT, IopAllocateUnicodeString(), IopConstStringSize, IopFreeAllocatedUnicodeString(), IopReplaceSeperatorWithPound(), KERNEL_SYMLINK_STRING_PREFIX, NT_SUCCESS, NTSTATUS(), PAGED_CODE, REPLACED_SEPERATOR_STRING, RtlAppendUnicodeStringToString(), RtlAppendUnicodeToString(), RtlCopyUnicodeString(), SEPERATOR_STRING, USER_SYMLINK_STRING_PREFIX, and USHORT. Referenced by IoGetDeviceInterfaceAlias(), and IopRegisterDeviceInterface().
|
|
Definition at line 6600 of file pnpioapi.c. References ASSERT, _NOTIFY_ENTRY_HEADER::DriverObject, _NOTIFY_ENTRY_HEADER::EventCategory, EventCategoryTargetDeviceChange, ExFreePool(), NULL, ObDereferenceObject, PAGED_CODE, _TARGET_DEVICE_NOTIFY_ENTRY::PhysicalDeviceObject, PTARGET_DEVICE_NOTIFY_ENTRY, _NOTIFY_ENTRY_HEADER::RefCount, and _NOTIFY_ENTRY_HEADER::Unregistered. Referenced by IopNotifyDeviceClassChange(), IopNotifyHwProfileChange(), IopNotifyTargetDeviceChange(), IopProcessDeferredRegistrations(), and IoUnregisterPlugPlayNotification().
|
|
Definition at line 3708 of file pnpioapi.c. References ExAcquireResourceExclusive, ExReleaseResource, FALSE, IopOpenOrCreateDeviceInterfaceSubKeys(), IopOpenRegistryKeyEx(), IopParseSymbolicLinkName(), KeEnterCriticalRegion, KeLeaveCriticalRegion, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PpRegistryDeviceResource, and TRUE. Referenced by IoGetDeviceInterfaceAlias(), IoOpenDeviceInterfaceRegistryKey(), IopProcessSetInterfaceState(), and IopUnregisterDeviceInterface().
|
|
Definition at line 9866 of file pnpioapi.c. References _DEVICE_OBJECT::AttachedDevice, _DEVICE_OBJECT::DeviceObjectExtension, DOE_START_PENDING, ExAcquireResourceExclusive, ExFreePool(), ExReleaseResource, _DEVOBJ_EXTENSION::ExtensionFlags, FALSE, IopDatabaseLock, IopProcessSetInterfaceState(), KeEnterCriticalRegion, KeLeaveCriticalRegion, _PENDING_SET_INTERFACE_STATE::LinkName, PPENDING_SET_INTERFACE_STATE, PpRegistryDeviceResource, and TRUE. Referenced by IopStartDevice(), and IoReportDetectedDevice().
|
|
Definition at line 5353 of file pnpioapi.c. References ASSERT, IopParseSymbolicLinkName(), NT_SUCCESS, NTSTATUS(), NULL, and PAGED_CODE. Referenced by IopProcessSetInterfaceState().
|
|
Definition at line 5668 of file pnpioapi.c. References ASSERT, ExFreePool(), NULL, PAGED_CODE, and String. Referenced by IoGetDeviceInterfaceAlias(), IopBuildSymbolicLinkStrings(), IopOpenOrCreateDeviceInterfaceSubKeys(), IopProcessCriticalDevice(), IopRegisterDeviceInterface(), IopRemoveDeviceInterfaces(), IopSetRegistryStringValue(), and IopUnregisterDeviceInterface().
|
|
Definition at line 2536 of file pnpioapi.c. References ASSERT, ExFreePool(), and NULL. Referenced by IopGetDeviceInterfaces(), IopProcessCriticalDeviceRoutine(), and IopRemoveDeviceInterfaces().
|
|
Definition at line 2707 of file pnpioapi.c. References ASSERT, _BUFFER_INFO::Buffer, _BUFFER_INFO::Current, DbgPrint, DEVICE_INTERFACE_INCLUDE_NONACTIVE, ExAcquireResourceExclusive, ExFreePool(), ExReleaseResource, FALSE, INITIAL_DEVNODE_NAME_BUFFER_SIZE, INITIAL_INFO_BUFFER_SIZE, INITIAL_RETURN_BUFFER_SIZE, INITIAL_SYMLINK_BUFFER_SIZE, IopAllocateBuffer(), IopAppendBuffer(), IopCreateRegistryKeyEx(), IopFreeBuffer(), IopGetRegistryValue(), IopOpenOrCreateDeviceInterfaceSubKeys(), IopOpenRegistryKeyEx(), IopResizeBuffer(), KeEnterCriticalRegion, KeLeaveCriticalRegion, KERNEL_SYMLINK_STRING_PREFIX, KERNEL_SYMLINK_STRING_PREFIX_LENGTH, KEY_VALUE_DATA, _BUFFER_INFO::MaxSize, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PpRegistryDeviceResource, RtlCompareUnicodeString(), RtlFreeUnicodeString(), RtlStringFromGUID(), TRUE, and USHORT. Referenced by IoGetDeviceInterfaces(), and IopRemoveDeviceInterfaces().
|
|
Definition at line 9445 of file pnpioapi.c. References FALSE, IopAppendLegacyVeto(), IopDeviceNodeFlagsToCapabilities, _DEVICE_CAPABILITIES::NonDynamic, NULL, and TRUE. Referenced by IopGetLegacyVetoListDeviceNode().
|
|
Definition at line 9506 of file pnpioapi.c. References _DEVICE_NODE::Child, FALSE, IopGetLegacyVetoListDevice(), NULL, _DEVICE_NODE::Sibling, and TRUE. Referenced by IoGetLegacyVetoList().
|
|
Definition at line 9565 of file pnpioapi.c. References ASSERT, DRVO_LEGACY_RESOURCES, ExAllocatePool, ExFreePool(), FALSE, _DRIVER_OBJECT::Flags, IO_TYPE_DRIVER, IoDriverObjectType, IopAppendLegacyVeto(), KernelMode, L, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObjectByName(), PagedPool, RtlInitUnicodeString(), TRUE, and _DRIVER_OBJECT::Type. Referenced by IoGetLegacyVetoList().
|
|
Definition at line 8036 of file pnpioapi.c. References ASSERT, _DEVICE_RELATIONS::Count, DbgPrint, _DEVOBJ_EXTENSION::DeviceNode, _IO_STACK_LOCATION::DeviceObject, _DEVICE_OBJECT::DeviceObjectExtension, _DRIVER_OBJECT::DriverExtension, _DEVICE_OBJECT::DriverObject, ExFreePool(), _IO_STACK_LOCATION::FileObject, IoGetRelatedDeviceObject(), IopSynchronousCall(), IRP_MJ_PNP, IRP_MN_QUERY_DEVICE_RELATIONS, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NT_SUCCESS, NTSTATUS(), _DEVICE_RELATIONS::Objects, _IO_STACK_LOCATION::Parameters, _DRIVER_EXTENSION::ServiceKeyName, and TargetDeviceRelation. Referenced by IoGetRelatedTargetDevice(), and IoRegisterPlugPlayNotification().
|
|
Definition at line 6511 of file pnpioapi.c. References ExInitializeFastMutex, IopDeferredRegistrationList, IopDeferredRegistrationLock, IopDeviceClassNotifyList, IopDeviceClassNotifyLock, IopHwProfileNotifyLock, IopProfileNotifyList, IopTargetDeviceNotifyLock, NOTIFY_DEVICE_CLASS_HASH_BUCKETS, and PAGED_CODE.
|
|
Definition at line 6387 of file pnpioapi.c. References _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_WORK_ITEM::DeviceObject, _DEVICE_OBJECT::DeviceObjectExtension, DNF_REMOVE_PENDING_CLOSES, DNF_STARTED, ExFreePool(), _DEVICE_NODE::Flags, IopQueryDeviceState(), IopUncacheInterfaceInformation(), ObDereferenceObject, and PDEVICE_WORK_ITEM. Referenced by IoInvalidateDeviceState().
|
|
Definition at line 2286 of file pnpioapi.c. References ExFreePool(), exit, FALSE, Handle, IopGetRegistryValue(), IopIsDuplicatedDevices(), IopOpenRegistryKeyEx(), KEY_VALUE_DATA, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, RtlEqualUnicodeString(), RtlInitUnicodeString(), TITLE_INDEX_VALUE, TRUE, and USHORT. Referenced by IoReportDetectedDevice().
|
|
Definition at line 7330 of file pnpioapi.c. References _NOTIFY_ENTRY_HEADER::Callback, _NOTIFICATION_CALLBACK_PARAM_BLOCK::Callout, _DEVICE_CLASS_NOTIFY_ENTRY::ClassGuid, _NOTIFICATION_CALLBACK_PARAM_BLOCK::Context, _NOTIFY_ENTRY_HEADER::Context, DbgPrint, _DRIVER_OBJECT::DriverName, _NOTIFY_ENTRY_HEADER::DriverObject, _DEVICE_INTERFACE_CHANGE_NOTIFICATION::Event, _DEVICE_INTERFACE_CHANGE_NOTIFICATION::InterfaceClassGuid, IopAcquireNotifyLock, IopCompareGuid, IopDereferenceNotify(), IopDeviceClassNotifyList, IopDeviceClassNotifyLock, IopHashGuid, IopPnPHydraCallback(), IopReferenceNotify(), IopReleaseNotifyLock, KeGetCurrentThread, MmDispatchWin32Callout(), _NOTIFICATION_CALLBACK_PARAM_BLOCK::NotificationStructure, NTSTATUS(), PAGED_CODE, PDEVICE_CLASS_NOTIFY_ENTRY, PKWIN32_CALLOUT, PNP_NOTIFICATION_VERSION, _DEVICE_INTERFACE_CHANGE_NOTIFICATION::Size, _DEVICE_INTERFACE_CHANGE_NOTIFICATION::SymbolicLinkName, _DEVICE_CLASS_NOTIFY_ENTRY::Unregistered, and _DEVICE_INTERFACE_CHANGE_NOTIFICATION::Version.
|
|
Definition at line 6858 of file pnpioapi.c. References _NOTIFY_ENTRY_HEADER::Callback, _NOTIFICATION_CALLBACK_PARAM_BLOCK::Callout, _NOTIFICATION_CALLBACK_PARAM_BLOCK::Context, _NOTIFY_ENTRY_HEADER::Context, DbgPrint, _DRIVER_OBJECT::DriverName, _NOTIFY_ENTRY_HEADER::DriverObject, _HWPROFILE_CHANGE_NOTIFICATION::Event, IopAcquireNotifyLock, IopCompareGuid, IopDereferenceNotify(), IopHwProfileNotifyLock, IopPnPHydraCallback(), IopProfileNotifyList, IopReferenceNotify(), IopReleaseNotifyLock, KeGetCurrentThread, MmDispatchWin32Callout(), _NOTIFICATION_CALLBACK_PARAM_BLOCK::NotificationStructure, NT_SUCCESS, NTSTATUS(), PAGED_CODE, PHWPROFILE_NOTIFY_ENTRY, PKWIN32_CALLOUT, PNP_NOTIFICATION_VERSION, RtlCopyUnicodeString(), _HWPROFILE_CHANGE_NOTIFICATION::Size, _HWPROFILE_NOTIFY_ENTRY::Unregistered, _NOTIFY_ENTRY_HEADER::Unregistered, and _HWPROFILE_CHANGE_NOTIFICATION::Version. Referenced by IopRequestHwProfileChangeNotification().
|
|
Definition at line 8162 of file pnpioapi.c. References _SETUP_NOTIFY_DATA::Callback, _NOTIFICATION_CALLBACK_PARAM_BLOCK::Callout, _NOTIFICATION_CALLBACK_PARAM_BLOCK::Context, _SETUP_NOTIFY_DATA::Context, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, _SETUP_DEVICE_ARRIVAL_NOTIFICATION::EnumEntryKey, _SETUP_DEVICE_ARRIVAL_NOTIFICATION::EnumPath, _SETUP_DEVICE_ARRIVAL_NOTIFICATION::Event, _SETUP_DEVICE_ARRIVAL_NOTIFICATION::InstallDriver, _DEVICE_NODE::InstancePath, IopDeviceObjectToDeviceInstance(), IopPnPHydraCallback(), IopSetupNotifyData, MmDispatchWin32Callout(), _NOTIFICATION_CALLBACK_PARAM_BLOCK::NotificationStructure, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, _SETUP_DEVICE_ARRIVAL_NOTIFICATION::PhysicalDeviceObject, PKWIN32_CALLOUT, PNP_NOTIFICATION_VERSION, SETUP_DEVICE_ARRIVAL_NOTIFICATION, _SETUP_DEVICE_ARRIVAL_NOTIFICATION::Size, and _SETUP_DEVICE_ARRIVAL_NOTIFICATION::Version. Referenced by IopInitializeDeviceInstanceKey(), IopNotifySetupDevices(), IopProcessNewDeviceNode(), and IoReportDetectedDevice().
|
|
Definition at line 7055 of file pnpioapi.c. References ASSERT, _NOTIFY_ENTRY_HEADER::Callback, _NOTIFICATION_CALLBACK_PARAM_BLOCK::Callout, _NOTIFICATION_CALLBACK_PARAM_BLOCK::Context, _NOTIFY_ENTRY_HEADER::Context, DbgPrint, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, _DRIVER_OBJECT::DriverName, _NOTIFY_ENTRY_HEADER::DriverObject, _TARGET_DEVICE_REMOVAL_NOTIFICATION::Event, _TARGET_DEVICE_CUSTOM_NOTIFICATION::FileObject, _TARGET_DEVICE_REMOVAL_NOTIFICATION::FileObject, IopAcquireNotifyLock, IopCompareGuid, IopDereferenceNotify(), IopPnPHydraCallback(), IopReferenceNotify(), IopReleaseNotifyLock, IopTargetDeviceNotifyLock, KeGetCurrentThread, MmDispatchWin32Callout(), _NOTIFICATION_CALLBACK_PARAM_BLOCK::NotificationStructure, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObject, PAGED_CODE, PKWIN32_CALLOUT, PNP_NOTIFICATION_VERSION, _TARGET_DEVICE_REMOVAL_NOTIFICATION::Size, _DEVICE_NODE::TargetDeviceNotify, _TARGET_DEVICE_NOTIFY_ENTRY::Unregistered, _NOTIFY_ENTRY_HEADER::Unregistered, and _TARGET_DEVICE_REMOVAL_NOTIFICATION::Version.
|
|
Definition at line 9221 of file pnpioapi.c. References ASSERT, ExAllocatePool, Executive, ExFreePool(), FALSE, IoRaiseInformationalHardError(), KeInitializeEvent, KernelMode, KeWaitForSingleObject(), MAX_VETO_NAME_LENGTH, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PagedPool, and PpSetPowerEvent(). Referenced by xxxSendMessageBSM().
|
|
Definition at line 8501 of file pnpioapi.c. References ASSERT, ExAllocatePool, ExFreePool(), FALSE, IopCreateRegistryKeyEx(), IopOpenRegistryKeyEx(), NT_SUCCESS, NTSTATUS(), NULL, PagedPool, RtlAddAccessAllowedAceEx(), RtlAddAce(), RtlCreateAcl(), RtlCreateSecurityDescriptor(), RtlEqualSid(), RtlGetAce(), RtlGetDaclSecurityDescriptor(), RtlInitUnicodeString(), RtlLengthSid(), RtlQueryInformationAcl(), RtlSetDaclSecurityDescriptor(), RtlValidSecurityDescriptor(), SeAliasAdminsSid, and TRUE. Referenced by IoOpenDeviceRegistryKey(), MapperSeedKey(), and PnPBiosCopyDeviceParamKey().
|
|
Definition at line 4741 of file pnpioapi.c. References ASSERT, Create(), FALSE, IopAllocateUnicodeString(), IopConstStringSize, IopCreateRegistryKeyEx(), IopFreeAllocatedUnicodeString(), IopOpenRegistryKeyEx(), IopParseSymbolicLinkName(), IopReplaceSeperatorWithPound(), KEY_STRING_PREFIX, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, REFSTRING_PREFIX_CHAR, RtlCopyUnicodeString(), and USHORT. Referenced by IopDeviceInterfaceKeysFromSymbolicLink(), IopGetDeviceInterfaces(), and IopRegisterDeviceInterface().
|
|
Definition at line 9301 of file pnpioapi.c. References _TARGET_DEVICE_NOTIFY_ENTRY::EventCategory, EventCategoryTargetDeviceChange, IopAcquireNotifyLock, IopReleaseNotifyLock, IopTargetDeviceNotifyLock, NULL, ObDereferenceObject, and _TARGET_DEVICE_NOTIFY_ENTRY::PhysicalDeviceObject.
|
|
Definition at line 2640 of file pnpioapi.c. References ASSERT, FALSE, IopResizeBuffer(), NT_SUCCESS, and NTSTATUS().
|
|
Definition at line 5424 of file pnpioapi.c. References ASSERT, FALSE, GUID_STRING_LENGTH, GUID_STRING_SIZE, IopConstStringLength, IopConstStringSize, KERNEL_SYMLINK_STRING_PREFIX, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, path, RtlGUIDFromString(), SEPERATOR_CHAR, TRUE, USER_SYMLINK_STRING_PREFIX, and USHORT. Referenced by IoGetDeviceInterfaceAlias(), IopDeviceInterfaceKeysFromSymbolicLink(), IopDropReferenceString(), IopOpenOrCreateDeviceInterfaceSubKeys(), IopProcessSetInterfaceState(), and IopUnregisterDeviceInterface().
|
|
Definition at line 9333 of file pnpioapi.c. References _NOTIFICATION_CALLBACK_PARAM_BLOCK::Callout, _NOTIFICATION_CALLBACK_PARAM_BLOCK::Context, _NOTIFICATION_CALLBACK_PARAM_BLOCK::NotificationStructure, NTSTATUS(), and PNOTIFICATION_CALLBACK_PARAM_BLOCK. Referenced by IopNotifyDeviceClassChange(), IopNotifyHwProfileChange(), IopNotifySetupDeviceArrival(), IopNotifyTargetDeviceChange(), and IoRegisterPlugPlayNotification().
|
|
Definition at line 5954 of file pnpioapi.c. References ExFreePool(), FALSE, IopAcquireNotifyLock, IopDeferredRegistrationList, IopDeferredRegistrationLock, IopDereferenceNotify(), IopReleaseNotifyLock, _NOTIFY_ENTRY_HEADER::Lock, _DEFERRED_REGISTRATION_ENTRY::NotifyEntry, NULL, PDEFERRED_REGISTRATION_ENTRY, and _NOTIFY_ENTRY_HEADER::Unregistered.
|
|
Definition at line 9922 of file pnpioapi.c. References ASSERT, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, DevicePropertyPhysicalDeviceObjectName, DOE_START_PENDING, ExAllocatePool, ExFreePool(), _DEVOBJ_EXTENSION::ExtensionFlags, IoCreateSymbolicLink(), IoDeleteSymbolicLink(), IoGetDeviceProperty(), IopCreateRegistryKeyEx(), IopDeviceInterfaceKeysFromSymbolicLink(), IopDeviceObjectFromDeviceInstance(), IopDropReferenceString(), IopGetRegistryValue(), IopParseSymbolicLinkName(), IopRegistryDataToUnicodeString, IopSetupDeviceObjectFromDeviceClass(), KEY_VALUE_DATA, _PENDING_SET_INTERFACE_STATE::LinkName, _PENDING_SET_INTERFACE_STATE::List, List, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, PAGED_CODE, PagedPool, _DEVICE_NODE::PendedSetInterfaceState, PENDING_SET_INTERFACE_STATE, PpSetDeviceClassChange(), RtlEqualUnicodeString(), RtlInitUnicodeString(), and TRUE. Referenced by IopDoDeferredSetInterfaceState(), and IoSetDeviceInterfaceState().
|
|
Definition at line 6327 of file pnpioapi.c. References _DEVICE_WORK_ITEM::Context, DelayedWorkQueue, _DEVICE_WORK_ITEM::DeviceObject, ExAllocatePool, ExInitializeWorkItem, ExQueueWorkItem(), NonPagedPool, NULL, ObReferenceObject, PDEVICE_WORK_ITEM, and _DEVICE_WORK_ITEM::WorkItem. Referenced by IoInvalidateDeviceState(), and IoRequestDeviceEject().
|
|
Definition at line 3491 of file pnpioapi.c. References ASSERT, Buffer, ExAllocatePool, ExFreePool(), PAGED_CODE, and PagedPool.
|
|
Definition at line 6564 of file pnpioapi.c. References ASSERT, PAGED_CODE, and _NOTIFY_ENTRY_HEADER::RefCount. Referenced by IopNotifyDeviceClassChange(), IopNotifyHwProfileChange(), IopNotifyTargetDeviceChange(), and IoRegisterPlugPlayNotification().
|
|
Definition at line 3929 of file pnpioapi.c. References ExAcquireResourceExclusive, ExReleaseResource, IopBuildSymbolicLinkStrings(), IopCreateRegistryKeyEx(), IopFreeAllocatedUnicodeString(), IopOpenOrCreateDeviceInterfaceSubKeys(), IopSetRegistryStringValue(), KeEnterCriticalRegion, KeLeaveCriticalRegion, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PpRegistryDeviceResource, RtlFreeUnicodeString(), RtlStringFromGUID(), and TRUE. Referenced by IoRegisterDeviceInterface().
|
|
|
|
Definition at line 4414 of file pnpioapi.c. References _BUFFER_INFO::Buffer, DEVICE_INTERFACE_INCLUDE_NONACTIVE, ExFreePool(), FALSE, INITIAL_INFO_BUFFER_SIZE, IopAllocateBuffer(), IopAllocateUnicodeString(), IopDeleteKeyRecursive(), IopFreeAllocatedUnicodeString(), IopFreeBuffer(), IopGetDeviceInterfaces(), IopGetRegistryValue(), IopOpenRegistryKeyEx(), IopRegistryDataToUnicodeString, IopResizeBuffer(), IopUnregisterDeviceInterface(), KEY_VALUE_DATA, _BUFFER_INFO::MaxSize, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, RtlEqualUnicodeString(), RtlGUIDFromString(), RtlInitUnicodeString(), TRUE, and USHORT.
|
|
Definition at line 5280 of file pnpioapi.c. References ALT_SEPERATOR_CHAR, ASSERT, PAGED_CODE, REPLACED_SEPERATOR_CHAR, SEPERATOR_CHAR, and USHORT.
|
|
Definition at line 6242 of file pnpioapi.c. References _ASYNC_TDC_WORK_ITEM::Callback, _ASYNC_TDC_WORK_ITEM::Context, _ASYNC_TDC_WORK_ITEM::DeviceObject, ExFreePool(), _ASYNC_TDC_WORK_ITEM::NotificationStructure, NULL, ObDereferenceObject, PASYNC_TDC_WORK_ITEM, and PpSetCustomTargetEvent(). Referenced by IoReportTargetDeviceChangeAsynchronous().
|
|
Definition at line 1520 of file pnpioapi.c. References _DEVICE_WORK_ITEM::DeviceObject, ExFreePool(), NULL, ObDereferenceObject, PDEVICE_WORK_ITEM, PpSetTargetDeviceRemove(), and TRUE. Referenced by IoRequestDeviceEject().
|
|
Definition at line 6672 of file pnpioapi.c. References ASSERT, DbgPrint, ExAllocatePoolWithTag, Executive, FALSE, IopCompareGuid, IopNotifyHwProfileChange(), KeInitializeEvent, KernelMode, KeWaitForSingleObject(), NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PagedPool, PiNotificationInProgress, PiNotifyUserMode(), PNP_DEVICE_EVENT_ENTRY_TAG, PpSetHwProfileChangeEvent(), PROFILE_NOT_IN_PNPEVENT, PROFILE_PERHAPS_IN_PNPEVENT, and TRUE. Referenced by IopHardwareProfileQueryChange(), IopHardwareProfileSendCancel(), and IopHardwareProfileSendCommit().
|
|
Definition at line 2467 of file pnpioapi.c. References ASSERT, ExAllocatePool, ExFreePool(), and PagedPool. Referenced by IopAppendBuffer(), IopGetDeviceInterfaces(), IopOverwriteBuffer(), IopProcessCriticalDeviceRoutine(), and IopRemoveDeviceInterfaces().
|
|
Definition at line 6439 of file pnpioapi.c. References DNF_NO_RESOURCE_REQUIRED, DNF_NON_STOPPED_REBALANCE, DNF_RESOURCE_REQUIREMENTS_CHANGED, DNF_STARTED, FALSE, _DEVICE_NODE::Flags, IopClearDevNodeProblem, IopRequestDeviceAction(), NULL, PAGED_CODE, and ResourceRequirementsChanged. Referenced by IopQueryDeviceState().
|
|
Referenced by IopBootLog(), and IopRegisterDeviceInterface(). |
|
Definition at line 8959 of file pnpioapi.c. References ExFreePool(), FALSE, IopGetRegistryValue(), Key, NT_SUCCESS, NTSTATUS(), NULL, ObSetSecurityObjectByPointer(), PagedPool, RtlGetDaclSecurityDescriptor(), RtlGetGroupSecurityDescriptor(), RtlGetOwnerSecurityDescriptor(), RtlGetSaclSecurityDescriptor(), RtlInitUnicodeString(), SeCaptureSecurityDescriptor(), SeReleaseSecurityDescriptor(), and UserMode.
|
|
Referenced by IopProcessSetInterfaceState(). |
|
Definition at line 4140 of file pnpioapi.c. References ExAcquireResourceExclusive, ExFreePool(), ExReleaseResource, FALSE, IopAllocateUnicodeString(), IopConstStringSize, IopDeleteKeyRecursive(), IopDeviceInterfaceKeysFromSymbolicLink(), IopFreeAllocatedUnicodeString(), IopGetRegistryKeyInformation(), IopGetRegistryValue(), IopOpenRegistryKeyEx(), IopParseSymbolicLinkName(), IoSetDeviceInterfaceState(), KeEnterCriticalRegion, KeLeaveCriticalRegion, KEY_STRING_PREFIX, KEY_VALUE_DATA, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PpRegistryDeviceResource, REFSTRING_PREFIX_CHAR, RtlAppendUnicodeStringToString(), TRUE, and USHORT. Referenced by IopRemoveDeviceInterfaces().
|
|
Definition at line 3835 of file pnpioapi.c. References ALT_SEPERATOR_CHAR, FALSE, _DEVICE_NODE::InstancePath, IopRegisterDeviceInterface(), NTSTATUS(), PAGED_CODE, SEPERATOR_CHAR, and USHORT.
|
|
Definition at line 7495 of file pnpioapi.c. References ASSERT, _DEVICE_CLASS_NOTIFY_ENTRY::Callback, _TARGET_DEVICE_NOTIFY_ENTRY::Callback, _HWPROFILE_NOTIFY_ENTRY::Callback, _SETUP_NOTIFY_DATA::Callback, _NOTIFICATION_CALLBACK_PARAM_BLOCK::Callout, _DEVICE_CLASS_NOTIFY_ENTRY::ClassGuid, _NOTIFICATION_CALLBACK_PARAM_BLOCK::Context, _DEVICE_CLASS_NOTIFY_ENTRY::Context, _TARGET_DEVICE_NOTIFY_ENTRY::Context, _HWPROFILE_NOTIFY_ENTRY::Context, _SETUP_NOTIFY_DATA::Context, DbgPrint, DEVICE_CLASS_NOTIFY_ENTRY, _DEVICE_CLASS_NOTIFY_ENTRY::DriverObject, _TARGET_DEVICE_NOTIFY_ENTRY::DriverObject, _HWPROFILE_NOTIFY_ENTRY::DriverObject, _SETUP_NOTIFY_DATA::DriverObject, _DEVICE_INTERFACE_CHANGE_NOTIFICATION::Event, _DEVICE_CLASS_NOTIFY_ENTRY::EventCategory, _TARGET_DEVICE_NOTIFY_ENTRY::EventCategory, _HWPROFILE_NOTIFY_ENTRY::EventCategory, _SETUP_NOTIFY_DATA::EventCategory, EventCategoryDeviceInterfaceChange, EventCategoryHardwareProfileChange, EventCategoryReserved, EventCategoryTargetDeviceChange, ExAllocatePool, ExFreePool(), FALSE, _TARGET_DEVICE_NOTIFY_ENTRY::FileObject, HWPROFILE_NOTIFY_ENTRY, _DEVICE_INTERFACE_CHANGE_NOTIFICATION::InterfaceClassGuid, IoDriverObjectType, IoGetDeviceInterfaces(), IopAcquireNotifyLock, IopDeferredRegistrationList, IopDeferredRegistrationLock, IopDeviceClassNotifyList, IopDeviceClassNotifyLock, IopGetRelatedTargetDevice(), IopHashGuid, IopHwProfileNotifyLock, IopPnPHydraCallback(), IopProfileNotifyList, IopReferenceNotify(), IopReleaseNotifyLock, IopSetupNotifyData, IopTargetDeviceNotifyLock, KeGetCurrentThread, KernelMode, _SETUP_NOTIFY_DATA::ListEntry, _DEVICE_CLASS_NOTIFY_ENTRY::Lock, _TARGET_DEVICE_NOTIFY_ENTRY::Lock, _HWPROFILE_NOTIFY_ENTRY::Lock, _SETUP_NOTIFY_DATA::Lock, MmDispatchWin32Callout(), _NOTIFICATION_CALLBACK_PARAM_BLOCK::NotificationStructure, _DEFERRED_REGISTRATION_ENTRY::NotifyEntry, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObjectByPointer(), PAGED_CODE, PagedPool, PDEFERRED_REGISTRATION_ENTRY, _TARGET_DEVICE_NOTIFY_ENTRY::PhysicalDeviceObject, _DEVICE_NODE::PhysicalDeviceObject, PiNotificationInProgress, PiNotificationInProgressLock, PKWIN32_CALLOUT, PNP_NOTIFICATION_VERSION, PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES, _DEVICE_CLASS_NOTIFY_ENTRY::RefCount, _TARGET_DEVICE_NOTIFY_ENTRY::RefCount, _HWPROFILE_NOTIFY_ENTRY::RefCount, _SETUP_NOTIFY_DATA::RefCount, RtlInitUnicodeString(), SETUP_NOTIFY_DATA, _DEVICE_INTERFACE_CHANGE_NOTIFICATION::Size, _DEVICE_INTERFACE_CHANGE_NOTIFICATION::SymbolicLinkName, TARGET_DEVICE_NOTIFY_ENTRY, _DEVICE_NODE::TargetDeviceNotify, TRUE, _DEVICE_CLASS_NOTIFY_ENTRY::Unregistered, _TARGET_DEVICE_NOTIFY_ENTRY::Unregistered, _HWPROFILE_NOTIFY_ENTRY::Unregistered, _SETUP_NOTIFY_DATA::Unregistered, and _DEVICE_INTERFACE_CHANGE_NOTIFICATION::Version. Referenced by DeviceClassCDROMNotify(), RegisterForDeviceChangeNotifications(), and xxxRegisterForDeviceClassNotifications().
|
|
Definition at line 1548 of file pnpioapi.c. References ArbiterRequestLegacyReported, ASSERT, BusNumber, CmRegistryMachineSystemCurrentControlSetEnumName, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, DNF_ADDED, DNF_ENUMERATED, DNF_HAS_PROBLEM, DNF_MADEUP, DNF_NEED_ENUMERATION_ONLY, DNF_NEED_QUERY_IDS, DNF_NO_RESOURCE_REQUIRED, DNF_PROCESSED, DNF_STARTED, DO_BUS_ENUMERATED_DEVICE, DRVO_BUILTIN_DRIVER, ExAcquireResourceShared, ExAllocatePool, ExFreePool(), exit, ExReleaseResource, FALSE, _DEVICE_OBJECT::Flags, _DEVICE_NODE::Flags, _DEVICE_NODE::InstancePath, IoCreateDevice(), IoDeleteDevice(), IopAllocateDeviceNode(), IopConcatenateUnicodeStrings(), IopCreateRegistryKeyEx(), IopDeleteLegacyKey(), IopDetermineResourceListSize(), IopDeviceObjectFromDeviceInstance(), IopDeviceObjectToDeviceInstance(), IopDoDeferredSetInterfaceState(), IopDoesDevNodeHaveProblem, IopDuplicateDetection(), IopInsertTreeDeviceNode(), IopIsReportedAlready(), IopNotifySetupDeviceArrival(), IoPnpDriverObject, IopNumberDeviceNodes, IopOpenRegistryKeyEx(), IopReleaseDeviceResources(), IopRootDeviceNode, IopSetDevNodeProblem, IopWriteAllocatedResourcesToRegistry(), IoReportResourceUsageInternal(), KeEnterCriticalRegion, KeLeaveCriticalRegion, KeQueryTickCount(), L, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObject, PAGED_CODE, PagedPool, _DEVICE_NODE::PhysicalDeviceObject, PpCreateLegacyDeviceIds(), PpDeviceRegistration(), PpRegistryDeviceResource, _DEVICE_NODE::Problem, RtlInitUnicodeString(), _DEVICE_NODE::ServiceName, TITLE_INDEX_VALUE, TRUE, and USHORT.
|
|
Definition at line 6017 of file pnpioapi.c. References ASSERT, ASSERT_PDO, DbgPrint, _TARGET_DEVICE_CUSTOM_NOTIFICATION::Event, Executive, FALSE, _TARGET_DEVICE_CUSTOM_NOTIFICATION::FileObject, IopCompareGuid, KeInitializeEvent, KernelMode, KeWaitForSingleObject(), _TARGET_DEVICE_CUSTOM_NOTIFICATION::NameBufferOffset, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PpSetCustomTargetEvent(), and _TARGET_DEVICE_CUSTOM_NOTIFICATION::Size. Referenced by FsRtlNotifyVolumeEvent(), and NtSetVolumeInformationFile().
|
|
Definition at line 6118 of file pnpioapi.c. References ASSERT, ASSERT_PDO, ASYNC_TDC_WORK_ITEM, _ASYNC_TDC_WORK_ITEM::Callback, _ASYNC_TDC_WORK_ITEM::Context, DbgPrint, DelayedWorkQueue, _ASYNC_TDC_WORK_ITEM::DeviceObject, _TARGET_DEVICE_CUSTOM_NOTIFICATION::Event, ExAllocatePool, ExInitializeWorkItem, ExQueueWorkItem(), _TARGET_DEVICE_CUSTOM_NOTIFICATION::FileObject, IopCompareGuid, IopReportTargetDeviceChangeAsyncWorker(), _TARGET_DEVICE_CUSTOM_NOTIFICATION::NameBufferOffset, NonPagedPool, _ASYNC_TDC_WORK_ITEM::NotificationStructure, NTSTATUS(), NULL, ObReferenceObject, PASYNC_TDC_WORK_ITEM, _TARGET_DEVICE_CUSTOM_NOTIFICATION::Size, and _ASYNC_TDC_WORK_ITEM::WorkItem. Referenced by FsRtlNotifyVolumeEvent().
|
|
Definition at line 1481 of file pnpioapi.c. References ASSERT_PDO, IopQueueDeviceWorkItem(), IopRequestDeviceEjectWorker(), and NULL. Referenced by IopDeviceStartComplete().
|
|
Definition at line 3563 of file pnpioapi.c. References ExAcquireResourceExclusive, ExReleaseResource, IopProcessSetInterfaceState(), KeEnterCriticalRegion, KeLeaveCriticalRegion, NT_SUCCESS, NTSTATUS(), PAGED_CODE, PpRegistryDeviceResource, and TRUE. Referenced by IopUnregisterDeviceInterface().
|
|
Definition at line 1291 of file pnpioapi.c. References ASSERT_PDO, BusRelations, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, DNF_STARTED, EjectionRelations, Executive, FALSE, _DEVICE_NODE::Flags, IopRequestDeviceAction(), KeInitializeEvent, KernelMode, KeWaitForSingleObject(), NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PnPInitialized, PoInvalidateDevicePowerRelations(), PowerRelations, and ReenumerateDeviceTree.
|
|
Definition at line 5829 of file pnpioapi.c. References ASSERT, ExFreePool(), FALSE, IopAcquireNotifyLock, IopDeferredRegistrationList, IopDeferredRegistrationLock, IopDereferenceNotify(), IopReleaseNotifyLock, _NOTIFY_ENTRY_HEADER::Lock, _DEFERRED_REGISTRATION_ENTRY::NotifyEntry, PAGED_CODE, PDEFERRED_REGISTRATION_ENTRY, PiNotificationInProgress, PiNotificationInProgressLock, TRUE, and _NOTIFY_ENTRY_HEADER::Unregistered. Referenced by DeviceCDROMNotify(), and UnregisterForDeviceChangeNotifications().
|
|
Referenced by IopRequestHwProfileChangeNotification(). |
|
Definition at line 9077 of file pnpioapi.c. References _IOPNP_DEVICE_EXTENSION::CompatibleIdList, _IOPNP_DEVICE_EXTENSION::CompatibleIdListSize, ExAllocatePool, L, LEGACY_COMPATIBLE_ID_BASE, NULL, PAGED_CODE, and PagedPool. Referenced by IoReportDetectedDevice().
|
|
Definition at line 199 of file pnpioapi.c. Referenced by IopInitializePlugPlayNotification(), IopProcessDeferredRegistrations(), IoRegisterPlugPlayNotification(), and IoUnregisterPlugPlayNotification(). |
|
Definition at line 200 of file pnpioapi.c. Referenced by IopInitializePlugPlayNotification(), IopProcessDeferredRegistrations(), IoRegisterPlugPlayNotification(), and IoUnregisterPlugPlayNotification(). |
|
Definition at line 183 of file pnpioapi.c. Referenced by IopInitializePlugPlayNotification(), IopNotifyDeviceClassChange(), and IoRegisterPlugPlayNotification(). |
|
Definition at line 184 of file pnpioapi.c. Referenced by IopInitializePlugPlayNotification(), IopNotifyDeviceClassChange(), and IoRegisterPlugPlayNotification(). |
|
Definition at line 188 of file pnpioapi.c. Referenced by IopInitializePlugPlayNotification(), IopNotifyHwProfileChange(), and IoRegisterPlugPlayNotification(). |
|
Definition at line 187 of file pnpioapi.c. Referenced by IopInitializePlugPlayNotification(), IopNotifyHwProfileChange(), and IoRegisterPlugPlayNotification(). |
|
Definition at line 185 of file pnpioapi.c. Referenced by IopNotifySetupDeviceArrival(), and IoRegisterPlugPlayNotification(). |
|
Definition at line 186 of file pnpioapi.c. Referenced by IopInitializePlugPlayNotification(), IopNotifyTargetDeviceChange(), IopOrphanNotification(), and IoRegisterPlugPlayNotification(). |
|
Definition at line 189 of file pnpioapi.c. Referenced by IopRequestHwProfileChangeNotification(), IoRegisterPlugPlayNotification(), and IoUnregisterPlugPlayNotification(). |
|
Definition at line 190 of file pnpioapi.c. Referenced by IoRegisterPlugPlayNotification(), and IoUnregisterPlugPlayNotification(). |