ReactOS 0.4.16-dev-2491-g3dc6630
cmtypes.h
Go to the documentation of this file.
1/*++ NDK Version: 0098
2
3Copyright (c) Alex Ionescu. All rights reserved.
4
5Header Name:
6
7 cmtypes.h
8
9Abstract:
10
11 Type definitions for the Configuration Manager.
12
13Author:
14
15 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16
17--*/
18
19#ifndef _CMTYPES_H
20#define _CMTYPES_H
21
22//
23// Dependencies
24//
25#include <umtypes.h>
26#include <cfg.h>
27#include <iotypes.h>
28
29#define MAX_BUS_NAME 24
30
31//
32// PLUGPLAY_CONTROL_PROPERTY_DATA.Properties
33//
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
48
49//
50// PLUGPLAY_CONTROL_RELATED_DEVICE_DATA.Relations
51//
52#define PNP_GET_PARENT_DEVICE 1
53#define PNP_GET_CHILD_DEVICE 2
54#define PNP_GET_SIBLING_DEVICE 3
55
56//
57// PLUGPLAY_CONTROL_STATUS_DATA.Operation
58//
59#define PNP_GET_DEVICE_STATUS 0
60#define PNP_SET_DEVICE_STATUS 1
61#define PNP_CLEAR_DEVICE_STATUS 2
62
63//
64// PLUGPLAY_CONTROL_DEVICE_RELATIONS_DATA.Relations
65//
66#define PNP_EJECT_RELATIONS 0
67#define PNP_REMOVAL_RELATIONS 1
68#define PNP_POWER_RELATIONS 2
69#define PNP_BUS_RELATIONS 3
70
71
72#ifdef NTOS_MODE_USER
73
74//
75// Resource Type
76//
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
90
91
92//
93// Resource Descriptor Share Dispositions
94//
95typedef enum _CM_SHARE_DISPOSITION
96{
102
103#endif
104
105//
106// Port Resource Descriptor Flags
107//
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
116#define CM_RESOURCE_PORT_BAR 0x0100
117
118//
119// Memory Resource Descriptor Flags
120//
121#define CM_RESOURCE_MEMORY_READ_WRITE 0x0000
122#define CM_RESOURCE_MEMORY_READ_ONLY 0x0001
123#define CM_RESOURCE_MEMORY_WRITE_ONLY 0x0002
124#define CM_RESOURCE_MEMORY_WRITEABILITY_MASK 0x0003
125#define CM_RESOURCE_MEMORY_PREFETCHABLE 0x0004
126#define CM_RESOURCE_MEMORY_COMBINEDWRITE 0x0008
127#define CM_RESOURCE_MEMORY_24 0x0010
128#define CM_RESOURCE_MEMORY_CACHEABLE 0x0020
129#define CM_RESOURCE_MEMORY_WINDOW_DECODE 0x0040
130#define CM_RESOURCE_MEMORY_BAR 0x0080
131#define CM_RESOURCE_MEMORY_COMPAT_FOR_INACCESSIBLE_RANGE 0x0100
132
133#define CM_RESOURCE_MEMORY_LARGE 0x0E00
134#define CM_RESOURCE_MEMORY_LARGE_40 0x0200
135#define CM_RESOURCE_MEMORY_LARGE_48 0x0400
136#define CM_RESOURCE_MEMORY_LARGE_64 0x0800
137
138#define CM_RESOURCE_MEMORY_LARGE_40_MAXLEN 0x000000FFFFFFFF00
139#define CM_RESOURCE_MEMORY_LARGE_48_MAXLEN 0x0000FFFFFFFF0000
140#define CM_RESOURCE_MEMORY_LARGE_64_MAXLEN 0xFFFFFFFF00000000
141
142//
143// DMA Resource Descriptor Flags
144//
145#define CM_RESOURCE_DMA_8 0x0000
146#define CM_RESOURCE_DMA_16 0x0001
147#define CM_RESOURCE_DMA_32 0x0002
148#define CM_RESOURCE_DMA_8_AND_16 0x0004
149#define CM_RESOURCE_DMA_BUS_MASTER 0x0008
150#define CM_RESOURCE_DMA_TYPE_A 0x0010
151#define CM_RESOURCE_DMA_TYPE_B 0x0020
152#define CM_RESOURCE_DMA_TYPE_F 0x0040
153
154//
155// Interrupt Resource Descriptor Flags
156//
157#define CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE 0x0000
158#define CM_RESOURCE_INTERRUPT_LATCHED 0x0001
159#define CM_RESOURCE_INTERRUPT_MESSAGE 0x0002
160#define CM_RESOURCE_INTERRUPT_POLICY_INCLUDED 0x0004
161#define CM_RESOURCE_INTERRUPT_ALLOW_RESERVED_IDT 0x0008
162#define CM_RESOURCE_INTERRUPT_SECONDARY_INTERRUPT 0x0010
163#define CM_RESOURCE_INTERRUPT_WAKE_HINT 0x0020
164
165#define CM_RESOURCE_INTERRUPT_LEVEL_LATCHED_BITS 0x0001
166
167#define CM_RESOURCE_INTERRUPT_MESSAGE_TOKEN ((ULONG)-2)
168
169//
170// NtInitializeRegistry Flags
171//
172#define CM_BOOT_FLAG_SMSS 0x0000
173#define CM_BOOT_FLAG_SETUP 0x0001
174#define CM_BOOT_FLAG_ACCEPTED 0x0002
175#define CM_BOOT_FLAG_MAX (CM_BOOT_FLAG_ACCEPTED + 999)
176
177#ifdef NTOS_MODE_USER
178
179//
180// Information Classes for NtQueryKey
181//
182typedef enum _KEY_INFORMATION_CLASS
183{
194
196{
202 MaxKeyValueInfoClass
204
206{
215
216#endif
217
218//
219// Plag and Play Classes
220//
222{
248
250{
255
256//
257// Plag and Play Bus Types
258//
260{
264
265//
266// Plag and Play Event Categories
267//
269{
281
282#ifdef NTOS_MODE_USER
283
284//
285// Information Structures for NtQueryKeyInformation
286//
287typedef struct _KEY_WRITE_TIME_INFORMATION
288{
291
292typedef struct _KEY_WOW64_FLAGS_INFORMATION
293{
296
297typedef struct _KEY_USER_FLAGS_INFORMATION
298{
299 ULONG UserFlags;
300} KEY_USER_FLAGS_INFORMATION, *PKEY_USER_FLAGS_INFORMATION;
301
302typedef struct _KEY_HANDLE_TAGS_INFORMATION
303{
306
308{
311
313{
319 ULONG Reserved:27;
321
323{
327 ULONG Reserved:29;
329
330
331typedef struct _KEY_FULL_INFORMATION
332{
343 WCHAR Class[1];
345
346typedef struct _KEY_NAME_INFORMATION
347{
349 WCHAR Name[1];
351
352
353typedef struct _KEY_NODE_INFORMATION
354{
360 WCHAR Name[1];
362
363typedef struct _KEY_VALUE_ENTRY
364{
368 ULONG Type;
370
372{
374 ULONG Type;
376 UCHAR Data[1];
378
380{
381 ULONG Type;
383 UCHAR Data[1];
385
386typedef struct _KEY_VALUE_BASIC_INFORMATION
387{
389 ULONG Type;
391 WCHAR Name[1];
393
394typedef struct _KEY_VALUE_FULL_INFORMATION
395{
397 ULONG Type;
401 WCHAR Name[1];
403
404typedef struct _KEY_BASIC_INFORMATION
405{
409 WCHAR Name[1];
411
412#endif
413
414//
415// Plug and Play Event Block
416//
418{
425 union
426 {
427 struct
428 {
432 struct
433 {
436 struct
437 {
440 struct
441 {
445 struct
446 {
449 struct
450 {
454 struct
455 {
459 struct
460 {
463 };
465
466//
467// Plug and Play Control Classes
468//
469
470// PlugPlayControlEnumerateDevice (0x00)
472{
476
477// PlugPlayControlRegisterNewDevice (0x1)
478// PlugPlayControlDeregisterDevice (0x2)
479// PlugPlayControlInitializeDevice (0x3)
480// PlugPlayControlStartDevice (0x4)
481// PlugPlayControlUnlockDevice (0x5)
482// PlugPlayControlResetDevice (0x14)
483// PlugPlayControlHaltDevice (0x15)
485{
488
489// PlugPlayControlQueryAndRemoveDevice (0x06)
491{
498
499// PlugPlayControlUserResponse (0x07)
501{
507
508// PlugPlayControlGetInterfaceDeviceList (0x09)
510{
517
518// PlugPlayControlProperty (0x0A)
520{
526
527// PlugPlayControlDeviceClassAssociation (0x0B)
529{
537
538// PlugPlayControlGetRelatedDevice (0x0C)
540{
546
547// PlugPlayControlGetInterfaceDeviceAlias (0x0D)
549{
555
556// PlugPlayControlDeviceStatus (0x0E)
558{
564
565// PlugPlayControlGetDeviceDepth (0x0F)
567{
571
572// PlugPlayControlQueryDeviceRelations (0x10)
574{
580
581// PlugPlayControlRetrieveDock (0x13)
583{
587
588//
589// Plug and Play Bus Type Definition
590//
591typedef struct _PLUGPLAY_BUS_TYPE
592{
594 union
595 {
598 };
600
601//
602// Plug and Play Bus Instance Definition
603//
605{
610
611#ifdef NTOS_MODE_USER
612
613//
614// Partial Resource Descriptor and List for Hardware
615//
616#include <pshpack1.h>
618{
619 UCHAR Type;
622 union
623 {
624 struct
625 {
628 } Generic;
629 struct
630 {
633 } Port;
634 struct
635 {
636 ULONG Level;
639 } Interrupt;
640#if (NTDDI_VERSION >= NTDDI_LONGHORN)
641 struct
642 {
643 union
644 {
645 struct
646 {
651 } Raw;
652 struct
653 {
654 ULONG Level;
657 } Translated;
658 };
660#endif
661 struct
662 {
665 } Memory;
666 struct
667 {
669 ULONG Port;
671 } Dma;
672 struct
673 {
674 ULONG Data[3];
676 struct
677 {
678 ULONG Start;
681 } BusNumber;
682 struct
683 {
688#if (NTDDI_VERSION >= NTDDI_LONGHORN)
689 struct
690 {
693 } Memory40;
694 struct
695 {
698 } Memory48;
699 struct
700 {
703 } Memory64;
704#endif
705 } u;
707
708typedef struct _CM_PARTIAL_RESOURCE_LIST
709{
712 ULONG Count;
715
716//
717// Full Resource Descriptor and List for Hardware
718//
719typedef struct _CM_FULL_RESOURCE_DESCRIPTOR
720{
725
726typedef struct _CM_RESOURCE_LIST
727{
728 ULONG Count;
731
732//
733// ROM Block Structure
734//
735typedef struct _CM_ROM_BLOCK
736{
738 ULONG Size;
740
741//
742// Disk/INT13 Structures
743//
744typedef struct _CM_INT13_DRIVE_PARAMETER
745{
752
754{
760
761#include <poppack.h>
762
763#endif // _!NTOS_MODE_USER
764
765#endif // _CMTYPES_H
766
767
768
unsigned char BOOLEAN
Definition: actypes.h:127
enum _PNP_VETO_TYPE PNP_VETO_TYPE
ULONG_PTR KAFFINITY
Definition: compat.h:85
@ KeyValuePartialInformationAlign64
Definition: reg.c:103
@ KeyValueFullInformationAlign64
Definition: reg.c:102
struct _PLUGPLAY_CONTROL_RETRIEVE_DOCK_DATA PLUGPLAY_CONTROL_RETRIEVE_DOCK_DATA
struct _PLUGPLAY_CONTROL_INTERFACE_ALIAS_DATA * PPLUGPLAY_CONTROL_INTERFACE_ALIAS_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
_PLUGPLAY_EVENT_CATEGORY
Definition: cmtypes.h:269
@ HardwareProfileChangeEvent
Definition: cmtypes.h:270
@ MaxPlugEventCategory
Definition: cmtypes.h:279
@ DeviceArrivalEvent
Definition: cmtypes.h:275
@ TargetDeviceChangeEvent
Definition: cmtypes.h:271
@ VetoEvent
Definition: cmtypes.h:277
@ PowerEvent
Definition: cmtypes.h:276
@ CustomDeviceEvent
Definition: cmtypes.h:273
@ DeviceClassChangeEvent
Definition: cmtypes.h:272
@ BlockedDriverEvent
Definition: cmtypes.h:278
@ DeviceInstallEvent
Definition: cmtypes.h:274
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_CLASS_ASSOCIATION_DATA * PPLUGPLAY_CONTROL_CLASS_ASSOCIATION_DATA
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
_PLUGPLAY_CONTROL_CLASS
Definition: cmtypes.h:222
@ PlugPlayControlTargetDeviceRelation
Definition: cmtypes.h:240
@ PlugPlayControlEnumerateDevice
Definition: cmtypes.h:223
@ PlugPlayControlUnlockDevice
Definition: cmtypes.h:228
@ PlugPlayControlUserResponse
Definition: cmtypes.h:230
@ PlugPlayControlProperty
Definition: cmtypes.h:233
@ PlugPlayControlQueryConflictList
Definition: cmtypes.h:241
@ PlugPlayControlRegisterNewDevice
Definition: cmtypes.h:224
@ PlugPlayControlQueryDeviceRelations
Definition: cmtypes.h:239
@ MaxPlugPlayControl
Definition: cmtypes.h:246
@ PlugPlayControlGetRelatedDevice
Definition: cmtypes.h:235
@ PlugPlayControlDeviceStatus
Definition: cmtypes.h:237
@ PlugPlayControlQueryAndRemoveDevice
Definition: cmtypes.h:229
@ PlugPlayControlGenerateLegacyDevice
Definition: cmtypes.h:231
@ PlugPlayControlGetDeviceDepth
Definition: cmtypes.h:238
@ PlugPlayControlDeregisterDevice
Definition: cmtypes.h:225
@ PlugPlayControlHaltDevice
Definition: cmtypes.h:244
@ PlugPlayControlDeviceClassAssociation
Definition: cmtypes.h:234
@ PlugPlayControlInitializeDevice
Definition: cmtypes.h:226
@ PlugPlayControlGetInterfaceDeviceList
Definition: cmtypes.h:232
@ PlugPlayControlGetBlockedDriverList
Definition: cmtypes.h:245
@ PlugPlayControlStartDevice
Definition: cmtypes.h:227
@ PlugPlayControlGetInterfaceDeviceAlias
Definition: cmtypes.h:236
@ PlugPlayControlRetrieveDock
Definition: cmtypes.h:242
@ PlugPlayControlResetDevice
Definition: cmtypes.h:243
struct _PLUGPLAY_CONTROL_DEVICE_CONTROL_DATA PLUGPLAY_CONTROL_DEVICE_CONTROL_DATA
#define MAX_BUS_NAME
Definition: cmtypes.h:29
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
Definition: cmtypes.h:260
@ MaxPlugPlayVirtualBusType
Definition: cmtypes.h:262
@ Root
Definition: cmtypes.h:261
struct _PLUGPLAY_BUS_TYPE PLUGPLAY_BUS_TYPE
_PLUGPLAY_BUS_CLASS
Definition: cmtypes.h:250
@ PlugPlayVirtualBus
Definition: cmtypes.h:252
@ SystemBus
Definition: cmtypes.h:251
@ MaxPlugPlayBusClass
Definition: cmtypes.h:253
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_CLASS_ASSOCIATION_DATA PLUGPLAY_CONTROL_CLASS_ASSOCIATION_DATA
struct _PLUGPLAY_CONTROL_ENUMERATE_DEVICE_DATA PLUGPLAY_CONTROL_ENUMERATE_DEVICE_DATA
struct _PLUGPLAY_CONTROL_INTERFACE_ALIAS_DATA PLUGPLAY_CONTROL_INTERFACE_ALIAS_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
_KEY_INFORMATION_CLASS
Definition: nt_native.h:1133
@ KeyBasicInformation
Definition: nt_native.h:1134
@ KeyNodeInformation
Definition: nt_native.h:1135
@ KeyFullInformation
Definition: nt_native.h:1136
struct _KEY_NODE_INFORMATION * PKEY_NODE_INFORMATION
_KEY_VALUE_INFORMATION_CLASS
Definition: nt_native.h:1182
@ KeyValueBasicInformation
Definition: nt_native.h:1183
@ KeyValuePartialInformation
Definition: nt_native.h:1185
@ KeyValueFullInformation
Definition: nt_native.h:1184
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
Definition: nt_native.h:1143
@ KeyWriteTimeInformation
Definition: nt_native.h:1144
struct _KEY_VALUE_PARTIAL_INFORMATION KEY_VALUE_PARTIAL_INFORMATION
enum _KEY_VALUE_INFORMATION_CLASS KEY_VALUE_INFORMATION_CLASS
Definition: reg.c:135
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
unsigned short USHORT
Definition: pedump.c:61
@ KeySetVirtualizationInformation
Definition: winternl.h:377
@ KeyControlFlagsInformation
Definition: winternl.h:376
@ KeySetDebugInformation
Definition: winternl.h:378
@ KeyWow64FlagsInformation
Definition: winternl.h:375
@ KeySetHandleTagsInformation
Definition: winternl.h:379
@ MaxKeySetInfoClass
Definition: winternl.h:380
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
CM_PARTIAL_RESOURCE_LIST PartialResourceList
Definition: restypes.h:144
INTERFACE_TYPE InterfaceType
Definition: restypes.h:142
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@384::@390 Dma
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@384::@387 Interrupt
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@384::@392 BusNumber
union _CM_PARTIAL_RESOURCE_DESCRIPTOR::@384 u
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@384::@388::@397::@399 Translated
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@384::@393 DeviceSpecificData
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@384::@388::@397::@398 Raw
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@384::@395 Memory48
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@384::@388 MessageInterrupt
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@384::@394 Memory40
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@384::@391 DevicePrivate
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@384::@396 Memory64
PHYSICAL_ADDRESS Start
Definition: restypes.h:14
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@384::@385 Generic
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@384::@386 Port
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@384::@389 Memory
CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1]
Definition: restypes.h:100
ULONG Address
Definition: cmtypes.h:341
ULONG Size
Definition: cmtypes.h:342
LARGE_INTEGER LastWriteTime
Definition: nt_native.h:1103
LARGE_INTEGER LastWriteTime
Definition: nt_native.h:1120
LARGE_INTEGER LastWriteTime
Definition: nt_native.h:1110
Definition: nt_native.h:1175
PUNICODE_STRING ValueName
Definition: nt_native.h:1176
ULONG DataLength
Definition: nt_native.h:1177
ULONG DataOffset
Definition: nt_native.h:1178
ULONG Type
Definition: nt_native.h:1179
LARGE_INTEGER LastWriteTime
Definition: nt_native.h:1140
PLUGPLAY_BUS_TYPE BusType
Definition: cmtypes.h:606
WCHAR BusName[MAX_BUS_NAME]
Definition: cmtypes.h:608
PLUGPLAY_VIRTUAL_BUS_TYPE PlugPlayVirtualBusType
Definition: cmtypes.h:597
PLUGPLAY_BUS_CLASS BusClass
Definition: cmtypes.h:593
INTERFACE_TYPE SystemBusType
Definition: cmtypes.h:596
UNICODE_STRING DeviceInstance
Definition: cmtypes.h:559
UNICODE_STRING DeviceInstance
Definition: cmtypes.h:568
UNICODE_STRING DeviceInstance
Definition: cmtypes.h:521
PNP_VETO_TYPE VetoType
Definition: cmtypes.h:456
PVOID NotificationStructure
Definition: cmtypes.h:442
WCHAR DeviceId[ANYSIZE_ARRAY]
Definition: cmtypes.h:438
struct _PLUGPLAY_EVENT_BLOCK::@2578::@2587 BlockedDriverNotification
struct _PLUGPLAY_EVENT_BLOCK::@2578::@2580 DeviceClass
struct _PLUGPLAY_EVENT_BLOCK::@2578::@2585 PowerNotification
struct _PLUGPLAY_EVENT_BLOCK::@2578::@2581 TargetDevice
PLUGPLAY_EVENT_CATEGORY EventCategory
Definition: cmtypes.h:420
struct _PLUGPLAY_EVENT_BLOCK::@2578::@2583 CustomNotification
struct _PLUGPLAY_EVENT_BLOCK::@2578::@2582 InstallDevice
struct _PLUGPLAY_EVENT_BLOCK::@2578::@2584 ProfileNotification
WCHAR DeviceIdVetoNameBuffer[ANYSIZE_ARRAY]
Definition: cmtypes.h:457
WCHAR DeviceIds[ANYSIZE_ARRAY]
Definition: cmtypes.h:434
struct _PLUGPLAY_EVENT_BLOCK::@2578::@2586 VetoNotification
uint16_t * PWSTR
Definition: typedefs.h:56
uint32_t * PULONG
Definition: typedefs.h:59
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
uint16_t * PWCHAR
Definition: typedefs.h:56
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING SymbolicLinkName
Definition: wdfdevice.h:3745
_Must_inspect_result_ _In_ WDFCMRESLIST List
Definition: wdfresource.h:550
struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 * PKEY_VALUE_PARTIAL_INFORMATION_ALIGN64
@ KeyFlagsInformation
Definition: winternl.h:1854
@ KeyVirtualizationInformation
Definition: winternl.h:1855
@ KeyCachedInformation
Definition: winternl.h:1853
@ KeyNameInformation
Definition: winternl.h:1852
@ KeyHandleTagsInformation
Definition: winternl.h:1856
@ MaxKeyInfoClass
Definition: winternl.h:1859
struct _KEY_NAME_INFORMATION * PKEY_NAME_INFORMATION
struct _KEY_NAME_INFORMATION KEY_NAME_INFORMATION
struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 KEY_VALUE_PARTIAL_INFORMATION_ALIGN64
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 _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
_CM_SHARE_DISPOSITION
Definition: cmtypes.h:239
@ CmResourceShareDeviceExclusive
Definition: cmtypes.h:241
@ CmResourceShareShared
Definition: cmtypes.h:243
@ CmResourceShareUndetermined
Definition: cmtypes.h:240
@ CmResourceShareDriverExclusive
Definition: cmtypes.h:242
struct _KEY_WOW64_FLAGS_INFORMATION * PKEY_WOW64_FLAGS_INFORMATION
struct _KEY_VIRTUALIZATION_INFORMATION * PKEY_VIRTUALIZATION_INFORMATION
unsigned char UCHAR
Definition: xmlstorage.h:181
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184