ReactOS 0.4.16-dev-1007-g2e85425
rtltypes.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 rtltypes.h
8
9Abstract:
10
11 Type definitions for the Run-Time Library
12
13Author:
14
15 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16
17--*/
18
19#ifndef _RTLTYPES_H
20#define _RTLTYPES_H
21
22//
23// Dependencies
24//
25#include <umtypes.h>
26#include <mmtypes.h>
27#include <ldrtypes.h>
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33//
34// Maximum Atom Length
35//
36#define RTL_MAXIMUM_ATOM_LENGTH 255
37
38//
39// Process Parameters Flags
40//
41#define RTL_USER_PROCESS_PARAMETERS_NORMALIZED 0x01
42#define RTL_USER_PROCESS_PARAMETERS_PROFILE_USER 0x02
43#define RTL_USER_PROCESS_PARAMETERS_PROFILE_KERNEL 0x04
44#define RTL_USER_PROCESS_PARAMETERS_PROFILE_SERVER 0x08
45#define RTL_USER_PROCESS_PARAMETERS_UNKNOWN 0x10
46#define RTL_USER_PROCESS_PARAMETERS_RESERVE_1MB 0x20
47#define RTL_USER_PROCESS_PARAMETERS_RESERVE_16MB 0x40
48#define RTL_USER_PROCESS_PARAMETERS_CASE_SENSITIVE 0x80
49#define RTL_USER_PROCESS_PARAMETERS_DISABLE_HEAP_CHECKS 0x100
50#define RTL_USER_PROCESS_PARAMETERS_PROCESS_OR_1 0x200
51#define RTL_USER_PROCESS_PARAMETERS_PROCESS_OR_2 0x400
52#define RTL_USER_PROCESS_PARAMETERS_PRIVATE_DLL_PATH 0x1000
53#define RTL_USER_PROCESS_PARAMETERS_LOCAL_DLL_PATH 0x2000
54#define RTL_USER_PROCESS_PARAMETERS_IMAGE_KEY_MISSING 0x4000
55#define RTL_USER_PROCESS_PARAMETERS_NX 0x20000
56
57#define RTL_MAX_DRIVE_LETTERS 32
58#define RTL_DRIVE_LETTER_VALID (USHORT)0x0001
59
60//
61// End of Exception List
62//
63#define EXCEPTION_CHAIN_END ((PEXCEPTION_REGISTRATION_RECORD)-1)
64
65//
66// Thread Error Mode Flags
67//
68/* Also defined in psdk/winbase.h */
69#define SEM_FAILCRITICALERRORS 0x0001
70#define SEM_NOGPFAULTERRORBOX 0x0002
71#define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
72#define SEM_NOOPENFILEERRORBOX 0x8000
73
74#define RTL_SEM_FAILCRITICALERRORS (SEM_FAILCRITICALERRORS << 4)
75#define RTL_SEM_NOGPFAULTERRORBOX (SEM_NOGPFAULTERRORBOX << 4)
76#define RTL_SEM_NOALIGNMENTFAULTEXCEPT (SEM_NOALIGNMENTFAULTEXCEPT << 4)
77
78//
79// Range and Range List Flags
80//
81#define RTL_RANGE_LIST_ADD_IF_CONFLICT 0x00000001
82#define RTL_RANGE_LIST_ADD_SHARED 0x00000002
83
84#define RTL_RANGE_SHARED 0x01
85#define RTL_RANGE_CONFLICT 0x02
86
87//
88// Flags in RTL_ACTIVATION_CONTEXT_STACK_FRAME (from Checked NTDLL)
89//
90#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_RELEASE_ON_DEACTIVATION 0x01
91#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_NO_DEACTIVATE 0x02
92#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_ON_FREE_LIST 0x04
93#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_HEAP_ALLOCATED 0x08
94#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_NOT_REALLY_ACTIVATED 0x10
95#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_ACTIVATED 0x20
96#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_DEACTIVATED 0x40
97
98//
99// Activation Context Frame Flags (from Checked NTDLL)
100//
101#define RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_FORMAT_WHISTLER 0x01
102
103//
104// RtlActivateActivationContextEx Flags (from Checked NTDLL)
105//
106#define RTL_ACTIVATE_ACTIVATION_CONTEXT_EX_FLAG_RELEASE_ON_STACK_DEALLOCATION 0x01
107
108//
109// RtlDeactivateActivationContext Flags (based on Win32 flag and name of above)
110//
111#define RTL_DEACTIVATE_ACTIVATION_CONTEXT_FLAG_FORCE_EARLY_DEACTIVATION 0x01
112
113//
114// RtlQueryActivationContext Flags (based on Win32 flag and name of above)
115//
116#define RTL_QUERY_ACTIVATION_CONTEXT_FLAG_USE_ACTIVE_ACTIVATION_CONTEXT 0x01
117#define RTL_QUERY_ACTIVATION_CONTEXT_FLAG_IS_HMODULE 0x02
118#define RTL_QUERY_ACTIVATION_CONTEXT_FLAG_IS_ADDRESS 0x04
119#define RTL_QUERY_ACTIVATION_CONTEXT_FLAG_NO_ADDREF 0x80000000
120
121//
122// Public Heap Flags
123//
124#if !defined(NTOS_MODE_USER) && !defined(_NTIFS_)
125#define HEAP_NO_SERIALIZE 0x00000001
126#define HEAP_GROWABLE 0x00000002
127#define HEAP_GENERATE_EXCEPTIONS 0x00000004
128#define HEAP_ZERO_MEMORY 0x00000008
129#define HEAP_REALLOC_IN_PLACE_ONLY 0x00000010
130#define HEAP_TAIL_CHECKING_ENABLED 0x00000020
131#define HEAP_FREE_CHECKING_ENABLED 0x00000040
132#define HEAP_DISABLE_COALESCE_ON_FREE 0x00000080
133#define HEAP_CREATE_ALIGN_16 0x00010000
134#define HEAP_CREATE_ENABLE_TRACING 0x00020000
135#define HEAP_CREATE_ENABLE_EXECUTE 0x00040000
136#endif
137
138//
139// User-Defined Heap Flags and Classes
140//
141#define HEAP_SETTABLE_USER_VALUE 0x00000100
142#define HEAP_SETTABLE_USER_FLAG1 0x00000200
143#define HEAP_SETTABLE_USER_FLAG2 0x00000400
144#define HEAP_SETTABLE_USER_FLAG3 0x00000800
145#define HEAP_SETTABLE_USER_FLAGS 0x00000E00
146#define HEAP_CLASS_0 0x00000000
147#define HEAP_CLASS_1 0x00001000
148#define HEAP_CLASS_2 0x00002000
149#define HEAP_CLASS_3 0x00003000
150#define HEAP_CLASS_4 0x00004000
151#define HEAP_CLASS_5 0x00005000
152#define HEAP_CLASS_6 0x00006000
153#define HEAP_CLASS_7 0x00007000
154#define HEAP_CLASS_8 0x00008000
155#define HEAP_CLASS_MASK 0x0000F000
156
157//
158// Internal HEAP Structure Flags
159//
160#define HEAP_FLAG_PAGE_ALLOCS 0x01000000
161#define HEAP_PROTECTION_ENABLED 0x02000000
162#define HEAP_BREAK_WHEN_OUT_OF_VM 0x04000000
163#define HEAP_NO_ALIGNMENT 0x08000000
164#define HEAP_CAPTURE_STACK_BACKTRACES 0x08000000
165#define HEAP_SKIP_VALIDATION_CHECKS 0x10000000
166#define HEAP_VALIDATE_ALL_ENABLED 0x20000000
167#define HEAP_VALIDATE_PARAMETERS_ENABLED 0x40000000
168#define HEAP_LOCK_USER_ALLOCATED 0x80000000
169
170//
171// Heap Validation Flags
172//
173#define HEAP_CREATE_VALID_MASK \
174 (HEAP_NO_SERIALIZE | \
175 HEAP_GROWABLE | \
176 HEAP_GENERATE_EXCEPTIONS | \
177 HEAP_ZERO_MEMORY | \
178 HEAP_REALLOC_IN_PLACE_ONLY | \
179 HEAP_TAIL_CHECKING_ENABLED | \
180 HEAP_FREE_CHECKING_ENABLED | \
181 HEAP_DISABLE_COALESCE_ON_FREE | \
182 HEAP_CLASS_MASK | \
183 HEAP_CREATE_ALIGN_16 | \
184 HEAP_CREATE_ENABLE_TRACING | \
185 HEAP_CREATE_ENABLE_EXECUTE)
186#ifdef C_ASSERT
187C_ASSERT(HEAP_CREATE_VALID_MASK == 0x0007F0FF);
188#endif
189
190//
191// Native image architecture
192//
193#if defined(_M_IX86)
194#define IMAGE_FILE_MACHINE_NATIVE IMAGE_FILE_MACHINE_I386
195#elif defined(_M_ARM)
196#define IMAGE_FILE_MACHINE_NATIVE IMAGE_FILE_MACHINE_ARM
197#elif defined(_M_AMD64)
198#define IMAGE_FILE_MACHINE_NATIVE IMAGE_FILE_MACHINE_AMD64
199#elif defined(_M_ARM64)
200#define IMAGE_FILE_MACHINE_NATIVE IMAGE_FILE_MACHINE_ARM64
201#else
202#error Define these please!
203#endif
204
205//
206// Registry Keys
207//
208#define RTL_REGISTRY_ABSOLUTE 0
209#define RTL_REGISTRY_SERVICES 1
210#define RTL_REGISTRY_CONTROL 2
211#define RTL_REGISTRY_WINDOWS_NT 3
212#define RTL_REGISTRY_DEVICEMAP 4
213#define RTL_REGISTRY_USER 5
214#define RTL_REGISTRY_MAXIMUM 6
215#define RTL_REGISTRY_HANDLE 0x40000000
216#define RTL_REGISTRY_OPTIONAL 0x80000000
217#define RTL_QUERY_REGISTRY_SUBKEY 0x00000001
218#define RTL_QUERY_REGISTRY_TOPKEY 0x00000002
219#define RTL_QUERY_REGISTRY_REQUIRED 0x00000004
220#define RTL_QUERY_REGISTRY_NOVALUE 0x00000008
221#define RTL_QUERY_REGISTRY_NOEXPAND 0x00000010
222#define RTL_QUERY_REGISTRY_DIRECT 0x00000020
223#define RTL_QUERY_REGISTRY_DELETE 0x00000040
224
225//
226// Versioning
227//
228#define VER_MINORVERSION 0x0000001
229#define VER_MAJORVERSION 0x0000002
230#define VER_BUILDNUMBER 0x0000004
231#define VER_PLATFORMID 0x0000008
232#define VER_SERVICEPACKMINOR 0x0000010
233#define VER_SERVICEPACKMAJOR 0x0000020
234#define VER_SUITENAME 0x0000040
235#define VER_PRODUCT_TYPE 0x0000080
236#define VER_PLATFORM_WIN32s 0
237#define VER_PLATFORM_WIN32_WINDOWS 1
238#define VER_PLATFORM_WIN32_NT 2
239#define VER_EQUAL 1
240#define VER_GREATER 2
241#define VER_GREATER_EQUAL 3
242#define VER_LESS 4
243#define VER_LESS_EQUAL 5
244#define VER_AND 6
245#define VER_OR 7
246#define VER_CONDITION_MASK 7
247#define VER_NUM_BITS_PER_CONDITION_MASK 3
248
249//
250// Timezone IDs
251//
252#define TIME_ZONE_ID_UNKNOWN 0
253#define TIME_ZONE_ID_STANDARD 1
254#define TIME_ZONE_ID_DAYLIGHT 2
255
256//
257// Maximum Path Length
258//
259#define MAX_PATH 260
260
261//
262// RTL Lock Type (Critical Section or Resource)
263//
264#define RTL_CRITSECT_TYPE 0
265#define RTL_RESOURCE_TYPE 1
266
267//
268// RtlAcquirePrivileges Flags
269//
270#define RTL_ACQUIRE_PRIVILEGE_IMPERSONATE 1
271#define RTL_ACQUIRE_PRIVILEGE_PROCESS 2
272
273#ifdef NTOS_MODE_USER
274
275//
276// String Hash Algorithms
277//
278#define HASH_STRING_ALGORITHM_DEFAULT 0
279#define HASH_STRING_ALGORITHM_X65599 1
280#define HASH_STRING_ALGORITHM_INVALID 0xffffffff
281
282//
283// RtlDuplicateString Flags
284//
285#define RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE 1
286#define RTL_DUPLICATE_UNICODE_STRING_ALLOCATE_NULL_STRING 2
287
288//
289// RtlFindCharInUnicodeString Flags
290//
291#define RTL_FIND_CHAR_IN_UNICODE_STRING_START_AT_END 1
292#define RTL_FIND_CHAR_IN_UNICODE_STRING_COMPLEMENT_CHAR_SET 2
293#define RTL_FIND_CHAR_IN_UNICODE_STRING_CASE_INSENSITIVE 4
294
295//
296// RtlDosApplyFileIsolationRedirection_Ustr Flags
297//
298#define RTL_DOS_APPLY_FILE_REDIRECTION_USTR_FLAG_RESPECT_DOT_LOCAL 0x01
299
300//
301// Codepages
302//
303#define NLS_MB_CODE_PAGE_TAG NlsMbCodePageTag
304#define NLS_MB_OEM_CODE_PAGE_TAG NlsMbOemCodePageTag
305#define NLS_OEM_LEAD_BYTE_INFO NlsOemLeadByteInfo
306
307//
308// Activation Contexts
309//
310#define INVALID_ACTIVATION_CONTEXT ((PVOID)(LONG_PTR)-1)
311
312//
313// C++ CONST casting
314//
315#if defined(__cplusplus)
316#define RTL_CONST_CAST(type) const_cast<type>
317#else
318#define RTL_CONST_CAST(type) (type)
319#endif
320
321//
322// Constant String Macro
323//
324#define RTL_CONSTANT_STRING(__SOURCE_STRING__) \
325{ \
326 sizeof(__SOURCE_STRING__) - sizeof((__SOURCE_STRING__)[0]), \
327 sizeof(__SOURCE_STRING__), \
328 (__SOURCE_STRING__) \
329}
330
331//
332// Constant Object Attributes Macro
333//
334#define RTL_CONSTANT_OBJECT_ATTRIBUTES(n, a) \
335{ \
336 sizeof(OBJECT_ATTRIBUTES), \
337 NULL, \
338 RTL_CONST_CAST(PUNICODE_STRING)(n), \
339 a, \
340 NULL, \
341 NULL \
342}
343
344#define RTL_INIT_OBJECT_ATTRIBUTES(n, a) \
345 RTL_CONSTANT_OBJECT_ATTRIBUTES(n, a)
346
347#endif /* NTOS_MODE_USER */
348
349//
350// RtlImageNtHeaderEx Flags
351//
352#define RTL_IMAGE_NT_HEADER_EX_FLAG_NO_RANGE_CHECK 0x00000001
353
354
355#define MAXIMUM_LEADBYTES 12
356
357//
358// RTL Debug Queries
359//
360#define RTL_DEBUG_QUERY_MODULES 0x01
361#define RTL_DEBUG_QUERY_BACKTRACES 0x02
362#define RTL_DEBUG_QUERY_HEAPS 0x04
363#define RTL_DEBUG_QUERY_HEAP_TAGS 0x08
364#define RTL_DEBUG_QUERY_HEAP_BLOCKS 0x10
365#define RTL_DEBUG_QUERY_LOCKS 0x20
366
367//
368// RTL Handle Flags
369//
370#define RTL_HANDLE_VALID 0x1
371
372//
373// RTL Atom Flags
374//
375#define RTL_ATOM_IS_PINNED 0x1
376
377//
378// Critical section lock bits
379//
380#define CS_LOCK_BIT 0x1
381#define CS_LOCK_BIT_V 0x0
382#define CS_LOCK_WAITER_WOKEN 0x2
383#define CS_LOCK_WAITER_INC 0x4
384
385//
386// Codepage Tags
387//
388#ifdef NTOS_MODE_USER
391
392//
393// Constant String Macro
394//
395#define RTL_CONSTANT_STRING(__SOURCE_STRING__) \
396{ \
397 sizeof(__SOURCE_STRING__) - sizeof((__SOURCE_STRING__)[0]), \
398 sizeof(__SOURCE_STRING__), \
399 (__SOURCE_STRING__) \
400}
401
402#endif /* NTOS_MODE_USER */
403
404//
405// Constant Large Integer Macro
406//
407#ifdef NONAMELESSUNION
408C_ASSERT(FIELD_OFFSET(LARGE_INTEGER, u.LowPart) == 0);
409#else
411#endif
412#define RTL_CONSTANT_LARGE_INTEGER(quad_part) { { (quad_part), (quad_part)>>32 } }
413#define RTL_MAKE_LARGE_INTEGER(low_part, high_part) { { (low_part), (high_part) } }
414
415//
416// Boot Status Data Field Types
417//
419{
438
439#ifdef NTOS_MODE_USER
440//
441// Table and Compare result types
442//
443typedef enum _TABLE_SEARCH_RESULT
444{
445 TableEmptyTree,
446 TableFoundNode,
447 TableInsertAsLeft,
448 TableInsertAsRight
450
452{
457
458#endif /* NTOS_MODE_USER */
459
460//
461// RTL Path Types
462//
463typedef enum _RTL_PATH_TYPE
464{
474
475#ifndef NTOS_MODE_USER
476
477//
478// Heap Information Class
479//
481{
485
486//
487// Callback function for RTL Timers or Registered Waits
488//
489typedef VOID
491 PVOID pvContext,
492 BOOLEAN fTimerOrWaitFired
493);
494
495//
496// Handler during Vectored RTL Exceptions
497//
498typedef LONG
500 PEXCEPTION_POINTERS ExceptionPointers
501);
502
503//
504// Worker Thread Callback for Rtl
505//
506typedef VOID
509);
510
511#else /* !NTOS_MODE_USER */
512
513//
514// RTL Library Allocation/Free Routines
515//
516typedef PVOID
517(NTAPI *PRTL_ALLOCATE_STRING_ROUTINE)(
519);
520
521typedef PVOID
522(NTAPI *PRTL_REALLOCATE_STRING_ROUTINE)(
525);
526
527typedef
528VOID
531);
532
533extern const PRTL_ALLOCATE_STRING_ROUTINE RtlAllocateStringRoutine;
535extern const PRTL_REALLOCATE_STRING_ROUTINE RtlReallocateStringRoutine;
536
537#endif /* NTOS_MODE_USER */
538
539//
540// Unhandled Exception Filter
541//
542typedef ULONG
544 _In_ struct _EXCEPTION_POINTERS *ExceptionInfo
545);
547
548//
549// Callback for RTL Heap Enumeration
550//
551typedef NTSTATUS
553 _In_ PVOID HeapHandle,
554 _In_ PVOID UserParam
555);
556
557//
558// Thread and Process Start Routines for RtlCreateUserThread/Process
559//
562);
563
564typedef VOID
566 PTHREAD_START_ROUTINE StartAddress,
568);
569
570//
571// Worker Start/Exit Function
572//
573typedef NTSTATUS
577 _Out_ PHANDLE ThreadHandle
578);
579
580typedef NTSTATUS
583);
584
585//
586// Declare empty structure definitions so that they may be referenced by
587// routines before they are defined
588//
589struct _RTL_AVL_TABLE;
590struct _RTL_GENERIC_TABLE;
591struct _RTL_RANGE;
592
593//
594// Routines and callbacks for the RTL AVL/Generic Table package
595//
596#ifdef NTOS_MODE_USER
597typedef NTSTATUS
598(NTAPI RTL_AVL_MATCH_FUNCTION)(
599 struct _RTL_AVL_TABLE *Table,
602);
603typedef RTL_AVL_MATCH_FUNCTION *PRTL_AVL_MATCH_FUNCTION;
604
606(NTAPI RTL_AVL_COMPARE_ROUTINE) (
607 struct _RTL_AVL_TABLE *Table,
610);
611typedef RTL_AVL_COMPARE_ROUTINE *PRTL_AVL_COMPARE_ROUTINE;
612
614(NTAPI RTL_GENERIC_COMPARE_ROUTINE) (
618);
619typedef RTL_GENERIC_COMPARE_ROUTINE *PRTL_GENERIC_COMPARE_ROUTINE;
620
621typedef PVOID
622(NTAPI RTL_GENERIC_ALLOCATE_ROUTINE) (
625);
626typedef RTL_GENERIC_ALLOCATE_ROUTINE *PRTL_GENERIC_ALLOCATE_ROUTINE;
627
628typedef PVOID
629(NTAPI RTL_AVL_ALLOCATE_ROUTINE) (
630 struct _RTL_AVL_TABLE *Table,
632);
633typedef RTL_AVL_ALLOCATE_ROUTINE *PRTL_AVL_ALLOCATE_ROUTINE;
634
635typedef VOID
636(NTAPI RTL_GENERIC_FREE_ROUTINE) (
639);
640typedef RTL_GENERIC_FREE_ROUTINE *PRTL_GENERIC_FREE_ROUTINE;
641
642typedef VOID
643(NTAPI RTL_AVL_FREE_ROUTINE) (
644 struct _RTL_AVL_TABLE *Table,
646);
647typedef RTL_AVL_FREE_ROUTINE *PRTL_AVL_FREE_ROUTINE;
648
649#ifdef RTL_USE_AVL_TABLES
650#undef RTL_GENERIC_COMPARE_ROUTINE
651#undef PRTL_GENERIC_COMPARE_ROUTINE
652#undef RTL_GENERIC_ALLOCATE_ROUTINE
653#undef PRTL_GENERIC_ALLOCATE_ROUTINE
654#undef RTL_GENERIC_FREE_ROUTINE
655#undef PRTL_GENERIC_FREE_ROUTINE
656
657#define RTL_GENERIC_COMPARE_ROUTINE RTL_AVL_COMPARE_ROUTINE
658#define PRTL_GENERIC_COMPARE_ROUTINE PRTL_AVL_COMPARE_ROUTINE
659#define RTL_GENERIC_ALLOCATE_ROUTINE RTL_AVL_ALLOCATE_ROUTINE
660#define PRTL_GENERIC_ALLOCATE_ROUTINE PRTL_AVL_ALLOCATE_ROUTINE
661#define RTL_GENERIC_FREE_ROUTINE RTL_AVL_FREE_ROUTINE
662#define PRTL_GENERIC_FREE_ROUTINE PRTL_AVL_FREE_ROUTINE
663#endif /* RTL_USE_AVL_TABLES */
664
665#endif /* NTOS_MODE_USER */
666
667//
668// RTL Query Registry callback
669//
670#ifdef NTOS_MODE_USER
671typedef NTSTATUS
679);
680#endif
681
682//
683// RTL Secure Memory callbacks
684//
685#ifdef NTOS_MODE_USER
686typedef NTSTATUS
687(NTAPI *PRTL_SECURE_MEMORY_CACHE_CALLBACK)(
690);
691#endif
692
693//
694// RTL Range List callbacks
695//
696typedef BOOLEAN
699 struct _RTL_RANGE *Range
700);
701
702//
703// Custom Heap Commit Routine for RtlCreateHeap
704//
705#ifdef NTOS_MODE_USER
706typedef NTSTATUS
711);
712
713//
714// Parameters for RtlCreateHeap
715//
716typedef struct _RTL_HEAP_PARAMETERS
717{
728 SIZE_T Reserved[2];
730
731//
732// RTL Bitmap structures
733//
734typedef struct _RTL_BITMAP
735{
739
740typedef struct _RTL_BITMAP_RUN
741{
745
746//
747// RtlGenerateXxxName context
748//
749typedef struct _GENERATE_NAME_CONTEXT
750{
753 UCHAR NameLength;
754 WCHAR NameBuffer[8];
755 ULONG ExtensionLength;
759
760//
761// RTL Splay and Balanced Links structures
762//
763typedef struct _RTL_SPLAY_LINKS
764{
765 struct _RTL_SPLAY_LINKS *Parent;
769
770typedef struct _RTL_BALANCED_LINKS
771{
776 UCHAR Reserved[3];
778
779//
780// RTL Avl/Generic Tables
781//
782#ifndef RTL_USE_AVL_TABLES
783typedef struct _RTL_GENERIC_TABLE
784{
795#endif /* !RTL_USE_AVL_TABLES */
796
797typedef struct _RTL_AVL_TABLE
798{
811
812#ifdef RTL_USE_AVL_TABLES
813#undef RTL_GENERIC_TABLE
814#undef PRTL_GENERIC_TABLE
815
816#define RTL_GENERIC_TABLE RTL_AVL_TABLE
817#define PRTL_GENERIC_TABLE PRTL_AVL_TABLE
818#endif /* RTL_USE_AVL_TABLES */
819
820//
821// RTL Compression Buffer
822//
823typedef struct _COMPRESSED_DATA_INFO {
832
833//
834// RtlQueryRegistry Data
835//
836typedef struct _RTL_QUERY_REGISTRY_TABLE
837{
839 ULONG Flags;
840 PCWSTR Name;
846
847//
848// RTL Unicode Table Structures
849//
850typedef struct _UNICODE_PREFIX_TABLE_ENTRY
851{
859
860typedef struct _UNICODE_PREFIX_TABLE
861{
867
868//
869// Pfx* routines' table structures
870//
871typedef struct _PREFIX_TABLE_ENTRY
872{
879
880typedef struct _PREFIX_TABLE
881{
886
887//
888// Time Structure for RTL Time calls
889//
890typedef struct _TIME_FIELDS
891{
892 CSHORT Year;
894 CSHORT Day;
895 CSHORT Hour;
901
902//
903// Activation Context Frame
904//
906{
909 ULONG Flags;
911
912typedef struct _RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_BASIC
913{
914 SIZE_T Size;
917} RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_BASIC, *PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_BASIC;
918
919typedef struct _RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED
920{
921 SIZE_T Size;
924 PVOID Extra1;
925 PVOID Extra2;
926 PVOID Extra3;
927 PVOID Extra4;
928} RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED, *PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED;
929
930typedef RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME;
931typedef PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME;
932
933typedef struct _RTL_HEAP_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME
934{
937 PVOID ActivationStackBackTrace[8];
938} RTL_HEAP_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME, *PRTL_HEAP_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME;
939
940typedef struct _ACTIVATION_CONTEXT_DATA
941{
942 ULONG Magic;
943 ULONG HeaderSize;
944 ULONG FormatVersion;
945 ULONG TotalSize;
946 ULONG DefaultTocOffset;
947 ULONG ExtendedTocOffset;
948 ULONG AssemblyRosterOffset;
949 ULONG Flags;
950} ACTIVATION_CONTEXT_DATA, *PACTIVATION_CONTEXT_DATA;
951
952typedef struct _ACTIVATION_CONTEXT_STACK_FRAMELIST
953{
954 ULONG Magic;
955 ULONG FramesInUse;
956 LIST_ENTRY Links;
957 ULONG Flags;
958 ULONG NotFramesInUse;
959 RTL_HEAP_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME Frames[32];
960} ACTIVATION_CONTEXT_STACK_FRAMELIST, *PACTIVATION_CONTEXT_STACK_FRAMELIST;
961
962#endif /* NTOS_MODE_USER */
963
964#if (NTDDI_VERSION >= NTDDI_WS03SP1)
966{
973#else
974typedef struct _ACTIVATION_CONTEXT_STACK
975{
976 ULONG Flags;
981#endif
982
983//
984// ACE Structure
985//
986typedef struct _ACE
987{
991
992//
993// Information Structures for RTL Debug Functions
994//
996{
1008
1010{
1014
1016{
1023
1025{
1030
1032{
1039
1040typedef struct _RTL_HEAP_USAGE
1041{
1052
1054{
1060 union
1061 {
1062 struct
1063 {
1069 struct
1070 {
1076 };
1078
1079typedef struct _RTL_HEAP_ENTRY
1080{
1084 union
1085 {
1086 struct
1087 {
1091 struct
1092 {
1096 } u;
1098
1099typedef struct _RTL_HEAP_TAG
1100{
1108
1110{
1125
1127{
1131
1133{
1145
1147{
1151
1153{
1160
1162{
1169
1171{
1175 //
1176 // Option array continues below
1177 //
1179
1181{
1194 union
1195 {
1198 };
1210
1211//
1212// Fiber local storage data
1213//
1214#define RTL_FLS_MAXIMUM_AVAILABLE 128
1215typedef struct _RTL_FLS_DATA
1216{
1220
1221
1222//
1223// Unload Event Trace Structure for RtlGetUnloadEventTrace
1224//
1225#define RTL_UNLOAD_EVENT_TRACE_NUMBER 16
1226
1228{
1236
1237//
1238// RTL Handle Structures
1239//
1241{
1242 union
1243 {
1246 };
1248
1249typedef struct _RTL_HANDLE_TABLE
1250{
1259
1260//
1261// RTL Boot Status Data Item
1262//
1263typedef struct _RTL_BSD_ITEM
1264{
1269
1270//
1271// Data Sub-Structures for "bootstat.dat" RTL Data File
1272//
1274{
1276 struct
1277 {
1292
1294{
1301
1303{
1308 struct
1309 {
1322
1323//
1324// Main Structure for "bootstat.dat" RTL Data File
1325//
1326typedef struct _RTL_BSD_DATA
1327{
1328 ULONG Version; // RtlBsdItemVersionNumber
1329 ULONG ProductType; // RtlBsdItemProductType
1330 BOOLEAN AabEnabled; // RtlBsdItemAabEnabled
1331 UCHAR AabTimeout; // RtlBsdItemAabTimeout
1332 BOOLEAN LastBootSucceeded; // RtlBsdItemBootGood
1333 BOOLEAN LastBootShutdown; // RtlBsdItemBootShutdown
1334 BOOLEAN SleepInProgress; // RtlBsdSleepInProgress
1336 UCHAR BootAttemptCount; // RtlBsdItemBootAttemptCount
1337 UCHAR LastBootCheckpoint; // RtlBsdItemBootCheckpoint
1338 UCHAR Checksum; // RtlBsdItemChecksum
1339 ULONG LastBootId; // RtlBsdItemBootId
1340 ULONG LastSuccessfulShutdownBootId; // RtlBsdItemShutdownBootId
1341 ULONG LastReportedAbnormalShutdownBootId; // RtlBsdItemReportedAbnormalShutdownBootId
1342 RTL_BSD_DATA_ERROR_INFO ErrorInfo; // RtlBsdItemErrorInfo
1345
1346#ifdef NTOS_MODE_USER
1347//
1348// Exception Record
1349//
1350typedef struct _EXCEPTION_REGISTRATION_RECORD
1351{
1355#endif /* NTOS_MODE_USER */
1356
1357//
1358// Current Directory Structures
1359//
1360typedef struct _CURDIR
1361{
1365
1366typedef struct _RTLP_CURDIR_REF
1367{
1371
1373{
1378
1380{
1386
1388{
1393
1394//
1395// Private State structure for RtlAcquirePrivilege/RtlReleasePrivilege
1396//
1398{
1406
1407#ifndef NTOS_MODE_USER
1408
1409//
1410// RTL Critical Section Structures
1411//
1413{
1420 union
1421 {
1424 struct
1425 {
1429 };
1430 };
1432
1433#ifdef _WIN64
1434C_ASSERT(sizeof(RTL_CRITICAL_SECTION_DEBUG) == 0x30);
1435#else
1437#endif
1438
1440{
1448
1449#endif /* !NTOS_MODE_USER */
1450
1451//
1452// RTL Private Heap Structures
1453//
1454typedef struct _HEAP_LOCK
1455{
1456 union
1457 {
1459#ifndef NTOS_MODE_USER
1461#endif
1462 UCHAR Padding[0x68]; /* Max ERESOURCE size for x64 build. Needed because RTL is built only once */
1463 };
1465
1466//
1467// RTL Range List Structures
1468//
1469typedef struct _RTL_RANGE_LIST
1470{
1476
1477typedef struct _RTL_RANGE
1478{
1486
1488{
1494
1496{
1499 union
1500 {
1501 struct
1502 {
1506 struct
1507 {
1510 };
1517
1518//
1519// RTL Resource
1520//
1521#define RTL_RESOURCE_FLAG_LONG_TERM ((ULONG)0x00000001)
1522
1523typedef struct _RTL_RESOURCE
1524{
1535
1536//
1537// Structures for RtlCreateUserProcess
1538//
1539typedef struct _RTL_USER_PROCESS_PARAMETERS
1540{
1569#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1571#endif
1572#if (NTDDI_VERSION >= NTDDI_WIN7)
1574#endif
1576
1578{
1585
1586#if (NTDDI_VERSION >= NTDDI_WIN7)
1587
1589{
1594
1596{
1598#if (NTDDI_VERSION < NTDDI_WIN8)
1599 UMSCTX_HAS_QUANTUM_REQ_BIT,
1600 UMSCTX_HAS_AFFINITY_REQ_BIT,
1601 UMSCTX_HAS_PRIORITY_REQ_BIT,
1602#endif
1609
1611
1612#define UMSCTX_SCHEDULED_THREAD_MASK (1 << UMSCTX_SCHEDULED_THREAD_BIT)
1613#define UMSCTX_SUSPENDED_MASK (1 << UMSCTX_SUSPENDED_BIT)
1614#define UMSCTX_VOLATILE_CONTEXT_MASK (1 << UMSCTX_VOLATILE_CONTEXT_BIT)
1615#define UMSCTX_TERMINATED_MASK (1 << UMSCTX_TERMINATED_BIT)
1616#define UMSCTX_DEBUG_ACTIVE_MASK (1 << UMSCTX_DEBUG_ACTIVE_BIT)
1617#define UMSCTX_RUNNING_ON_SELF_THREAD_MASK (1 << UMSCTX_RUNNING_ON_SELF_THREAD_BIT)
1618#define UMSCTX_DENY_RUNNING_ON_SELF_THREAD_MASK (1 << UMSCTX_DENY_RUNNING_ON_SELF_THREAD_BIT)
1619
1620//
1621// UMS Context
1622//
1623typedef struct DECLSPEC_ALIGN(16) _RTL_UMS_CONTEXT
1624{
1627 PVOID Teb;
1628 PVOID UserContext;
1629 union
1630 {
1631 struct
1632 {
1633 ULONG ScheduledThread : 1;
1634#if (NTDDI_VERSION < NTDDI_WIN8)
1635 ULONG HasQuantumReq : 1;
1636 ULONG HasAffinityReq : 1;
1637 ULONG HasPriorityReq : 1;
1638#endif
1639 ULONG Suspended : 1;
1640 ULONG VolatileContext : 1;
1641 ULONG Terminated : 1;
1642 ULONG DebugActive : 1;
1643 ULONG RunningOnSelfThread : 1;
1644 ULONG DenyRunningOnSelfThread : 1;
1645#if (NTDDI_VERSION < NTDDI_WIN8)
1646 ULONG ReservedFlags : 22;
1647#endif
1648 };
1649 LONG Flags;
1650 };
1651 union
1652 {
1653 struct
1654 {
1655#if (NTDDI_VERSION >= NTDDI_WIN8)
1656 ULONG64 KernelUpdateLock : 2;
1657#else
1658 ULONG64 KernelUpdateLock : 1;
1659 ULONG64 Reserved : 1;
1660#endif
1661 ULONG64 PrimaryClientID : 62;
1662 };
1663 ULONG64 ContextLock;
1664 };
1665#if (NTDDI_VERSION < NTDDI_WIN8)
1666 ULONG64 QuantumValue;
1667 GROUP_AFFINITY AffinityMask;
1668 LONG Priority;
1669#endif
1670 struct _RTL_UMS_CONTEXT* PrimaryUmsContext;
1671 ULONG SwitchCount;
1672 ULONG KernelYieldCount;
1673 ULONG MixedYieldCount;
1674 ULONG YieldCount;
1676#endif // #if (NTDDI_VERSION >= NTDDI_WIN7)
1677
1678//
1679// RTL Atom Table Structures
1680//
1682{
1691
1692typedef struct _RTL_ATOM_TABLE
1693{
1695 union
1696 {
1697#ifdef NTOS_MODE_USER
1699#else
1701#endif
1702 };
1703 union
1704 {
1705#ifdef NTOS_MODE_USER
1706 RTL_HANDLE_TABLE RtlHandleTable;
1707#else
1709#endif
1710 };
1714
1715//
1716// Timezone Information
1717//
1719{
1728
1729//
1730// Hotpatch Header
1731//
1732typedef struct _RTL_PATCH_HEADER
1733{
1739 struct _HOTPATCH_HEADER *HotpatchHeader;
1746
1747//
1748// Header for NLS Files
1749//
1750typedef struct _NLS_FILE_HEADER
1751{
1761
1762//
1763// Stack Traces
1764//
1766{
1773
1774
1776{
1777 union
1778 {
1780
1781 /* Padding for ERESOURCE */
1782#if defined(_M_AMD64)
1783 UCHAR Padding[0x68];
1784#else
1786#endif
1788
1790
1794
1797
1801
1805
1806// Validate that our padding is big enough:
1807#ifndef NTOS_MODE_USER
1808#if defined(_M_AMD64)
1809C_ASSERT(sizeof(ERESOURCE) <= 0x68);
1810#elif defined(_M_ARM64)
1811C_ASSERT(sizeof(ERESOURCE) <= 0x68);
1812#else
1813C_ASSERT(sizeof(ERESOURCE) <= 56);
1814#endif
1815#endif
1816
1817
1818//
1819// Trace Database
1820//
1821
1823
1824typedef struct _RTL_TRACE_BLOCK
1825{
1835
1837{
1845#ifdef NTOS_MODE_USER
1847#else
1848 union
1849 {
1852 } u;
1853#endif
1861
1863{
1872
1874{
1879
1880//
1881// Auto-Managed Rtl* String Buffer
1882//
1883typedef struct _RTL_BUFFER
1884{
1892
1894{
1899
1900#ifndef NTOS_MODE_USER
1901
1902#ifndef MAKEINTRESOURCE
1903#define MAKEINTRESOURCE(i) ((ULONG_PTR)(USHORT)(i))
1904#endif
1905
1906/* Predefined Resource Types */
1907#ifndef RT_STRING
1908#define RT_STRING MAKEINTRESOURCE(6)
1909#endif
1910#ifndef RT_MESSAGETABLE
1911#define RT_MESSAGETABLE MAKEINTRESOURCE(11)
1912#endif
1913
1914//
1915// Message Resource Flag
1916//
1917#define MESSAGE_RESOURCE_UNICODE 0x0001
1918
1919//
1920// Message Resource Entry, Block and Data
1921//
1923{
1928
1930{
1935
1937{
1941
1942#ifdef _M_AMD64
1943
1944typedef struct _KNONVOLATILE_CONTEXT_POINTERS {
1945 union {
1946 PM128A FloatingContext[16];
1947 struct {
1948 PM128A Xmm0;
1949 PM128A Xmm1;
1950 PM128A Xmm2;
1951 PM128A Xmm3;
1952 PM128A Xmm4;
1953 PM128A Xmm5;
1954 PM128A Xmm6;
1955 PM128A Xmm7;
1956 PM128A Xmm8;
1957 PM128A Xmm9;
1958 PM128A Xmm10;
1959 PM128A Xmm11;
1960 PM128A Xmm12;
1961 PM128A Xmm13;
1962 PM128A Xmm14;
1963 PM128A Xmm15;
1966
1967 union {
1968 PULONG64 IntegerContext[16];
1969 struct {
1970 PULONG64 Rax;
1971 PULONG64 Rcx;
1972 PULONG64 Rdx;
1973 PULONG64 Rbx;
1974 PULONG64 Rsp;
1975 PULONG64 Rbp;
1976 PULONG64 Rsi;
1977 PULONG64 Rdi;
1978 PULONG64 R8;
1979 PULONG64 R9;
1980 PULONG64 R10;
1981 PULONG64 R11;
1982 PULONG64 R12;
1983 PULONG64 R13;
1984 PULONG64 R14;
1985 PULONG64 R15;
1988} KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS;
1989
1990#define UNW_FLAG_NHANDLER 0x0
1991#define UNW_FLAG_EHANDLER 0x1
1992#define UNW_FLAG_UHANDLER 0x2
1993#define UNW_FLAG_CHAININFO 0x4
1994#define UNW_FLAG_NO_EPILOGUE 0x80000000UL
1995
1996#define RUNTIME_FUNCTION_INDIRECT 0x1
1997
1998typedef struct _RUNTIME_FUNCTION {
1999 ULONG BeginAddress;
2000 ULONG EndAddress;
2001 ULONG UnwindData;
2002} RUNTIME_FUNCTION, *PRUNTIME_FUNCTION;
2003
2004#define UNWIND_HISTORY_TABLE_SIZE 12
2005
2006typedef struct _UNWIND_HISTORY_TABLE_ENTRY
2007{
2008 ULONG64 ImageBase;
2009 PRUNTIME_FUNCTION FunctionEntry;
2010} UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY;
2011
2012typedef struct _UNWIND_HISTORY_TABLE
2013{
2014 ULONG Count;
2015 UCHAR LocalHint;
2016 UCHAR GlobalHint;
2017 UCHAR Search;
2018 UCHAR Once;
2019 ULONG64 LowAddress;
2021 UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE];
2022} UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE;
2023
2024#endif /* _M_AMD64 */
2025
2026#endif /* !NTOS_MODE_USER */
2027
2028#ifdef NTOS_MODE_USER
2029
2030//
2031// Memory Stream
2032//
2033#ifndef CONST_VTBL
2034#ifdef CONST_VTABLE
2035#define CONST_VTBL const
2036#else
2037#define CONST_VTBL
2038#endif
2039#endif
2040
2041struct IStreamVtbl;
2042struct IStream;
2043struct tagSTATSTG;
2044
2045typedef struct _RTL_MEMORY_STREAM RTL_MEMORY_STREAM, *PRTL_MEMORY_STREAM;
2046
2047typedef VOID
2048(NTAPI *PRTL_MEMORY_STREAM_FINAL_RELEASE_ROUTINE)(
2049 _In_ PRTL_MEMORY_STREAM Stream
2050);
2051
2052struct _RTL_MEMORY_STREAM
2053{
2054 CONST_VTBL struct IStreamVtbl *Vtbl;
2055 LONG RefCount;
2056 ULONG Unk1;
2057 PVOID Current;
2058 PVOID Start;
2059 PVOID End;
2060 PRTL_MEMORY_STREAM_FINAL_RELEASE_ROUTINE FinalRelease;
2062};
2063
2064#endif /* NTOS_MODE_USER */
2065
2066#ifdef __cplusplus
2067}
2068#endif
2069
2070#endif /* !_RTLTYPES_H */
unsigned char BOOLEAN
#define VOID
Definition: acefi.h:82
@ R15
Definition: amd64_sup.c:13
@ R13
Definition: amd64_sup.c:13
@ R12
Definition: amd64_sup.c:13
@ R9
Definition: amd64_sup.c:13
@ R14
Definition: amd64_sup.c:13
@ R8
Definition: amd64_sup.c:13
@ R11
Definition: amd64_sup.c:13
@ R10
Definition: amd64_sup.c:13
LONG NTSTATUS
Definition: precomp.h:26
#define NTSYSAPI
Definition: ntoskrnl.h:12
_In_ CDROM_SCAN_FOR_SPECIAL_INFO _In_ PCDROM_SCAN_FOR_SPECIAL_HANDLER Function
Definition: cdrom.h:1156
Definition: bufpool.h:45
#define RTL_BITMAP
Definition: dbgbitmap.h:323
#define PRTL_BITMAP
Definition: dbgbitmap.h:324
#define NTSTATUS
Definition: precomp.h:19
EXCEPTION_ROUTINE * PEXCEPTION_ROUTINE
Definition: compat.h:709
struct _EXCEPTION_REGISTRATION_RECORD * PEXCEPTION_REGISTRATION_RECORD
struct _EXCEPTION_REGISTRATION_RECORD EXCEPTION_REGISTRATION_RECORD
#define Trace(x)
Definition: inflate.c:42
struct _TIME_FIELDS TIME_FIELDS
TIME_FIELDS * PTIME_FIELDS
Definition: env_spec_w32.h:720
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
ULONG ERESOURCE
Definition: env_spec_w32.h:594
return pTarget Start()
ASMGENDATA Table[]
Definition: genincdata.c:61
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
Definition: glfuncs.h:240
_In_ GUID _In_ PVOID ValueData
Definition: hubbusif.h:312
struct _RTL_ACTIVATION_CONTEXT_STACK_FRAME RTL_ACTIVATION_CONTEXT_STACK_FRAME
struct _RTL_ACTIVATION_CONTEXT_STACK_FRAME * PRTL_ACTIVATION_CONTEXT_STACK_FRAME
#define C_ASSERT(e)
Definition: intsafe.h:73
CRITICAL_SECTION CriticalSection
Definition: iprtprio.c:40
static IN LPSTR Unk1
Definition: ldrinit.c:47
#define PRTL_AVL_TABLE
Definition: miavl.h:27
#define PRTL_BALANCED_LINKS
Definition: miavl.h:28
unsigned __int64 * PULONG64
Definition: imports.h:198
unsigned __int64 ULONG64
Definition: imports.h:198
struct tagUserData UserData
static IStream Stream
Definition: htmldoc.c:1115
@ Terminated
Definition: ketypes.h:392
_In_ HANDLE ProcessHandle
Definition: mmfuncs.h:403
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID _In_ ULONG_PTR _In_ SIZE_T CommitSize
Definition: mmfuncs.h:406
_In_ NTSTATUS ExitStatus
Definition: psfuncs.h:867
_In_ PCWSTR _Inout_ _At_ QueryTable EntryContext
Definition: rtlfuncs.h:4202
_In_opt_ ULONG Base
Definition: rtlfuncs.h:2478
struct _RTL_RESOURCE RTL_RESOURCE
struct _RTLP_CURDIR_REF * PRTLP_CURDIR_REF
struct _MESSAGE_RESOURCE_DATA * PMESSAGE_RESOURCE_DATA
struct _RTL_ATOM_TABLE_ENTRY RTL_ATOM_TABLE_ENTRY
NTSTATUS(NTAPI * PRTL_START_POOL_THREAD)(_In_ PTHREAD_START_ROUTINE Function, _In_ PVOID Parameter, _Out_ PHANDLE ThreadHandle)
Definition: rtltypes.h:574
struct _RTL_CRITICAL_SECTION_DEBUG RTL_RESOURCE_DEBUG
struct _ACE * PACE
struct _RTL_BSD_ITEM RTL_BSD_ITEM
struct _RTL_RELATIVE_NAME_U RTL_RELATIVE_NAME_U
_HEAP_INFORMATION_CLASS
Definition: rtltypes.h:481
@ HeapEnableTerminationOnCorruption
Definition: rtltypes.h:483
@ HeapCompatibilityInformation
Definition: rtltypes.h:482
struct _ACE ACE
struct _RTL_USER_PROCESS_INFORMATION * PRTL_USER_PROCESS_INFORMATION
struct _RTL_PROCESS_BACKTRACES RTL_PROCESS_BACKTRACES
struct _RTL_HEAP_WALK_ENTRY RTL_HEAP_WALK_ENTRY
struct _RTL_HEAP_USAGE_ENTRY RTL_HEAP_USAGE_ENTRY
struct _RTL_BSD_DATA_ERROR_INFO RTL_BSD_DATA_ERROR_INFO
struct _RTL_CRITICAL_SECTION * PRTL_CRITICAL_SECTION
struct _CURDIR * PCURDIR
struct _RTL_HANDLE_TABLE_ENTRY * PRTL_HANDLE_TABLE_ENTRY
struct _STACK_TRACE_DATABASE STACK_TRACE_DATABASE
NTSTATUS(NTAPI * PHEAP_ENUMERATION_ROUTINE)(_In_ PVOID HeapHandle, _In_ PVOID UserParam)
Definition: rtltypes.h:552
* PRTL_UMS_CONTEXT
Definition: rtltypes.h:1675
VOID(NTAPI * PRTL_BASE_PROCESS_START_ROUTINE)(PTHREAD_START_ROUTINE StartAddress, PVOID Parameter)
Definition: rtltypes.h:565
struct _RTL_TRACE_SEGMENT RTL_TRACE_SEGMENT
struct _RTL_PROCESS_MODULES RTL_PROCESS_MODULES
struct _RTL_PATCH_HEADER * PRTL_PATCH_HEADER
enum _RTL_UMS_SCHEDULER_REASON RTL_UMS_SCHEDULER_REASON
struct _RTL_BSD_ITEM * PRTL_BSD_ITEM
struct _RTL_BSD_DATA RTL_BSD_DATA
struct _RTL_TRACE_BLOCK * PRTL_TRACE_BLOCK
struct _RTL_DRIVE_LETTER_CURDIR RTL_DRIVE_LETTER_CURDIR
struct _RTL_HANDLE_TABLE * PRTL_HANDLE_TABLE
#define MAXIMUM_LEADBYTES
Definition: rtltypes.h:355
struct _RTL_STACK_TRACE_ENTRY RTL_STACK_TRACE_ENTRY
struct _RTL_CRITICAL_SECTION_DEBUG * PRTL_CRITICAL_SECTION_DEBUG
struct _RTL_HEAP_INFORMATION * PRTL_HEAP_INFORMATION
struct _RTL_HEAP_WALK_ENTRY * PRTL_HEAP_WALK_ENTRY
struct _RTL_PROCESS_MODULE_INFORMATION_EX * PRTL_PROCESS_MODULE_INFORMATION_EX
struct _RTL_RANGE * PRTL_RANGE
enum _RTL_BSD_ITEM_TYPE RTL_BSD_ITEM_TYPE
struct _RTL_USER_PROCESS_PARAMETERS RTL_USER_PROCESS_PARAMETERS
struct _RTL_HANDLE_TABLE RTL_HANDLE_TABLE
struct _RTL_RESOURCE * PRTL_RESOURCE
struct _RTL_UNLOAD_EVENT_TRACE * PRTL_UNLOAD_EVENT_TRACE
struct _RTL_PROCESS_BACKTRACE_INFORMATION * PRTL_PROCESS_BACKTRACE_INFORMATION
struct _MESSAGE_RESOURCE_DATA MESSAGE_RESOURCE_DATA
struct _ACTIVATION_CONTEXT_STACK ACTIVATION_CONTEXT_STACK
struct _RTL_CRITICAL_SECTION_DEBUG * PRTL_RESOURCE_DEBUG
struct _RTL_PROCESS_VERIFIER_OPTIONS * PRTL_PROCESS_VERIFIER_OPTIONS
struct _RTL_UNICODE_STRING_BUFFER RTL_UNICODE_STRING_BUFFER
struct _MESSAGE_RESOURCE_ENTRY MESSAGE_RESOURCE_ENTRY
struct _RTL_PROCESS_MODULES * PRTL_PROCESS_MODULES
struct _RTL_FLS_DATA RTL_FLS_DATA
enum _RTL_BSD_ITEM_TYPE * PRTL_BSD_ITEM_TYPE
NTSTATUS(NTAPI * PRTL_EXIT_POOL_THREAD)(_In_ NTSTATUS ExitStatus)
Definition: rtltypes.h:581
struct _RTL_PROCESS_MODULE_INFORMATION RTL_PROCESS_MODULE_INFORMATION
struct _RTL_PROCESS_VERIFIER_OPTIONS RTL_PROCESS_VERIFIER_OPTIONS
struct _RANGE_LIST_ITERATOR RTL_RANGE_LIST_ITERATOR
struct _NLS_FILE_HEADER * PNLS_FILE_HEADER
ULONG(NTAPI * PTHREAD_START_ROUTINE)(PVOID Parameter)
Definition: rtltypes.h:560
struct _RTL_HEAP_INFORMATION RTL_HEAP_INFORMATION
struct _RTL_CRITICAL_SECTION RTL_CRITICAL_SECTION
struct _RTL_BSD_POWER_BUTTON_PRESS_INFO * PRTL_BSD_POWER_BUTTON_PRESS_INFO
struct _RTL_USER_PROCESS_INFORMATION RTL_USER_PROCESS_INFORMATION
struct _RTL_HEAP_USAGE_ENTRY * PRTL_HEAP_USAGE_ENTRY
struct _RTL_HEAP_TAG_INFO * PRTL_HEAP_TAG_INFO
struct _HEAP_LOCK * PHEAP_LOCK
struct _RTL_TIME_ZONE_INFORMATION RTL_TIME_ZONE_INFORMATION
ULONG(NTAPI * RTL_TRACE_HASH_FUNCTION)(ULONG Count, PVOID *Trace)
Definition: rtltypes.h:1822
struct _RTL_PROCESS_LOCKS * PRTL_PROCESS_LOCKS
struct _RTL_RANGE RTL_RANGE
struct _RTL_PROCESS_HEAPS RTL_PROCESS_HEAPS
struct _RTL_PROCESS_MODULE_INFORMATION_EX RTL_PROCESS_MODULE_INFORMATION_EX
RTL_UMS_CONTEXT
Definition: rtltypes.h:1675
VOID(NTAPI * WAITORTIMERCALLBACKFUNC)(PVOID pvContext, BOOLEAN fTimerOrWaitFired)
Definition: rtltypes.h:490
struct _RTLP_RANGE_LIST_ENTRY * PRTLP_RANGE_LIST_ENTRY
LONG(NTAPI * PVECTORED_EXCEPTION_HANDLER)(PEXCEPTION_POINTERS ExceptionPointers)
Definition: rtltypes.h:499
#define RTL_FLS_MAXIMUM_AVAILABLE
Definition: rtltypes.h:1214
struct _RTL_TRACE_ENUMERATE RTL_TRACE_ENUMERATE
struct _RTL_DEBUG_INFORMATION RTL_DEBUG_INFORMATION
struct _MESSAGE_RESOURCE_BLOCK MESSAGE_RESOURCE_BLOCK
struct _RTL_BUFFER * PRTL_BUFFER
struct _RTL_TRACE_SEGMENT * PRTL_TRACE_SEGMENT
struct _RTL_TRACE_BLOCK RTL_TRACE_BLOCK
struct _STACK_TRACE_DATABASE * PSTACK_TRACE_DATABASE
struct _RTL_PROCESS_HEAPS * PRTL_PROCESS_HEAPS
BOOLEAN(NTAPI * PRTL_CONFLICT_RANGE_CALLBACK)(PVOID Context, struct _RTL_RANGE *Range)
Definition: rtltypes.h:697
struct _RTL_BUFFER RTL_BUFFER
struct _RTL_PERTHREAD_CURDIR * PRTL_PERTHREAD_CURDIR
struct _RTL_BSD_DATA_POWER_TRANSITION * PRTL_BSD_DATA_POWER_TRANSITION
struct _RTL_PROCESS_LOCKS RTL_PROCESS_LOCKS
struct _MESSAGE_RESOURCE_ENTRY * PMESSAGE_RESOURCE_ENTRY
struct _RTL_HEAP_ENTRY RTL_HEAP_ENTRY
enum _RTL_UMSCTX_FLAGS * PRTL_UMSCTX_FLAGS
enum _RTL_UMS_SCHEDULER_REASON * PRTL_UMS_SCHEDULER_REASON
struct _RTL_ACQUIRE_STATE * PRTL_ACQUIRE_STATE
struct _RTL_HEAP_USAGE RTL_HEAP_USAGE
struct _RTL_PERTHREAD_CURDIR RTL_PERTHREAD_CURDIR
struct _RTL_ACQUIRE_STATE RTL_ACQUIRE_STATE
struct _RTL_RANGE_LIST * PRTL_RANGE_LIST
struct _RTL_DEBUG_INFORMATION * PRTL_DEBUG_INFORMATION
struct _RTL_UNICODE_STRING_BUFFER * PRTL_UNICODE_STRING_BUFFER
struct _RTLP_CURDIR_REF RTLP_CURDIR_REF
RTLP_UNHANDLED_EXCEPTION_FILTER * PRTLP_UNHANDLED_EXCEPTION_FILTER
Definition: rtltypes.h:546
_RTL_UMSCTX_FLAGS
Definition: rtltypes.h:1596
@ UMSCTX_SUSPENDED_BIT
Definition: rtltypes.h:1603
@ UMSCTX_TERMINATED_BIT
Definition: rtltypes.h:1605
@ UMSCTX_VOLATILE_CONTEXT_BIT
Definition: rtltypes.h:1604
@ UMSCTX_RUNNING_ON_SELF_THREAD_BIT
Definition: rtltypes.h:1607
@ UMSCTX_SCHEDULED_THREAD_BIT
Definition: rtltypes.h:1597
@ UMSCTX_DEBUG_ACTIVE_BIT
Definition: rtltypes.h:1606
@ UMSCTX_DENY_RUNNING_ON_SELF_THREAD_BIT
Definition: rtltypes.h:1608
struct _RTL_USER_PROCESS_PARAMETERS * PRTL_USER_PROCESS_PARAMETERS
struct _RTL_HEAP_TAG_INFO RTL_HEAP_TAG_INFO
struct _RTL_BSD_POWER_BUTTON_PRESS_INFO RTL_BSD_POWER_BUTTON_PRESS_INFO
struct _RTL_PROCESS_LOCK_INFORMATION * PRTL_PROCESS_LOCK_INFORMATION
enum _RTL_UMSCTX_FLAGS RTL_UMSCTX_FLAGS
struct _RTL_FLS_DATA * PRTL_FLS_DATA
struct _RTL_HEAP_TAG RTL_HEAP_TAG
struct _RTL_HEAP_USAGE * PRTL_HEAP_USAGE
struct _RTL_HANDLE_TABLE_ENTRY RTL_HANDLE_TABLE_ENTRY
struct _MESSAGE_RESOURCE_BLOCK * PMESSAGE_RESOURCE_BLOCK
_RTL_PATH_TYPE
Definition: rtltypes.h:464
@ RtlPathTypeRootLocalDevice
Definition: rtltypes.h:472
@ RtlPathTypeDriveRelative
Definition: rtltypes.h:468
@ RtlPathTypeRelative
Definition: rtltypes.h:470
@ RtlPathTypeUncAbsolute
Definition: rtltypes.h:466
@ RtlPathTypeRooted
Definition: rtltypes.h:469
@ RtlPathTypeLocalDevice
Definition: rtltypes.h:471
@ RtlPathTypeDriveAbsolute
Definition: rtltypes.h:467
@ RtlPathTypeUnknown
Definition: rtltypes.h:465
struct _RTLP_RANGE_LIST_ENTRY RTLP_RANGE_LIST_ENTRY
struct _RTL_TRACE_DATABASE * PRTL_TRACE_DATABASE
struct _RTL_STACK_TRACE_ENTRY * PRTL_STACK_TRACE_ENTRY
#define HEAP_CREATE_VALID_MASK
Definition: rtltypes.h:173
struct _RTL_PROCESS_MODULE_INFORMATION * PRTL_PROCESS_MODULE_INFORMATION
struct _ACTIVATION_CONTEXT_STACK * PACTIVATION_CONTEXT_STACK
struct _RTL_PROCESS_BACKTRACE_INFORMATION RTL_PROCESS_BACKTRACE_INFORMATION
struct _CURDIR CURDIR
struct _RTL_ATOM_TABLE_ENTRY * PRTL_ATOM_TABLE_ENTRY
_RTL_BSD_ITEM_TYPE
Definition: rtltypes.h:419
@ RtlBsdItemProductType
Definition: rtltypes.h:421
@ RtlBsdItemVersionNumber
Definition: rtltypes.h:420
@ RtlBsdItemReportedAbnormalShutdownBootId
Definition: rtltypes.h:432
@ RtlBsdItemAabTimeout
Definition: rtltypes.h:423
@ RtlBsdItemErrorInfo
Definition: rtltypes.h:433
@ RtlBsdItemAabEnabled
Definition: rtltypes.h:422
@ RtlBsdItemBootCheckpoint
Definition: rtltypes.h:429
@ RtlBsdPowerTransition
Definition: rtltypes.h:427
@ RtlBsdItemChecksum
Definition: rtltypes.h:435
@ RtlBsdSleepInProgress
Definition: rtltypes.h:426
@ RtlBsdItemMax
Definition: rtltypes.h:436
@ RtlBsdItemBootShutdown
Definition: rtltypes.h:425
@ RtlBsdItemShutdownBootId
Definition: rtltypes.h:431
@ RtlBsdItemBootAttemptCount
Definition: rtltypes.h:428
@ RtlBsdItemBootGood
Definition: rtltypes.h:424
@ RtlBsdItemPowerButtonPressInfo
Definition: rtltypes.h:434
@ RtlBsdItemBootId
Definition: rtltypes.h:430
struct _RTL_ATOM_TABLE RTL_ATOM_TABLE
struct _RTL_HEAP_ENTRY * PRTL_HEAP_ENTRY
struct _RTL_UNLOAD_EVENT_TRACE RTL_UNLOAD_EVENT_TRACE
struct _RTL_PATCH_HEADER RTL_PATCH_HEADER
struct _RTL_RANGE_LIST RTL_RANGE_LIST
struct _RTL_HEAP_TAG * PRTL_HEAP_TAG
struct _HEAP_LOCK HEAP_LOCK
struct _RTL_ATOM_TABLE * PRTL_ATOM_TABLE
struct _RTL_TIME_ZONE_INFORMATION * PRTL_TIME_ZONE_INFORMATION
struct _RTL_RELATIVE_NAME_U * PRTL_RELATIVE_NAME_U
struct _NLS_FILE_HEADER NLS_FILE_HEADER
struct _RTL_DRIVE_LETTER_CURDIR * PRTL_DRIVE_LETTER_CURDIR
struct _RANGE_LIST_ITERATOR * PRTL_RANGE_LIST_ITERATOR
struct _RTL_BSD_DATA_ERROR_INFO * PRTL_BSD_DATA_ERROR_INFO
#define RTL_MAX_DRIVE_LETTERS
Definition: rtltypes.h:57
enum _RTL_PATH_TYPE RTL_PATH_TYPE
_RTL_UMS_SCHEDULER_REASON
Definition: rtltypes.h:1589
@ UmsSchedulerThreadBlocked
Definition: rtltypes.h:1591
@ UmsSchedulerThreadYield
Definition: rtltypes.h:1592
@ UmsSchedulerStartup
Definition: rtltypes.h:1590
enum _HEAP_INFORMATION_CLASS HEAP_INFORMATION_CLASS
struct _RTL_PROCESS_LOCK_INFORMATION RTL_PROCESS_LOCK_INFORMATION
struct _RTL_BSD_DATA_POWER_TRANSITION RTL_BSD_DATA_POWER_TRANSITION
struct _RTL_BSD_DATA * PRTL_BSD_DATA
struct _RTL_TRACE_ENUMERATE * PRTL_TRACE_ENUMERATE
VOID(NTAPI * WORKERCALLBACKFUNC)(_In_ PVOID Context)
Definition: rtltypes.h:507
ULONG(NTAPI * RTLP_UNHANDLED_EXCEPTION_FILTER)(_In_ struct _EXCEPTION_POINTERS *ExceptionInfo)
Definition: rtltypes.h:543
struct _RTL_PROCESS_BACKTRACES * PRTL_PROCESS_BACKTRACES
struct _RTL_CRITICAL_SECTION_DEBUG RTL_CRITICAL_SECTION_DEBUG
struct _RTL_TRACE_DATABASE RTL_TRACE_DATABASE
#define _Inout_
Definition: no_sal2.h:162
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
int Count
Definition: noreturn.cpp:7
#define NLS_MB_OEM_CODE_PAGE_TAG
Definition: nt_native.h:213
ULONG ACCESS_MASK
Definition: nt_native.h:40
struct _RTL_QUERY_REGISTRY_TABLE * PRTL_QUERY_REGISTRY_TABLE
Definition: reg.c:122
struct _RTL_HEAP_PARAMETERS * PRTL_HEAP_PARAMETERS
struct _RTL_QUERY_REGISTRY_TABLE RTL_QUERY_REGISTRY_TABLE
NTSTATUS(* PRTL_HEAP_COMMIT_ROUTINE)(IN PVOID Base, IN OUT PVOID *CommitAddress, IN OUT PULONG CommitSize)
Definition: nt_native.h:1660
#define NLS_MB_CODE_PAGE_TAG
Definition: nt_native.h:212
struct _RTL_HEAP_PARAMETERS RTL_HEAP_PARAMETERS
#define DECLSPEC_ALIGN(x)
Definition: ntbasedef.h:259
#define DUMMYUNIONNAME2
Definition: ntbasedef.h:34
#define RTL_SIZEOF_THROUGH_FIELD(type, field)
Definition: ntbasedef.h:680
#define DUMMYUNIONNAME
Definition: ntbasedef.h:32
#define DUMMYSTRUCTNAME
Definition: ntbasedef.h:58
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
#define CONST_VTBL
Definition: objbase.h:222
#define BOOLEAN
Definition: pedump.c:73
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
static WCHAR Address[46]
Definition: ping.c:68
struct tagRange Range
base of all file and directory entries
Definition: entries.h:83
Definition: rtltypes.h:987
ACE_HEADER Header
Definition: rtltypes.h:988
ACCESS_MASK AccessMask
Definition: rtltypes.h:989
LIST_ENTRY FrameListCache
Definition: rtltypes.h:968
struct _RTL_ACTIVATION_CONTEXT_STACK_FRAME * ActiveFrame
Definition: rtltypes.h:967
UCHAR CompressionUnitShift
Definition: rtltypes.h:661
USHORT CompressionFormatAndEngine
Definition: rtltypes.h:660
ULONG CompressedChunkSizes[ANYSIZE_ARRAY]
Definition: rtltypes.h:666
UNICODE_STRING DosPath
Definition: rtltypes.h:1362
HANDLE Handle
Definition: rtltypes.h:1363
struct _EXCEPTION_REGISTRATION_RECORD * Next
Definition: compat.h:726
PEXCEPTION_ROUTINE Handler
Definition: compat.h:727
BOOLEAN CheckSumInserted
Definition: rtltypes.h:618
WCHAR ExtensionBuffer[4]
Definition: rtltypes.h:622
UCHAR Padding[0x68]
Definition: rtltypes.h:1462
RTL_CRITICAL_SECTION CriticalSection
Definition: rtltypes.h:1458
ERESOURCE Resource
Definition: rtltypes.h:1460
Definition: btrfs_drv.h:1876
Definition: typedefs.h:120
MESSAGE_RESOURCE_BLOCK Blocks[ANYSIZE_ARRAY]
Definition: rtltypes.h:1939
Definition: rtltypes.h:1923
UCHAR Text[ANYSIZE_ARRAY]
Definition: rtltypes.h:1926
USHORT Flags
Definition: rtltypes.h:1925
USHORT Length
Definition: rtltypes.h:1924
USHORT MaximumCharacterSize
Definition: precomp.h:22
UCHAR LeadByte[MAXIMUM_LEADBYTES]
Definition: precomp.h:27
USHORT TransDefaultChar
Definition: precomp.h:25
USHORT HeaderSize
Definition: precomp.h:20
USHORT CodePage
Definition: precomp.h:21
USHORT TransUniDefaultChar
Definition: precomp.h:26
USHORT DefaultChar
Definition: precomp.h:23
USHORT UniDefaultChar
Definition: precomp.h:24
Definition: rtltypes.h:626
CSHORT NodeTypeCode
Definition: rtltypes.h:627
RTL_SPLAY_LINKS Links
Definition: rtltypes.h:630
PSTRING Prefix
Definition: rtltypes.h:631
struct _PREFIX_TABLE_ENTRY * NextPrefixTree
Definition: rtltypes.h:629
CSHORT NameLength
Definition: rtltypes.h:628
PPREFIX_TABLE_ENTRY NextPrefixTree
Definition: rtltypes.h:637
CSHORT NodeTypeCode
Definition: rtltypes.h:635
CSHORT NameLength
Definition: rtltypes.h:636
PLIST_ENTRY RangeListHead
Definition: rtltypes.h:1489
PLIST_ENTRY MergedHead
Definition: rtltypes.h:1490
Definition: rtltypes.h:1496
UCHAR PublicFlags
Definition: rtltypes.h:1512
PVOID Owner
Definition: rtltypes.h:1504
ULONGLONG End
Definition: rtltypes.h:1498
struct _RTLP_RANGE_LIST_ENTRY::@2783::@2785 Allocated
UCHAR Attributes
Definition: rtltypes.h:1511
LIST_ENTRY ListEntry
Definition: rtltypes.h:1514
USHORT PrivateFlags
Definition: rtltypes.h:1513
struct _RTLP_RANGE_LIST_ENTRY::@2783::@2786 Merged
PVOID UserData
Definition: rtltypes.h:1503
ULONGLONG Start
Definition: rtltypes.h:1497
LIST_ENTRY ListHead
Definition: rtltypes.h:1508
HANDLE OldImpersonationToken
Definition: rtltypes.h:1400
UCHAR OldPrivBuffer[1024]
Definition: rtltypes.h:1404
PTOKEN_PRIVILEGES NewPrivileges
Definition: rtltypes.h:1402
PTOKEN_PRIVILEGES OldPrivileges
Definition: rtltypes.h:1401
struct _ACTIVATION_CONTEXT * ActivationContext
Definition: winternl.h:250
struct _RTL_ACTIVATION_CONTEXT_STACK_FRAME * Previous
Definition: winternl.h:249
Definition: rtltypes.h:1682
UCHAR NameLength
Definition: rtltypes.h:1688
USHORT Atom
Definition: rtltypes.h:1685
UCHAR Flags
Definition: rtltypes.h:1687
USHORT ReferenceCount
Definition: rtltypes.h:1686
USHORT HandleIndex
Definition: rtltypes.h:1684
struct _RTL_ATOM_TABLE_ENTRY * HashLink
Definition: rtltypes.h:1683
WCHAR Name[1]
Definition: rtltypes.h:1689
PRTL_ATOM_TABLE_ENTRY Buckets[1]
Definition: rtltypes.h:1712
FAST_MUTEX FastMutex
Definition: rtltypes.h:1700
PHANDLE_TABLE ExHandleTable
Definition: rtltypes.h:1708
ULONG NumberOfBuckets
Definition: rtltypes.h:1711
ULONG DeleteCount
Definition: rtltypes.h:447
PRTL_AVL_ALLOCATE_ROUTINE AllocateRoutine
Definition: rtltypes.h:449
ULONG DepthOfTree
Definition: rtltypes.h:445
ULONG NumberGenericTableElements
Definition: rtltypes.h:444
RTL_BALANCED_LINKS BalancedRoot
Definition: rtltypes.h:441
PRTL_AVL_COMPARE_ROUTINE CompareRoutine
Definition: rtltypes.h:448
ULONG WhichOrderedElement
Definition: rtltypes.h:443
PRTL_AVL_FREE_ROUTINE FreeRoutine
Definition: rtltypes.h:450
PVOID OrderedPointer
Definition: rtltypes.h:442
PVOID TableContext
Definition: rtltypes.h:451
PRTL_BALANCED_LINKS RestartKey
Definition: rtltypes.h:446
ULONG NumberOfBits
Definition: typedefs.h:97
ULONG StartingIndex
Definition: typedefs.h:96
ULONG SizeOfBitMap
Definition: typedefs.h:90
LARGE_INTEGER LastReferenceTime
Definition: rtltypes.h:1288
struct _RTL_BSD_DATA_POWER_TRANSITION::@2775 Flags
LARGE_INTEGER PowerButtonTimestamp
Definition: rtltypes.h:1275
UCHAR AabTimeout
Definition: rtltypes.h:1331
RTL_BSD_POWER_BUTTON_PRESS_INFO PowerButtonPressInfo
Definition: rtltypes.h:1343
ULONG ProductType
Definition: rtltypes.h:1329
BOOLEAN LastBootShutdown
Definition: rtltypes.h:1333
ULONG LastSuccessfulShutdownBootId
Definition: rtltypes.h:1340
RTL_BSD_DATA_ERROR_INFO ErrorInfo
Definition: rtltypes.h:1342
UCHAR BootAttemptCount
Definition: rtltypes.h:1336
UCHAR LastBootCheckpoint
Definition: rtltypes.h:1337
BOOLEAN SleepInProgress
Definition: rtltypes.h:1334
ULONG LastBootId
Definition: rtltypes.h:1339
BOOLEAN LastBootSucceeded
Definition: rtltypes.h:1332
ULONG LastReportedAbnormalShutdownBootId
Definition: rtltypes.h:1341
BOOLEAN AabEnabled
Definition: rtltypes.h:1330
UCHAR Checksum
Definition: rtltypes.h:1338
ULONG Version
Definition: rtltypes.h:1328
RTL_BSD_DATA_POWER_TRANSITION PowerTransition
Definition: rtltypes.h:1335
ULONG DataLength
Definition: rtltypes.h:1267
RTL_BSD_ITEM_TYPE Type
Definition: rtltypes.h:1265
PVOID DataBuffer
Definition: rtltypes.h:1266
struct _RTL_BSD_POWER_BUTTON_PRESS_INFO::@2776 Flags
SIZE_T StaticSize
Definition: rtltypes.h:1888
PUCHAR StaticBuffer
Definition: rtltypes.h:1886
PVOID ReservedForIMalloc
Definition: rtltypes.h:1890
SIZE_T ReservedForAllocatedSize
Definition: rtltypes.h:1889
PUCHAR Buffer
Definition: rtltypes.h:1885
SIZE_T Size
Definition: rtltypes.h:1887
struct _RTL_CRITICAL_SECTION * CriticalSection
Definition: rtltypes.h:1416
PRTL_CRITICAL_SECTION_DEBUG DebugInfo
Definition: rtltypes.h:1441
PRTL_PROCESS_VERIFIER_OPTIONS VerifierOptions
Definition: rtltypes.h:1204
PRTL_PROCESS_LOCKS Locks
Definition: rtltypes.h:1201
HANDLE CriticalSectionHandle
Definition: rtltypes.h:1206
PRTL_PROCESS_HEAPS Heaps
Definition: rtltypes.h:1200
PRTL_PROCESS_BACKTRACES BackTraces
Definition: rtltypes.h:1199
PRTL_PROCESS_MODULES Modules
Definition: rtltypes.h:1196
PRTL_PROCESS_MODULE_INFORMATION_EX ModulesEx
Definition: rtltypes.h:1197
HANDLE CriticalSectionOwnerThread
Definition: rtltypes.h:1207
UNICODE_STRING DosPath
Definition: rtltypes.h:1384
LIST_ENTRY ListEntry
Definition: rtltypes.h:1217
ULONG WhichOrderedElement
Definition: rtltypes.h:494
PLIST_ENTRY OrderedPointer
Definition: rtltypes.h:493
PRTL_GENERIC_FREE_ROUTINE FreeRoutine
Definition: rtltypes.h:498
LIST_ENTRY InsertOrderList
Definition: rtltypes.h:492
PRTL_GENERIC_ALLOCATE_ROUTINE AllocateRoutine
Definition: rtltypes.h:497
PRTL_GENERIC_COMPARE_ROUTINE CompareRoutine
Definition: rtltypes.h:496
PRTL_SPLAY_LINKS TableRoot
Definition: rtltypes.h:491
ULONG NumberGenericTableElements
Definition: rtltypes.h:495
Definition: rtltypes.h:1241
ULONG Flags
Definition: rtltypes.h:1244
struct _RTL_HANDLE_TABLE_ENTRY * NextFree
Definition: rtltypes.h:1245
PRTL_HANDLE_TABLE_ENTRY UnCommittedHandles
Definition: rtltypes.h:1256
PRTL_HANDLE_TABLE_ENTRY FreeHandles
Definition: rtltypes.h:1254
PRTL_HANDLE_TABLE_ENTRY CommittedHandles
Definition: rtltypes.h:1255
ULONG MaximumNumberOfHandles
Definition: rtltypes.h:1251
PRTL_HANDLE_TABLE_ENTRY MaxReservedHandles
Definition: rtltypes.h:1257
ULONG SizeOfHandleTableEntry
Definition: rtltypes.h:1252
Definition: rtltypes.h:1080
USHORT AllocatorBackTraceIndex
Definition: rtltypes.h:1083
struct _RTL_HEAP_ENTRY::@2768::@2769 s1
ULONG Tag
Definition: rtltypes.h:1089
PVOID FirstBlock
Definition: rtltypes.h:1094
struct _RTL_HEAP_ENTRY::@2768::@2770 s2
SIZE_T Settable
Definition: rtltypes.h:1088
SIZE_T CommittedSize
Definition: rtltypes.h:1093
union _RTL_HEAP_ENTRY::@2768 u
SIZE_T Size
Definition: rtltypes.h:1081
USHORT Flags
Definition: rtltypes.h:1082
USHORT CreatorBackTraceIndex
Definition: rtltypes.h:1114
PRTL_HEAP_TAG Tags
Definition: rtltypes.h:1122
PRTL_HEAP_ENTRY Entries
Definition: rtltypes.h:1123
ULONG DeCommitFreeBlockThreshold
Definition: nt_native.h:1670
PRTL_HEAP_COMMIT_ROUTINE CommitRoutine
Definition: nt_native.h:1676
ULONG VirtualMemoryThreshold
Definition: nt_native.h:1673
ULONG DeCommitTotalFreeThreshold
Definition: nt_native.h:1671
ULONG NumberOfAllocations
Definition: rtltypes.h:1026
SIZE_T BytesAllocated
Definition: rtltypes.h:1028
USHORT TagIndex
Definition: rtltypes.h:1104
SIZE_T BytesAllocated
Definition: rtltypes.h:1103
USHORT CreatorBackTraceIndex
Definition: rtltypes.h:1105
ULONG NumberOfFrees
Definition: rtltypes.h:1102
WCHAR TagName[24]
Definition: rtltypes.h:1106
ULONG NumberOfAllocations
Definition: rtltypes.h:1101
Definition: rtltypes.h:1032
PVOID Address
Definition: rtltypes.h:1034
USHORT AllocatorBackTraceIndex
Definition: rtltypes.h:1036
USHORT TagIndex
Definition: rtltypes.h:1037
struct _RTL_HEAP_USAGE_ENTRY * Next
Definition: rtltypes.h:1033
SIZE_T Size
Definition: rtltypes.h:1035
SIZE_T BytesAllocated
Definition: rtltypes.h:1043
SIZE_T BytesReserved
Definition: rtltypes.h:1045
PRTL_HEAP_USAGE_ENTRY Entries
Definition: rtltypes.h:1047
PRTL_HEAP_USAGE_ENTRY AddedEntries
Definition: rtltypes.h:1048
SIZE_T BytesReservedMaximum
Definition: rtltypes.h:1046
SIZE_T BytesCommitted
Definition: rtltypes.h:1044
PRTL_HEAP_USAGE_ENTRY RemovedEntries
Definition: rtltypes.h:1049
Definition: rtltypes.h:1054
SIZE_T Settable
Definition: rtltypes.h:1064
PVOID LastEntry
Definition: rtltypes.h:1074
PVOID FirstEntry
Definition: rtltypes.h:1073
ULONG_PTR CommittedSize
Definition: rtltypes.h:1071
PVOID DataAddress
Definition: rtltypes.h:1055
UCHAR SegmentIndex
Definition: rtltypes.h:1058
struct _RTL_HEAP_WALK_ENTRY::@2764::@2766 Block
USHORT AllocatorBackTraceIndex
Definition: rtltypes.h:1066
USHORT TagIndex
Definition: rtltypes.h:1065
UCHAR OverheadBytes
Definition: rtltypes.h:1057
ULONG_PTR UnCommittedSize
Definition: rtltypes.h:1072
USHORT Flags
Definition: rtltypes.h:1059
struct _RTL_HEAP_WALK_ENTRY::@2764::@2767 Segment
SIZE_T DataSize
Definition: rtltypes.h:1056
struct _HOTPATCH_HEADER * HotpatchHeader
Definition: rtltypes.h:1739
struct _RTL_PATCH_HEADER * NextPath
Definition: rtltypes.h:1736
PLDR_DATA_TABLE_ENTRY TargetLdrDataTableEntry
Definition: rtltypes.h:1742
PVOID PatchImageBase
Definition: rtltypes.h:1735
PLDR_DATA_TABLE_ENTRY PatchLdrDataTableEntry
Definition: rtltypes.h:1743
LIST_ENTRY PatchList
Definition: rtltypes.h:1734
struct _SYSTEM_HOTPATCH_CODE_INFORMATION * CodeInfo
Definition: rtltypes.h:1744
UNICODE_STRING TargetDllName
Definition: rtltypes.h:1740
PUNICODE_STRING ImageName
Definition: rtltypes.h:1390
PRTL_DRIVE_LETTER_CURDIR CurrentDirectories
Definition: rtltypes.h:1389
RTL_PROCESS_BACKTRACE_INFORMATION BackTraces[1]
Definition: rtltypes.h:1167
RTL_HEAP_INFORMATION Heaps[1]
Definition: rtltypes.h:1129
RTL_PROCESS_LOCK_INFORMATION Locks[1]
Definition: rtltypes.h:1149
RTL_PROCESS_MODULE_INFORMATION Modules[1]
Definition: rtltypes.h:1012
RTL_PROCESS_MODULE_INFORMATION BaseInfo
Definition: rtltypes.h:1018
PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine
Definition: nt_native.h:109
LIST_ENTRY ListHead
Definition: rtltypes.h:1471
ULONGLONG End
Definition: rtltypes.h:1480
ULONGLONG Start
Definition: rtltypes.h:1479
UCHAR Attributes
Definition: rtltypes.h:1483
PVOID UserData
Definition: rtltypes.h:1481
PVOID Owner
Definition: rtltypes.h:1482
UCHAR Flags
Definition: rtltypes.h:1484
UNICODE_STRING RelativeName
Definition: rtltypes.h:1374
HANDLE ContainingDirectory
Definition: rtltypes.h:1375
PRTLP_CURDIR_REF CurDirRef
Definition: rtltypes.h:1376
LONG NumberActive
Definition: rtltypes.h:1530
HANDLE SharedSemaphore
Definition: rtltypes.h:1526
ULONG ExclusiveWaiters
Definition: rtltypes.h:1529
PVOID DebugInfo
Definition: rtltypes.h:1533
HANDLE OwningThread
Definition: rtltypes.h:1531
ULONG TimeoutBoost
Definition: rtltypes.h:1532
ULONG SharedWaiters
Definition: rtltypes.h:1527
HANDLE ExclusiveSemaphore
Definition: rtltypes.h:1528
RTL_CRITICAL_SECTION Lock
Definition: rtltypes.h:1525
Definition: rtltypes.h:1766
PVOID BackTrace[32]
Definition: rtltypes.h:1771
ULONG TraceCount
Definition: rtltypes.h:1768
USHORT Index
Definition: rtltypes.h:1769
USHORT Depth
Definition: rtltypes.h:1770
struct _RTL_STACK_TRACE_ENTRY * HashChain
Definition: rtltypes.h:1767
struct _RTL_TRACE_BLOCK * Next
Definition: rtltypes.h:1832
struct _RTL_TRACE_BLOCK ** Buckets
Definition: rtltypes.h:1855
struct _RTL_TRACE_SEGMENT * SegmentList
Definition: rtltypes.h:1841
ULONG HashCounter[16]
Definition: rtltypes.h:1859
RTL_TRACE_HASH_FUNCTION HashFunction
Definition: rtltypes.h:1856
KSPIN_LOCK SpinLock
Definition: rtltypes.h:1850
FAST_MUTEX FastMutex
Definition: rtltypes.h:1851
union _RTL_TRACE_DATABASE::@2792 u
struct _RTL_TRACE_DATABASE * Database
Definition: rtltypes.h:1875
struct _RTL_TRACE_BLOCK * Block
Definition: rtltypes.h:1877
struct _RTL_TRACE_DATABASE * Database
Definition: rtltypes.h:1865
struct _RTL_TRACE_SEGMENT * NextSegment
Definition: rtltypes.h:1866
WCHAR MinimumStaticBufferForTerminalNul
Definition: rtltypes.h:1897
UNICODE_STRING String
Definition: rtltypes.h:1895
SECTION_IMAGE_INFORMATION ImageInformation
Definition: rtltypes.h:1583
UNICODE_STRING RuntimeData
Definition: rtltypes.h:1567
UNICODE_STRING CommandLine
Definition: btrfs_drv.h:1902
RTL_DRIVE_LETTER_CURDIR CurrentDirectories[RTL_MAX_DRIVE_LETTERS]
Definition: rtltypes.h:1568
UNICODE_STRING ImagePathName
Definition: btrfs_drv.h:1901
UNICODE_STRING WindowTitle
Definition: rtltypes.h:1564
UNICODE_STRING ShellInfo
Definition: rtltypes.h:1566
UNICODE_STRING DesktopInfo
Definition: rtltypes.h:1565
Definition: ntbasedef.h:636
PVOID CurrentUpperCommitLimit
Definition: rtltypes.h:1793
PRTL_STACK_TRACE_ENTRY * EntryIndexArray
Definition: rtltypes.h:1800
PRTL_STACK_TRACE_ENTRY Buckets[ANYSIZE_ARRAY]
Definition: rtltypes.h:1803
PVOID CurrentLowerCommitLimit
Definition: rtltypes.h:1792
ULONG NumberOfAllocationFailures
Definition: rtltypes.h:1799
USHORT Milliseconds
Definition: env_spec_w32.h:717
USHORT Weekday
Definition: env_spec_w32.h:718
Definition: rtltypes.h:640
struct _UNICODE_PREFIX_TABLE_ENTRY * CaseMatch
Definition: rtltypes.h:644
PUNICODE_STRING Prefix
Definition: rtltypes.h:646
struct _UNICODE_PREFIX_TABLE_ENTRY * NextPrefixTree
Definition: rtltypes.h:643
CSHORT NameLength
Definition: rtltypes.h:642
RTL_SPLAY_LINKS Links
Definition: rtltypes.h:645
CSHORT NodeTypeCode
Definition: rtltypes.h:641
PUNICODE_PREFIX_TABLE_ENTRY LastNextEntry
Definition: rtltypes.h:653
PUNICODE_PREFIX_TABLE_ENTRY NextPrefixTree
Definition: rtltypes.h:652
ULONG_PTR * PSIZE_T
Definition: typedefs.h:80
uint16_t * PWSTR
Definition: typedefs.h:56
uint32_t * PULONG
Definition: typedefs.h:59
const uint16_t * PCWSTR
Definition: typedefs.h:57
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:255
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
#define NTAPI
Definition: typedefs.h:36
void * PVOID
Definition: typedefs.h:50
ULONG_PTR SIZE_T
Definition: typedefs.h:80
struct _RTL_BITMAP_RUN RTL_BITMAP_RUN
struct _RTL_BITMAP_RUN * PRTL_BITMAP_RUN
uint32_t ULONG_PTR
Definition: typedefs.h:65
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
char * PCHAR
Definition: typedefs.h:51
ULONG CLONG
Definition: umtypes.h:126
short CSHORT
Definition: umtypes.h:127
static int Link(const char **args)
Definition: vfdcmd.c:2414
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
Definition: wdfinterrupt.h:655
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_opt_ PULONG _Out_opt_ PULONG ValueType
Definition: wdfregistry.h:282
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
Definition: wdfregistry.h:243
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG ValueLength
Definition: wdfregistry.h:275
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
Definition: wdfsync.h:127
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
_In_opt_ PVOID _Out_ PLARGE_INTEGER Cookie
Definition: cmfuncs.h:14
FAST_MUTEX
Definition: extypes.h:17
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:1036
@ Suspended
Definition: ketypes.h:420
* PM128A
Definition: ketypes.h:937
_Must_inspect_result_ _In_ PHYSICAL_ADDRESS HighAddress
Definition: mmfuncs.h:226
struct _UNICODE_PREFIX_TABLE_ENTRY UNICODE_PREFIX_TABLE_ENTRY
RTL_AVL_FREE_ROUTINE * PRTL_AVL_FREE_ROUTINE
Definition: rtltypes.h:421
TABLE_SEARCH_RESULT
Definition: rtltypes.h:386
struct _PREFIX_TABLE * PPREFIX_TABLE
struct _COMPRESSED_DATA_INFO COMPRESSED_DATA_INFO
struct _PREFIX_TABLE PREFIX_TABLE
struct _GENERATE_NAME_CONTEXT * PGENERATE_NAME_CONTEXT
_IRQL_requires_same_ _In_ PVOID _In_ PVOID MatchData
Definition: rtltypes.h:429
struct _UNICODE_PREFIX_TABLE_ENTRY * PUNICODE_PREFIX_TABLE_ENTRY
struct _RTL_AVL_TABLE RTL_AVL_TABLE
RTL_QUERY_REGISTRY_ROUTINE * PRTL_QUERY_REGISTRY_ROUTINE
Definition: rtltypes.h:53
NTKERNELAPI const PRTL_ALLOCATE_STRING_ROUTINE RtlAllocateStringRoutine
struct _GENERATE_NAME_CONTEXT GENERATE_NAME_CONTEXT
RTL_GENERIC_FREE_ROUTINE * PRTL_GENERIC_FREE_ROUTINE
Definition: rtltypes.h:488
RTL_AVL_MATCH_FUNCTION * PRTL_AVL_MATCH_FUNCTION
Definition: rtltypes.h:430
_Inout_opt_ PVOID Parameter
Definition: rtltypes.h:336
struct _RTL_GENERIC_TABLE RTL_GENERIC_TABLE
struct _RTL_BALANCED_LINKS RTL_BALANCED_LINKS
struct _COMPRESSED_DATA_INFO * PCOMPRESSED_DATA_INFO
NTKERNELAPI const PRTL_FREE_STRING_ROUTINE RtlFreeStringRoutine
_IRQL_requires_same_ _In_ PVOID _In_ PVOID SecondStruct
Definition: rtltypes.h:403
struct _RTL_SPLAY_LINKS * PRTL_SPLAY_LINKS
RTL_AVL_ALLOCATE_ROUTINE * PRTL_AVL_ALLOCATE_ROUTINE
Definition: rtltypes.h:413
RTL_GENERIC_COMPARE_ROUTINE * PRTL_GENERIC_COMPARE_ROUTINE
Definition: rtltypes.h:471
VOID(NTAPI * PRTL_FREE_STRING_ROUTINE)(_In_ __drv_freesMem(Mem) _Post_invalid_ PVOID Buffer)
Definition: rtltypes.h:582
struct _RTL_GENERIC_TABLE * PRTL_GENERIC_TABLE
_IRQL_requires_same_ _In_ CLONG ByteSize
Definition: rtltypes.h:412
struct _PREFIX_TABLE_ENTRY PREFIX_TABLE_ENTRY
struct _UNICODE_PREFIX_TABLE * PUNICODE_PREFIX_TABLE
struct _UNICODE_PREFIX_TABLE UNICODE_PREFIX_TABLE
struct _RTL_SPLAY_LINKS RTL_SPLAY_LINKS
_Inout_opt_ PVOID _Inout_opt_ PVOID * Context
Definition: rtltypes.h:337
_IRQL_requires_same_ _In_ PVOID FirstStruct
Definition: rtltypes.h:402
RTL_GENERIC_ALLOCATE_ROUTINE * PRTL_GENERIC_ALLOCATE_ROUTINE
Definition: rtltypes.h:480
_RTL_GENERIC_COMPARE_RESULTS
Definition: rtltypes.h:388
@ GenericLessThan
Definition: rtltypes.h:389
@ GenericEqual
Definition: rtltypes.h:391
@ GenericGreaterThan
Definition: rtltypes.h:390
struct _PREFIX_TABLE_ENTRY * PPREFIX_TABLE_ENTRY
RTL_AVL_COMPARE_ROUTINE * PRTL_AVL_COMPARE_ROUTINE
Definition: rtltypes.h:404
_Inout_ PVOID * CommitAddress
Definition: rtltypes.h:597
enum _RTL_GENERIC_COMPARE_RESULTS RTL_GENERIC_COMPARE_RESULTS
unsigned char UCHAR
Definition: xmlstorage.h:181
__wchar_t WCHAR
Definition: xmlstorage.h:180
char CHAR
Definition: xmlstorage.h:175