29#define MAX_BUS_NAME 24
34#define PNP_PROPERTY_UI_NUMBER 0
35#define PNP_PROPERTY_PHYSICAL_DEVICE_OBJECT_NAME 1
36#define PNP_PROPERTY_BUSTYPEGUID 2
37#define PNP_PROPERTY_LEGACYBUSTYPE 3
38#define PNP_PROPERTY_BUSNUMBER 4
39#define PNP_PROPERTY_POWER_DATA 5
40#define PNP_PROPERTY_REMOVAL_POLICY 6
41#define PNP_PROPERTY_REMOVAL_POLICY_OVERRIDE 7
42#define PNP_PROPERTY_ADDRESS 8
43#define PNP_PROPERTY_ENUMERATOR_NAME 9
44#define PNP_PROPERTY_REMOVAL_POLICY_HARDWARE_DEFAULT 10
45#define PNP_PROPERTY_INSTALL_STATE 11
46#define PNP_PROPERTY_LOCATION_PATHS 12
47#define PNP_PROPERTY_CONTAINERID 13
52#define PNP_GET_PARENT_DEVICE 1
53#define PNP_GET_CHILD_DEVICE 2
54#define PNP_GET_SIBLING_DEVICE 3
59#define PNP_GET_DEVICE_STATUS 0
60#define PNP_SET_DEVICE_STATUS 1
61#define PNP_CLEAR_DEVICE_STATUS 2
66#define PNP_EJECT_RELATIONS 0
67#define PNP_REMOVAL_RELATIONS 1
68#define PNP_POWER_RELATIONS 2
69#define PNP_BUS_RELATIONS 3
77#define CmResourceTypeNull 0
78#define CmResourceTypePort 1
79#define CmResourceTypeInterrupt 2
80#define CmResourceTypeMemory 3
81#define CmResourceTypeDma 4
82#define CmResourceTypeDeviceSpecific 5
83#define CmResourceTypeBusNumber 6
84#define CmResourceTypeMemoryLarge 7
85#define CmResourceTypeNonArbitrated 128
86#define CmResourceTypeConfigData 128
87#define CmResourceTypeDevicePrivate 129
88#define CmResourceTypePcCardConfig 130
89#define CmResourceTypeMfCardConfig 131
108#define CM_RESOURCE_PORT_MEMORY 0x0000
109#define CM_RESOURCE_PORT_IO 0x0001
110#define CM_RESOURCE_PORT_10_BIT_DECODE 0x0004
111#define CM_RESOURCE_PORT_12_BIT_DECODE 0x0008
112#define CM_RESOURCE_PORT_16_BIT_DECODE 0x0010
113#define CM_RESOURCE_PORT_POSITIVE_DECODE 0x0020
114#define CM_RESOURCE_PORT_PASSIVE_DECODE 0x0040
115#define CM_RESOURCE_PORT_WINDOW_DECODE 0x0080
120#define CM_RESOURCE_MEMORY_READ_WRITE 0x0000
121#define CM_RESOURCE_MEMORY_READ_ONLY 0x0001
122#define CM_RESOURCE_MEMORY_WRITE_ONLY 0x0002
123#define CM_RESOURCE_MEMORY_PREFETCHABLE 0x0004
124#define CM_RESOURCE_MEMORY_COMBINEDWRITE 0x0008
125#define CM_RESOURCE_MEMORY_24 0x0010
126#define CM_RESOURCE_MEMORY_CACHEABLE 0x0020
131#define CM_RESOURCE_DMA_8 0x0000
132#define CM_RESOURCE_DMA_16 0x0001
133#define CM_RESOURCE_DMA_32 0x0002
134#define CM_RESOURCE_DMA_8_AND_16 0x0004
135#define CM_RESOURCE_DMA_BUS_MASTER 0x0008
136#define CM_RESOURCE_DMA_TYPE_A 0x0010
137#define CM_RESOURCE_DMA_TYPE_B 0x0020
138#define CM_RESOURCE_DMA_TYPE_F 0x0040
143#define CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE 0x0000
144#define CM_RESOURCE_INTERRUPT_LATCHED 0x0001
145#define CM_RESOURCE_INTERRUPT_MESSAGE 0x0002
146#define CM_RESOURCE_INTERRUPT_POLICY_INCLUDED 0x0004
147#define CM_RESOURCE_INTERRUPT_ALLOW_RESERVED_IDT 0x0008
148#define CM_RESOURCE_INTERRUPT_SECONDARY_INTERRUPT 0x0010
149#define CM_RESOURCE_INTERRUPT_WAKE_HINT 0x0020
151#define CM_RESOURCE_INTERRUPT_LEVEL_LATCHED_BITS 0x0001
153#define CM_RESOURCE_INTERRUPT_MESSAGE_TOKEN ((ULONG)-2)
158#define CM_BOOT_FLAG_SMSS 0x0000
159#define CM_BOOT_FLAG_SETUP 0x0001
160#define CM_BOOT_FLAG_ACCEPTED 0x0002
161#define CM_BOOT_FLAG_MAX (CM_BOOT_FLAG_ACCEPTED + 999)
283typedef struct _KEY_USER_FLAGS_INFORMATION
286} KEY_USER_FLAGS_INFORMATION, *PKEY_USER_FLAGS_INFORMATION;
606#if (NTDDI_VERSION >= NTDDI_LONGHORN)
654#if (NTDDI_VERSION >= NTDDI_LONGHORN)
enum _PNP_VETO_TYPE PNP_VETO_TYPE
struct _CM_FULL_RESOURCE_DESCRIPTOR CM_FULL_RESOURCE_DESCRIPTOR
struct _CM_FULL_RESOURCE_DESCRIPTOR * PCM_FULL_RESOURCE_DESCRIPTOR
struct _CM_RESOURCE_LIST CM_RESOURCE_LIST
struct _CM_RESOURCE_LIST * PCM_RESOURCE_LIST
struct _CM_PARTIAL_RESOURCE_LIST CM_PARTIAL_RESOURCE_LIST
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR * PCM_PARTIAL_RESOURCE_DESCRIPTOR
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR CM_PARTIAL_RESOURCE_DESCRIPTOR
enum _INTERFACE_TYPE INTERFACE_TYPE
struct _CM_PARTIAL_RESOURCE_LIST * PCM_PARTIAL_RESOURCE_LIST
@ KeySetVirtualizationInformation
@ KeyControlFlagsInformation
@ KeyWow64FlagsInformation
@ KeySetHandleTagsInformation
@ KeyVirtualizationInformation
@ KeyHandleTagsInformation
struct _KEY_NAME_INFORMATION * PKEY_NAME_INFORMATION
struct _KEY_NAME_INFORMATION KEY_NAME_INFORMATION
@ KeyValuePartialInformationAlign64
@ KeyValueFullInformationAlign64
struct _PLUGPLAY_CONTROL_RETRIEVE_DOCK_DATA PLUGPLAY_CONTROL_RETRIEVE_DOCK_DATA
enum _PLUGPLAY_BUS_CLASS * PPLUGPLAY_BUS_CLASS
struct _PLUGPLAY_CONTROL_RELATED_DEVICE_DATA * PPLUGPLAY_CONTROL_RELATED_DEVICE_DATA
enum _PLUGPLAY_CONTROL_CLASS PLUGPLAY_CONTROL_CLASS
struct _PLUGPLAY_CONTROL_DEPTH_DATA * PPLUGPLAY_CONTROL_DEPTH_DATA
struct _PLUGPLAY_BUS_INSTANCE PLUGPLAY_BUS_INSTANCE
struct _PLUGPLAY_BUS_TYPE * PPLUGPLAY_BUS_TYPE
struct _PLUGPLAY_CONTROL_USER_RESPONSE_DATA PLUGPLAY_CONTROL_USER_RESPONSE_DATA
struct _PLUGPLAY_CONTROL_RELATED_DEVICE_DATA PLUGPLAY_CONTROL_RELATED_DEVICE_DATA
struct _PLUGPLAY_CONTROL_QUERY_REMOVE_DATA PLUGPLAY_CONTROL_QUERY_REMOVE_DATA
struct _PLUGPLAY_CONTROL_INTERFACE_DEVICE_LIST_DATA PLUGPLAY_CONTROL_INTERFACE_DEVICE_LIST_DATA
@ HardwareProfileChangeEvent
@ TargetDeviceChangeEvent
struct _PLUGPLAY_CONTROL_INTERFACE_DEVICE_LIST_DATA * PPLUGPLAY_CONTROL_INTERFACE_DEVICE_LIST_DATA
struct _PLUGPLAY_EVENT_BLOCK * PPLUGPLAY_EVENT_BLOCK
enum _PLUGPLAY_EVENT_CATEGORY PLUGPLAY_EVENT_CATEGORY
struct _PLUGPLAY_CONTROL_DEPTH_DATA PLUGPLAY_CONTROL_DEPTH_DATA
enum _PLUGPLAY_VIRTUAL_BUS_TYPE * PPLUGPLAY_VIRTUAL_BUS_TYPE
struct _PLUGPLAY_CONTROL_QUERY_REMOVE_DATA * PPLUGPLAY_CONTROL_QUERY_REMOVE_DATA
struct _PLUGPLAY_CONTROL_DEVICE_RELATIONS_DATA PLUGPLAY_CONTROL_DEVICE_RELATIONS_DATA
struct _PLUGPLAY_CONTROL_PROPERTY_DATA PLUGPLAY_CONTROL_PROPERTY_DATA
struct _PLUGPLAY_CONTROL_DEVICE_CONTROL_DATA * PPLUGPLAY_CONTROL_DEVICE_CONTROL_DATA
@ PlugPlayControlTargetDeviceRelation
@ PlugPlayControlEnumerateDevice
@ PlugPlayControlUnlockDevice
@ PlugPlayControlUserResponse
@ PlugPlayControlProperty
@ PlugPlayControlQueryConflictList
@ PlugPlayControlRegisterNewDevice
@ PlugPlayControlQueryDeviceRelations
@ PlugPlayControlGetRelatedDevice
@ PlugPlayControlDeviceStatus
@ PlugPlayControlQueryAndRemoveDevice
@ PlugPlayControlGenerateLegacyDevice
@ PlugPlayControlGetDeviceDepth
@ PlugPlayControlDeregisterDevice
@ PlugPlayControlHaltDevice
@ PlugPlayControlDeviceClassAssociation
@ PlugPlayControlInitializeDevice
@ PlugPlayControlGetInterfaceDeviceList
@ PlugPlayControlGetBlockedDriverList
@ PlugPlayControlStartDevice
@ PlugPlayControlGetInterfaceDeviceAlias
@ PlugPlayControlRetrieveDock
@ PlugPlayControlResetDevice
struct _PLUGPLAY_CONTROL_DEVICE_CONTROL_DATA PLUGPLAY_CONTROL_DEVICE_CONTROL_DATA
struct _PLUGPLAY_CONTOL_STATUS_DATA * PPLUGPLAY_CONTROL_STATUS_DATA
struct _PLUGPLAY_CONTOL_STATUS_DATA PLUGPLAY_CONTROL_STATUS_DATA
struct _PLUGPLAY_CONTROL_USER_RESPONSE_DATA * PPLUGPLAY_CONTROL_USER_RESPONSE_DATA
struct _PLUGPLAY_CONTROL_DEVICE_RELATIONS_DATA * PPLUGPLAY_CONTROL_DEVICE_RELATIONS_DATA
_PLUGPLAY_VIRTUAL_BUS_TYPE
@ MaxPlugPlayVirtualBusType
struct _PLUGPLAY_BUS_TYPE PLUGPLAY_BUS_TYPE
enum _PLUGPLAY_BUS_CLASS PLUGPLAY_BUS_CLASS
struct _PLUGPLAY_CONTROL_PROPERTY_DATA * PPLUGPLAY_CONTROL_PROPERTY_DATA
struct _PLUGPLAY_CONTROL_ENUMERATE_DEVICE_DATA * PPLUGPLAY_CONTROL_ENUMERATE_DEVICE_DATA
struct _PLUGPLAY_CONTROL_ENUMERATE_DEVICE_DATA PLUGPLAY_CONTROL_ENUMERATE_DEVICE_DATA
struct _PLUGPLAY_BUS_INSTANCE * PPLUGPLAY_BUS_INSTANCE
struct _PLUGPLAY_CONTROL_RETRIEVE_DOCK_DATA * PPLUGPLAY_CONTROL_RETRIEVE_DOCK_DATA
enum _PLUGPLAY_VIRTUAL_BUS_TYPE PLUGPLAY_VIRTUAL_BUS_TYPE
struct _PLUGPLAY_EVENT_BLOCK PLUGPLAY_EVENT_BLOCK
struct _KEY_VALUE_BASIC_INFORMATION KEY_VALUE_BASIC_INFORMATION
struct _KEY_VALUE_FULL_INFORMATION KEY_VALUE_FULL_INFORMATION
struct _KEY_NODE_INFORMATION * PKEY_NODE_INFORMATION
_KEY_VALUE_INFORMATION_CLASS
@ KeyValueBasicInformation
@ KeyValuePartialInformation
@ KeyValueFullInformation
enum _KEY_SET_INFORMATION_CLASS KEY_SET_INFORMATION_CLASS
struct _KEY_BASIC_INFORMATION KEY_BASIC_INFORMATION
struct _KEY_VALUE_ENTRY KEY_VALUE_ENTRY
struct _KEY_NODE_INFORMATION KEY_NODE_INFORMATION
struct _KEY_WRITE_TIME_INFORMATION KEY_WRITE_TIME_INFORMATION
struct _KEY_BASIC_INFORMATION * PKEY_BASIC_INFORMATION
struct _KEY_VALUE_ENTRY * PKEY_VALUE_ENTRY
struct _KEY_FULL_INFORMATION KEY_FULL_INFORMATION
_KEY_SET_INFORMATION_CLASS
@ KeyWriteTimeInformation
struct _KEY_VALUE_PARTIAL_INFORMATION KEY_VALUE_PARTIAL_INFORMATION
enum _KEY_VALUE_INFORMATION_CLASS KEY_VALUE_INFORMATION_CLASS
enum _KEY_INFORMATION_CLASS KEY_INFORMATION_CLASS
struct _KEY_WRITE_TIME_INFORMATION * PKEY_WRITE_TIME_INFORMATION
struct _KEY_VALUE_PARTIAL_INFORMATION * PKEY_VALUE_PARTIAL_INFORMATION
struct _KEY_VALUE_BASIC_INFORMATION * PKEY_VALUE_BASIC_INFORMATION
struct _KEY_FULL_INFORMATION * PKEY_FULL_INFORMATION
struct _KEY_VALUE_FULL_INFORMATION * PKEY_VALUE_FULL_INFORMATION
CM_PARTIAL_RESOURCE_LIST PartialResourceList
INTERFACE_TYPE InterfaceType
union _CM_PARTIAL_RESOURCE_DESCRIPTOR::@393 u
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@393::@394 Generic
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@393::@405 Memory64
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@393::@396 Interrupt
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@393::@402 DeviceSpecificData
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@393::@404 Memory48
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@393::@398 Memory
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@393::@397::@406::@408 Translated
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@393::@401 BusNumber
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@393::@397 MessageInterrupt
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@393::@395 Port
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@393::@400 DevicePrivate
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@393::@399 Dma
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@393::@403 Memory40
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@393::@397::@406::@407 Raw
CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1]
PUNICODE_STRING ValueName
PLUGPLAY_BUS_TYPE BusType
WCHAR BusName[MAX_BUS_NAME]
PLUGPLAY_VIRTUAL_BUS_TYPE PlugPlayVirtualBusType
PLUGPLAY_BUS_CLASS BusClass
INTERFACE_TYPE SystemBusType
UNICODE_STRING DeviceInstance
UNICODE_STRING DeviceInstance
UNICODE_STRING DeviceInstance
UNICODE_STRING DeviceInstance
UNICODE_STRING DeviceInstance
UNICODE_STRING DeviceInstance
UNICODE_STRING DeviceInstance
UNICODE_STRING DeviceInstance
ULONG DeviceInstanceLength
struct _PLUGPLAY_EVENT_BLOCK::@2405::@2407 DeviceClass
PVOID NotificationStructure
WCHAR DeviceId[ANYSIZE_ARRAY]
struct _PLUGPLAY_EVENT_BLOCK::@2405::@2411 ProfileNotification
struct _PLUGPLAY_EVENT_BLOCK::@2405::@2409 InstallDevice
struct _PLUGPLAY_EVENT_BLOCK::@2405::@2413 VetoNotification
PLUGPLAY_EVENT_CATEGORY EventCategory
struct _PLUGPLAY_EVENT_BLOCK::@2405::@2414 BlockedDriverNotification
struct _PLUGPLAY_EVENT_BLOCK::@2405::@2412 PowerNotification
struct _PLUGPLAY_EVENT_BLOCK::@2405::@2410 CustomNotification
WCHAR DeviceIdVetoNameBuffer[ANYSIZE_ARRAY]
WCHAR DeviceIds[ANYSIZE_ARRAY]
struct _PLUGPLAY_EVENT_BLOCK::@2405::@2408 TargetDevice
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING SymbolicLinkName
_Must_inspect_result_ _In_ WDFCMRESLIST List
struct _KEY_SET_VIRTUALIZATION_INFORMATION KEY_SET_VIRTUALIZATION_INFORMATION
enum _CM_SHARE_DISPOSITION CM_SHARE_DISPOSITION
struct _KEY_VIRTUALIZATION_INFORMATION KEY_VIRTUALIZATION_INFORMATION
struct _CM_INT13_DRIVE_PARAMETER * PCM_INT13_DRIVE_PARAMETER
struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 * PKEY_VALUE_PARTIAL_INFORMATION_ALIGN64
struct _CM_DISK_GEOMETRY_DEVICE_DATA CM_DISK_GEOMETRY_DEVICE_DATA
struct _KEY_HANDLE_TAGS_INFORMATION KEY_HANDLE_TAGS_INFORMATION
struct _KEY_HANDLE_TAGS_INFORMATION * PKEY_HANDLE_TAGS_INFORMATION
struct _CM_ROM_BLOCK * PCM_ROM_BLOCK
struct _CM_DISK_GEOMETRY_DEVICE_DATA * PCM_DISK_GEOMETRY_DEVICE_DATA
struct _KEY_SET_VIRTUALIZATION_INFORMATION * PKEY_SET_VIRTUALIZATION_INFORMATION
struct _CM_INT13_DRIVE_PARAMETER CM_INT13_DRIVE_PARAMETER
struct _KEY_WOW64_FLAGS_INFORMATION KEY_WOW64_FLAGS_INFORMATION
struct _KEY_CONTROL_FLAGS_INFORMATION KEY_CONTROL_FLAGS_INFORMATION
struct _KEY_CONTROL_FLAGS_INFORMATION * PKEY_CONTROL_FLAGS_INFORMATION
struct _CM_ROM_BLOCK CM_ROM_BLOCK
struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 KEY_VALUE_PARTIAL_INFORMATION_ALIGN64
@ CmResourceShareDeviceExclusive
@ CmResourceShareUndetermined
@ CmResourceShareDriverExclusive
struct _KEY_WOW64_FLAGS_INFORMATION * PKEY_WOW64_FLAGS_INFORMATION
struct _KEY_VIRTUALIZATION_INFORMATION * PKEY_VIRTUALIZATION_INFORMATION