ReactOS 0.4.17-dev-923-g4c9a150
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//
85// Flags for RtlIsRangeAvailable
86//
87// Both are viewable through PCI.sys's behaviors on ROM space and Shared IRQs.
88//
89#define RTL_RANGE_LIST_SHARED_OK 0x00000001
90#define RTL_RANGE_LIST_NULL_CONFLICT_OK 0x00000002
91
92#define RTL_RANGE_SHARED 0x01
93#define RTL_RANGE_CONFLICT 0x02
94
95//
96// Flags in RTL_ACTIVATION_CONTEXT_STACK_FRAME (from Checked NTDLL)
97//
98#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_RELEASE_ON_DEACTIVATION 0x01
99#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_NO_DEACTIVATE 0x02
100#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_ON_FREE_LIST 0x04
101#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_HEAP_ALLOCATED 0x08
102#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_NOT_REALLY_ACTIVATED 0x10
103#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_ACTIVATED 0x20
104#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_DEACTIVATED 0x40
105
106//
107// Activation Context Frame Flags (from Checked NTDLL)
108//
109#define RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_FORMAT_WHISTLER 0x01
110
111//
112// RtlActivateActivationContextEx Flags (from Checked NTDLL)
113//
114#define RTL_ACTIVATE_ACTIVATION_CONTEXT_EX_FLAG_RELEASE_ON_STACK_DEALLOCATION 0x01
115
116//
117// RtlDeactivateActivationContext Flags (based on Win32 flag and name of above)
118//
119#define RTL_DEACTIVATE_ACTIVATION_CONTEXT_FLAG_FORCE_EARLY_DEACTIVATION 0x01
120
121//
122// RtlQueryActivationContext Flags (based on Win32 flag and name of above)
123//
124#define RTL_QUERY_ACTIVATION_CONTEXT_FLAG_USE_ACTIVE_ACTIVATION_CONTEXT 0x01
125#define RTL_QUERY_ACTIVATION_CONTEXT_FLAG_IS_HMODULE 0x02
126#define RTL_QUERY_ACTIVATION_CONTEXT_FLAG_IS_ADDRESS 0x04
127#define RTL_QUERY_ACTIVATION_CONTEXT_FLAG_NO_ADDREF 0x80000000
128
129//
130// Public Heap Flags
131//
132#if !defined(NTOS_MODE_USER) && !defined(_NTIFS_)
133#define HEAP_NO_SERIALIZE 0x00000001
134#define HEAP_GROWABLE 0x00000002
135#define HEAP_GENERATE_EXCEPTIONS 0x00000004
136#define HEAP_ZERO_MEMORY 0x00000008
137#define HEAP_REALLOC_IN_PLACE_ONLY 0x00000010
138#define HEAP_TAIL_CHECKING_ENABLED 0x00000020
139#define HEAP_FREE_CHECKING_ENABLED 0x00000040
140#define HEAP_DISABLE_COALESCE_ON_FREE 0x00000080
141#define HEAP_CREATE_ALIGN_16 0x00010000
142#define HEAP_CREATE_ENABLE_TRACING 0x00020000
143#define HEAP_CREATE_ENABLE_EXECUTE 0x00040000
144#endif
145
146//
147// User-Defined Heap Flags and Classes
148//
149#define HEAP_SETTABLE_USER_VALUE 0x00000100
150#define HEAP_SETTABLE_USER_FLAG1 0x00000200
151#define HEAP_SETTABLE_USER_FLAG2 0x00000400
152#define HEAP_SETTABLE_USER_FLAG3 0x00000800
153#define HEAP_SETTABLE_USER_FLAGS 0x00000E00
154#define HEAP_CLASS_0 0x00000000
155#define HEAP_CLASS_1 0x00001000
156#define HEAP_CLASS_2 0x00002000
157#define HEAP_CLASS_3 0x00003000
158#define HEAP_CLASS_4 0x00004000
159#define HEAP_CLASS_5 0x00005000
160#define HEAP_CLASS_6 0x00006000
161#define HEAP_CLASS_7 0x00007000
162#define HEAP_CLASS_8 0x00008000
163#define HEAP_CLASS_MASK 0x0000F000
164
165//
166// Internal HEAP Structure Flags
167//
168#define HEAP_FLAG_PAGE_ALLOCS 0x01000000
169#define HEAP_PROTECTION_ENABLED 0x02000000
170#define HEAP_BREAK_WHEN_OUT_OF_VM 0x04000000
171#define HEAP_NO_ALIGNMENT 0x08000000
172#define HEAP_CAPTURE_STACK_BACKTRACES 0x08000000
173#define HEAP_SKIP_VALIDATION_CHECKS 0x10000000
174#define HEAP_VALIDATE_ALL_ENABLED 0x20000000
175#define HEAP_VALIDATE_PARAMETERS_ENABLED 0x40000000
176#define HEAP_LOCK_USER_ALLOCATED 0x80000000
177
178//
179// Heap Validation Flags
180//
181#define HEAP_CREATE_VALID_MASK \
182 (HEAP_NO_SERIALIZE | \
183 HEAP_GROWABLE | \
184 HEAP_GENERATE_EXCEPTIONS | \
185 HEAP_ZERO_MEMORY | \
186 HEAP_REALLOC_IN_PLACE_ONLY | \
187 HEAP_TAIL_CHECKING_ENABLED | \
188 HEAP_FREE_CHECKING_ENABLED | \
189 HEAP_DISABLE_COALESCE_ON_FREE | \
190 HEAP_CLASS_MASK | \
191 HEAP_CREATE_ALIGN_16 | \
192 HEAP_CREATE_ENABLE_TRACING | \
193 HEAP_CREATE_ENABLE_EXECUTE)
194#ifdef C_ASSERT
195C_ASSERT(HEAP_CREATE_VALID_MASK == 0x0007F0FF);
196#endif
197
198//
199// Native image architecture
200//
201#if defined(_M_IX86)
202#define IMAGE_FILE_MACHINE_NATIVE IMAGE_FILE_MACHINE_I386
203#elif defined(_M_ARM)
204#define IMAGE_FILE_MACHINE_NATIVE IMAGE_FILE_MACHINE_ARM
205#elif defined(_M_AMD64)
206#define IMAGE_FILE_MACHINE_NATIVE IMAGE_FILE_MACHINE_AMD64
207#elif defined(_M_ARM64)
208#define IMAGE_FILE_MACHINE_NATIVE IMAGE_FILE_MACHINE_ARM64
209#else
210#error Define these please!
211#endif
212
213//
214// Registry Keys
215//
216#define RTL_REGISTRY_ABSOLUTE 0
217#define RTL_REGISTRY_SERVICES 1
218#define RTL_REGISTRY_CONTROL 2
219#define RTL_REGISTRY_WINDOWS_NT 3
220#define RTL_REGISTRY_DEVICEMAP 4
221#define RTL_REGISTRY_USER 5
222#define RTL_REGISTRY_MAXIMUM 6
223#define RTL_REGISTRY_HANDLE 0x40000000
224#define RTL_REGISTRY_OPTIONAL 0x80000000
225#define RTL_QUERY_REGISTRY_SUBKEY 0x00000001
226#define RTL_QUERY_REGISTRY_TOPKEY 0x00000002
227#define RTL_QUERY_REGISTRY_REQUIRED 0x00000004
228#define RTL_QUERY_REGISTRY_NOVALUE 0x00000008
229#define RTL_QUERY_REGISTRY_NOEXPAND 0x00000010
230#define RTL_QUERY_REGISTRY_DIRECT 0x00000020
231#define RTL_QUERY_REGISTRY_DELETE 0x00000040
232
233//
234// Versioning
235//
236#define VER_MINORVERSION 0x0000001
237#define VER_MAJORVERSION 0x0000002
238#define VER_BUILDNUMBER 0x0000004
239#define VER_PLATFORMID 0x0000008
240#define VER_SERVICEPACKMINOR 0x0000010
241#define VER_SERVICEPACKMAJOR 0x0000020
242#define VER_SUITENAME 0x0000040
243#define VER_PRODUCT_TYPE 0x0000080
244#define VER_PLATFORM_WIN32s 0
245#define VER_PLATFORM_WIN32_WINDOWS 1
246#define VER_PLATFORM_WIN32_NT 2
247#define VER_EQUAL 1
248#define VER_GREATER 2
249#define VER_GREATER_EQUAL 3
250#define VER_LESS 4
251#define VER_LESS_EQUAL 5
252#define VER_AND 6
253#define VER_OR 7
254#define VER_CONDITION_MASK 7
255#define VER_NUM_BITS_PER_CONDITION_MASK 3
256
257//
258// Timezone IDs
259//
260#define TIME_ZONE_ID_UNKNOWN 0
261#define TIME_ZONE_ID_STANDARD 1
262#define TIME_ZONE_ID_DAYLIGHT 2
263
264//
265// Maximum Path Length
266//
267#define MAX_PATH 260
268
269//
270// RTL Lock Type (Critical Section or Resource)
271//
272#define RTL_CRITSECT_TYPE 0
273#define RTL_RESOURCE_TYPE 1
274
275//
276// RtlAcquirePrivileges Flags
277//
278#define RTL_ACQUIRE_PRIVILEGE_IMPERSONATE 1
279#define RTL_ACQUIRE_PRIVILEGE_PROCESS 2
280
281#ifdef NTOS_MODE_USER
282
283//
284// String Hash Algorithms
285//
286#define HASH_STRING_ALGORITHM_DEFAULT 0
287#define HASH_STRING_ALGORITHM_X65599 1
288#define HASH_STRING_ALGORITHM_INVALID 0xffffffff
289
290//
291// RtlDuplicateString Flags
292//
293#define RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE 1
294#define RTL_DUPLICATE_UNICODE_STRING_ALLOCATE_NULL_STRING 2
295
296//
297// RtlFindCharInUnicodeString Flags
298//
299#define RTL_FIND_CHAR_IN_UNICODE_STRING_START_AT_END 1
300#define RTL_FIND_CHAR_IN_UNICODE_STRING_COMPLEMENT_CHAR_SET 2
301#define RTL_FIND_CHAR_IN_UNICODE_STRING_CASE_INSENSITIVE 4
302
303//
304// RtlDosApplyFileIsolationRedirection_Ustr Flags
305//
306#define RTL_DOS_APPLY_FILE_REDIRECTION_USTR_FLAG_RESPECT_DOT_LOCAL 0x01
307
308//
309// Codepages
310//
311#define NLS_MB_CODE_PAGE_TAG NlsMbCodePageTag
312#define NLS_MB_OEM_CODE_PAGE_TAG NlsMbOemCodePageTag
313#define NLS_OEM_LEAD_BYTE_INFO NlsOemLeadByteInfo
314
315//
316// Activation Contexts
317//
318#define INVALID_ACTIVATION_CONTEXT ((PVOID)(LONG_PTR)-1)
319
320//
321// C++ CONST casting
322//
323#if defined(__cplusplus)
324#define RTL_CONST_CAST(type) const_cast<type>
325#else
326#define RTL_CONST_CAST(type) (type)
327#endif
328
329//
330// Constant String Macro
331//
332#define RTL_CONSTANT_STRING(__SOURCE_STRING__) \
333{ \
334 sizeof(__SOURCE_STRING__) - sizeof((__SOURCE_STRING__)[0]), \
335 sizeof(__SOURCE_STRING__), \
336 (__SOURCE_STRING__) \
337}
338
339//
340// Constant Object Attributes Macro
341//
342#define RTL_CONSTANT_OBJECT_ATTRIBUTES(n, a) \
343{ \
344 sizeof(OBJECT_ATTRIBUTES), \
345 NULL, \
346 RTL_CONST_CAST(PUNICODE_STRING)(n), \
347 a, \
348 NULL, \
349 NULL \
350}
351
352#define RTL_INIT_OBJECT_ATTRIBUTES(n, a) \
353 RTL_CONSTANT_OBJECT_ATTRIBUTES(n, a)
354
355#endif /* NTOS_MODE_USER */
356
357//
358// RtlImageNtHeaderEx Flags
359//
360#define RTL_IMAGE_NT_HEADER_EX_FLAG_NO_RANGE_CHECK 0x00000001
361
362
363#define MAXIMUM_LEADBYTES 12
364
365//
366// RTL Debug Queries
367//
368#define RTL_DEBUG_QUERY_MODULES 0x01
369#define RTL_DEBUG_QUERY_BACKTRACES 0x02
370#define RTL_DEBUG_QUERY_HEAPS 0x04
371#define RTL_DEBUG_QUERY_HEAP_TAGS 0x08
372#define RTL_DEBUG_QUERY_HEAP_BLOCKS 0x10
373#define RTL_DEBUG_QUERY_LOCKS 0x20
374
375//
376// RTL Handle Flags
377//
378#define RTL_HANDLE_VALID 0x1
379
380//
381// RTL Atom Flags
382//
383#define RTL_ATOM_IS_PINNED 0x1
384
385//
386// Critical section lock bits
387//
388#define CS_LOCK_BIT 0x1
389#define CS_LOCK_BIT_V 0x0
390#define CS_LOCK_WAITER_WOKEN 0x2
391#define CS_LOCK_WAITER_INC 0x4
392
393//
394// Codepage Tags
395//
396#ifdef NTOS_MODE_USER
399
400//
401// Constant String Macro
402//
403#define RTL_CONSTANT_STRING(__SOURCE_STRING__) \
404{ \
405 sizeof(__SOURCE_STRING__) - sizeof((__SOURCE_STRING__)[0]), \
406 sizeof(__SOURCE_STRING__), \
407 (__SOURCE_STRING__) \
408}
409
410#endif /* NTOS_MODE_USER */
411
412//
413// Constant Large Integer Macro
414//
415#ifdef NONAMELESSUNION
416C_ASSERT(FIELD_OFFSET(LARGE_INTEGER, u.LowPart) == 0);
417#else
419#endif
420#define RTL_CONSTANT_LARGE_INTEGER(quad_part) { { (quad_part), (quad_part)>>32 } }
421#define RTL_MAKE_LARGE_INTEGER(low_part, high_part) { { (low_part), (high_part) } }
422
423//
424// Boot Status Data Field Types
425//
427{
449
450#ifdef NTOS_MODE_USER
451//
452// Table and Compare result types
453//
454typedef enum _TABLE_SEARCH_RESULT
455{
456 TableEmptyTree,
457 TableFoundNode,
458 TableInsertAsLeft,
459 TableInsertAsRight
461
463{
468
469#endif /* NTOS_MODE_USER */
470
471//
472// RTL Path Types
473//
474typedef enum _RTL_PATH_TYPE
475{
485
486#ifndef NTOS_MODE_USER
487
488//
489// Heap Information Class
490//
492{
496
497//
498// Callback function for RTL Timers or Registered Waits
499//
500typedef VOID
502 PVOID pvContext,
503 BOOLEAN fTimerOrWaitFired
504);
505
506//
507// Handler during Vectored RTL Exceptions
508//
509typedef LONG
511 PEXCEPTION_POINTERS ExceptionPointers
512);
513
514//
515// Worker Thread Callback for Rtl
516//
517typedef VOID
520);
521
522#else /* !NTOS_MODE_USER */
523
524//
525// RTL Library Allocation/Free Routines
526//
527typedef PVOID
528(NTAPI *PRTL_ALLOCATE_STRING_ROUTINE)(
530);
531
532typedef PVOID
533(NTAPI *PRTL_REALLOCATE_STRING_ROUTINE)(
536);
537
538typedef
539VOID
542);
543
544extern const PRTL_ALLOCATE_STRING_ROUTINE RtlAllocateStringRoutine;
546extern const PRTL_REALLOCATE_STRING_ROUTINE RtlReallocateStringRoutine;
547
548#endif /* NTOS_MODE_USER */
549
550//
551// Unhandled Exception Filter
552//
553typedef ULONG
554(NTAPI RTLP_UNHANDLED_EXCEPTION_FILTER)(
555 _In_ struct _EXCEPTION_POINTERS *ExceptionInfo
556);
557typedef RTLP_UNHANDLED_EXCEPTION_FILTER *PRTLP_UNHANDLED_EXCEPTION_FILTER;
558
559//
560// Callback for RTL Heap Enumeration
561//
562typedef NTSTATUS
564 _In_ PVOID HeapHandle,
565 _In_ PVOID UserParam
566);
567
568//
569// Thread and Process Start Routines for RtlCreateUserThread/Process
570//
573);
574
575typedef VOID
577 PTHREAD_START_ROUTINE StartAddress,
579);
580
581//
582// Worker Start/Exit Function
583//
584typedef NTSTATUS
588 _Out_ PHANDLE ThreadHandle
589);
590
591typedef NTSTATUS
594);
595
596//
597// Declare empty structure definitions so that they may be referenced by
598// routines before they are defined
599//
600struct _RTL_AVL_TABLE;
601struct _RTL_GENERIC_TABLE;
602struct _RTL_RANGE;
603
604//
605// Routines and callbacks for the RTL AVL/Generic Table package
606//
607#ifdef NTOS_MODE_USER
608typedef NTSTATUS
609(NTAPI RTL_AVL_MATCH_FUNCTION)(
610 struct _RTL_AVL_TABLE *Table,
613);
614typedef RTL_AVL_MATCH_FUNCTION *PRTL_AVL_MATCH_FUNCTION;
615
617(NTAPI RTL_AVL_COMPARE_ROUTINE) (
618 struct _RTL_AVL_TABLE *Table,
621);
622typedef RTL_AVL_COMPARE_ROUTINE *PRTL_AVL_COMPARE_ROUTINE;
623
625(NTAPI RTL_GENERIC_COMPARE_ROUTINE) (
629);
630typedef RTL_GENERIC_COMPARE_ROUTINE *PRTL_GENERIC_COMPARE_ROUTINE;
631
632typedef PVOID
633(NTAPI RTL_GENERIC_ALLOCATE_ROUTINE) (
636);
637typedef RTL_GENERIC_ALLOCATE_ROUTINE *PRTL_GENERIC_ALLOCATE_ROUTINE;
638
639typedef PVOID
640(NTAPI RTL_AVL_ALLOCATE_ROUTINE) (
641 struct _RTL_AVL_TABLE *Table,
643);
644typedef RTL_AVL_ALLOCATE_ROUTINE *PRTL_AVL_ALLOCATE_ROUTINE;
645
646typedef VOID
647(NTAPI RTL_GENERIC_FREE_ROUTINE) (
650);
651typedef RTL_GENERIC_FREE_ROUTINE *PRTL_GENERIC_FREE_ROUTINE;
652
653typedef VOID
654(NTAPI RTL_AVL_FREE_ROUTINE) (
655 struct _RTL_AVL_TABLE *Table,
657);
658typedef RTL_AVL_FREE_ROUTINE *PRTL_AVL_FREE_ROUTINE;
659
660#ifdef RTL_USE_AVL_TABLES
661#undef RTL_GENERIC_COMPARE_ROUTINE
662#undef PRTL_GENERIC_COMPARE_ROUTINE
663#undef RTL_GENERIC_ALLOCATE_ROUTINE
664#undef PRTL_GENERIC_ALLOCATE_ROUTINE
665#undef RTL_GENERIC_FREE_ROUTINE
666#undef PRTL_GENERIC_FREE_ROUTINE
667
668#define RTL_GENERIC_COMPARE_ROUTINE RTL_AVL_COMPARE_ROUTINE
669#define PRTL_GENERIC_COMPARE_ROUTINE PRTL_AVL_COMPARE_ROUTINE
670#define RTL_GENERIC_ALLOCATE_ROUTINE RTL_AVL_ALLOCATE_ROUTINE
671#define PRTL_GENERIC_ALLOCATE_ROUTINE PRTL_AVL_ALLOCATE_ROUTINE
672#define RTL_GENERIC_FREE_ROUTINE RTL_AVL_FREE_ROUTINE
673#define PRTL_GENERIC_FREE_ROUTINE PRTL_AVL_FREE_ROUTINE
674#endif /* RTL_USE_AVL_TABLES */
675
676#endif /* NTOS_MODE_USER */
677
678//
679// RTL Query Registry callback
680//
681#ifdef NTOS_MODE_USER
682typedef NTSTATUS
690);
691#endif
692
693//
694// RTL Secure Memory callbacks
695//
696#ifdef NTOS_MODE_USER
697typedef NTSTATUS
698(NTAPI *PRTL_SECURE_MEMORY_CACHE_CALLBACK)(
701);
702#endif
703
704//
705// RTL Range List callbacks
706//
707typedef BOOLEAN
710 struct _RTL_RANGE *Range
711);
712
713//
714// Custom Heap Commit Routine for RtlCreateHeap
715//
716#ifdef NTOS_MODE_USER
717typedef NTSTATUS
722);
723
724//
725// Parameters for RtlCreateHeap
726//
727typedef struct _RTL_HEAP_PARAMETERS
728{
739 SIZE_T Reserved[2];
741
742//
743// RTL Bitmap structures
744//
745typedef struct _RTL_BITMAP
746{
750
751typedef struct _RTL_BITMAP_RUN
752{
756
757//
758// RtlGenerateXxxName context
759//
760typedef struct _GENERATE_NAME_CONTEXT
761{
764 UCHAR NameLength;
765 WCHAR NameBuffer[8];
766 ULONG ExtensionLength;
770
771//
772// RTL Splay and Balanced Links structures
773//
774typedef struct _RTL_SPLAY_LINKS
775{
776 struct _RTL_SPLAY_LINKS *Parent;
780
781typedef struct _RTL_BALANCED_LINKS
782{
787 UCHAR Reserved[3];
789
790//
791// RTL Avl/Generic Tables
792//
793#ifndef RTL_USE_AVL_TABLES
794typedef struct _RTL_GENERIC_TABLE
795{
806#endif /* !RTL_USE_AVL_TABLES */
807
808typedef struct _RTL_AVL_TABLE
809{
822
823#ifdef RTL_USE_AVL_TABLES
824#undef RTL_GENERIC_TABLE
825#undef PRTL_GENERIC_TABLE
826
827#define RTL_GENERIC_TABLE RTL_AVL_TABLE
828#define PRTL_GENERIC_TABLE PRTL_AVL_TABLE
829#endif /* RTL_USE_AVL_TABLES */
830
831//
832// RTL Compression Buffer
833//
834typedef struct _COMPRESSED_DATA_INFO {
843
844//
845// RtlQueryRegistry Data
846//
847typedef struct _RTL_QUERY_REGISTRY_TABLE
848{
850 ULONG Flags;
851 PCWSTR Name;
857
858//
859// RTL Unicode Table Structures
860//
861typedef struct _UNICODE_PREFIX_TABLE_ENTRY
862{
870
871typedef struct _UNICODE_PREFIX_TABLE
872{
878
879//
880// Pfx* routines' table structures
881//
882typedef struct _PREFIX_TABLE_ENTRY
883{
890
891typedef struct _PREFIX_TABLE
892{
897
898//
899// Time Structure for RTL Time calls
900//
901typedef struct _TIME_FIELDS
902{
903 CSHORT Year;
905 CSHORT Day;
906 CSHORT Hour;
912
913//
914// Activation Context Frame
915//
917{
920 ULONG Flags;
922
923typedef struct _RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_BASIC
924{
925 SIZE_T Size;
928} RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_BASIC, *PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_BASIC;
929
930typedef struct _RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED
931{
932 SIZE_T Size;
935 PVOID Extra1;
936 PVOID Extra2;
937 PVOID Extra3;
938 PVOID Extra4;
939} RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED, *PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED;
940
941typedef RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME;
942typedef PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME;
943
944typedef struct _RTL_HEAP_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME
945{
948 PVOID ActivationStackBackTrace[8];
949} RTL_HEAP_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME, *PRTL_HEAP_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME;
950
951typedef struct _ACTIVATION_CONTEXT_DATA
952{
953 ULONG Magic;
954 ULONG HeaderSize;
955 ULONG FormatVersion;
956 ULONG TotalSize;
957 ULONG DefaultTocOffset;
958 ULONG ExtendedTocOffset;
959 ULONG AssemblyRosterOffset;
960 ULONG Flags;
961} ACTIVATION_CONTEXT_DATA, *PACTIVATION_CONTEXT_DATA;
962
963typedef struct _ACTIVATION_CONTEXT_STACK_FRAMELIST
964{
965 ULONG Magic;
966 ULONG FramesInUse;
967 LIST_ENTRY Links;
968 ULONG Flags;
969 ULONG NotFramesInUse;
970 RTL_HEAP_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME Frames[32];
971} ACTIVATION_CONTEXT_STACK_FRAMELIST, *PACTIVATION_CONTEXT_STACK_FRAMELIST;
972
973#endif /* NTOS_MODE_USER */
974
975#if (NTDDI_VERSION >= NTDDI_WS03SP1)
977{
984#else
985typedef struct _ACTIVATION_CONTEXT_STACK
986{
987 ULONG Flags;
992#endif
993
994//
995// ACE Structure
996//
997typedef struct _ACE
998{
1002
1003//
1004// Information Structures for RTL Debug Functions
1005//
1007{
1019
1021{
1025
1027{
1034
1036{
1041
1043{
1050
1051typedef struct _RTL_HEAP_USAGE
1052{
1063
1065{
1071 union
1072 {
1073 struct
1074 {
1080 struct
1081 {
1087 };
1089
1090typedef struct _RTL_HEAP_ENTRY
1091{
1095 union
1096 {
1097 struct
1098 {
1102 struct
1103 {
1107 } u;
1109
1110typedef struct _RTL_HEAP_TAG
1111{
1119
1121{
1136
1138{
1142
1144{
1156
1158{
1162
1164{
1171
1173{
1180
1182{
1186 //
1187 // Option array continues below
1188 //
1190
1192{
1205 union
1206 {
1209 };
1221
1222//
1223// Fiber local storage data
1224//
1225#define RTL_FLS_MAXIMUM_AVAILABLE 128
1226typedef struct _RTL_FLS_DATA
1227{
1231
1232
1233//
1234// Unload Event Trace Structure for RtlGetUnloadEventTrace
1235//
1236#define RTL_UNLOAD_EVENT_TRACE_NUMBER 16
1237
1238typedef struct _RTL_UNLOAD_EVENT_TRACE
1239{
1245 WCHAR ImageName[32];
1247
1248//
1249// RTL Handle Structures
1250//
1252{
1253 union
1254 {
1257 };
1259
1260typedef struct _RTL_HANDLE_TABLE
1261{
1270
1271//
1272// RTL Boot Status Data Item
1273//
1274typedef struct _RTL_BSD_ITEM
1275{
1280
1281//
1282// Data Sub-Structures for "bootstat.dat" RTL Data File
1283//
1285{
1287 struct
1288 {
1303
1305{
1312
1314{
1319 struct
1320 {
1333
1335{
1341
1343{
1344 /* FIXME: We currently have no idea of what fields does this structure have yet */
1347
1348//
1349// Main Structure for "bootstat.dat" RTL Data File
1350//
1351typedef struct _RTL_BSD_DATA
1352{
1353 ULONG Version; // RtlBsdItemVersionNumber
1354 ULONG ProductType; // RtlBsdItemProductType
1355 BOOLEAN AabEnabled; // RtlBsdItemAabEnabled
1356 UCHAR AabTimeout; // RtlBsdItemAabTimeout
1357 BOOLEAN LastBootSucceeded; // RtlBsdItemBootGood
1358 BOOLEAN LastBootShutdown; // RtlBsdItemBootShutdown
1359 BOOLEAN SleepInProgress; // RtlBsdSleepInProgress
1361 UCHAR BootAttemptCount; // RtlBsdItemBootAttemptCount
1362 UCHAR LastBootCheckpoint; // RtlBsdItemBootCheckpoint
1363 UCHAR Checksum; // RtlBsdItemChecksum
1364 ULONG LastBootId; // RtlBsdItemBootId
1365 ULONG LastSuccessfulShutdownBootId; // RtlBsdItemShutdownBootId
1366 ULONG LastReportedAbnormalShutdownBootId; // RtlBsdItemReportedAbnormalShutdownBootId
1367 ULONG ItemFeatureConfigState; // RtlBsdItemFeatureConfigurationState
1368 RTL_BSD_DATA_ERROR_INFO ErrorInfo; // RtlBsdItemErrorInfo
1371 RTL_BSD_ITEM_REVOCATION_LIST ItemRevocationList; // RtlBsdItemRevocationListInfo
1373
1374#ifdef NTOS_MODE_USER
1375//
1376// Exception Record
1377//
1378typedef struct _EXCEPTION_REGISTRATION_RECORD
1379{
1383#endif /* NTOS_MODE_USER */
1384
1385//
1386// Current Directory Structures
1387//
1388typedef struct _CURDIR
1389{
1393
1394typedef struct _RTLP_CURDIR_REF
1395{
1399
1401{
1406
1408{
1414
1416{
1421
1422typedef struct _RTL_ACE_DATA
1423{
1430
1431//
1432// Private State structure for RtlAcquirePrivilege/RtlReleasePrivilege
1433//
1435{
1443
1444#ifndef NTOS_MODE_USER
1445
1446//
1447// RTL Critical Section Structures
1448//
1450{
1457 union
1458 {
1461 struct
1462 {
1466 };
1467 };
1469
1470#ifdef _WIN64
1471C_ASSERT(sizeof(RTL_CRITICAL_SECTION_DEBUG) == 0x30);
1472#else
1474#endif
1475
1477{
1485
1486#endif /* !NTOS_MODE_USER */
1487
1488//
1489// RTL Private Heap Structures
1490//
1491typedef struct _HEAP_LOCK
1492{
1493 union
1494 {
1496#ifndef NTOS_MODE_USER
1498#endif
1499 UCHAR Padding[0x68]; /* Max ERESOURCE size for x64 build. Needed because RTL is built only once */
1500 };
1502
1503//
1504// RTL Range List Structures
1505//
1506typedef struct _RTL_RANGE_LIST
1507{
1513
1514typedef struct _RTL_RANGE
1515{
1523
1525{
1531
1533{
1536 union
1537 {
1538 struct
1539 {
1543 struct
1544 {
1547 };
1554
1555//
1556// RTL Resource
1557//
1558#define RTL_RESOURCE_FLAG_LONG_TERM ((ULONG)0x00000001)
1559
1560typedef struct _RTL_RESOURCE
1561{
1572
1573//
1574// Structures for RtlCreateUserProcess
1575//
1576typedef struct _RTL_USER_PROCESS_PARAMETERS
1577{
1606#if (NTDDI_VERSION >= NTDDI_LONGHORN) || defined(__REACTOS__)
1608#endif
1609#if (NTDDI_VERSION >= NTDDI_WIN7)
1611#endif
1613
1615{
1622
1623#if (NTDDI_VERSION >= NTDDI_WIN7)
1624
1626{
1631
1633{
1635#if (NTDDI_VERSION < NTDDI_WIN8)
1636 UMSCTX_HAS_QUANTUM_REQ_BIT,
1637 UMSCTX_HAS_AFFINITY_REQ_BIT,
1638 UMSCTX_HAS_PRIORITY_REQ_BIT,
1639#endif
1646
1648
1649#define UMSCTX_SCHEDULED_THREAD_MASK (1 << UMSCTX_SCHEDULED_THREAD_BIT)
1650#define UMSCTX_SUSPENDED_MASK (1 << UMSCTX_SUSPENDED_BIT)
1651#define UMSCTX_VOLATILE_CONTEXT_MASK (1 << UMSCTX_VOLATILE_CONTEXT_BIT)
1652#define UMSCTX_TERMINATED_MASK (1 << UMSCTX_TERMINATED_BIT)
1653#define UMSCTX_DEBUG_ACTIVE_MASK (1 << UMSCTX_DEBUG_ACTIVE_BIT)
1654#define UMSCTX_RUNNING_ON_SELF_THREAD_MASK (1 << UMSCTX_RUNNING_ON_SELF_THREAD_BIT)
1655#define UMSCTX_DENY_RUNNING_ON_SELF_THREAD_MASK (1 << UMSCTX_DENY_RUNNING_ON_SELF_THREAD_BIT)
1656
1657//
1658// UMS Context
1659//
1660typedef struct DECLSPEC_ALIGN(16) _RTL_UMS_CONTEXT
1661{
1664 PVOID Teb;
1665 PVOID UserContext;
1666 union
1667 {
1668 struct
1669 {
1670 ULONG ScheduledThread : 1;
1671#if (NTDDI_VERSION < NTDDI_WIN8)
1672 ULONG HasQuantumReq : 1;
1673 ULONG HasAffinityReq : 1;
1674 ULONG HasPriorityReq : 1;
1675#endif
1676 ULONG Suspended : 1;
1677 ULONG VolatileContext : 1;
1678 ULONG Terminated : 1;
1679 ULONG DebugActive : 1;
1680 ULONG RunningOnSelfThread : 1;
1681 ULONG DenyRunningOnSelfThread : 1;
1682#if (NTDDI_VERSION < NTDDI_WIN8)
1683 ULONG ReservedFlags : 22;
1684#endif
1685 };
1686 LONG Flags;
1687 };
1688 union
1689 {
1690 struct
1691 {
1692#if (NTDDI_VERSION >= NTDDI_WIN8)
1693 ULONG64 KernelUpdateLock : 2;
1694#else
1695 ULONG64 KernelUpdateLock : 1;
1696 ULONG64 Reserved : 1;
1697#endif
1698 ULONG64 PrimaryClientID : 62;
1699 };
1700 ULONG64 ContextLock;
1701 };
1702#if (NTDDI_VERSION < NTDDI_WIN8)
1703 ULONG64 QuantumValue;
1704 GROUP_AFFINITY AffinityMask;
1705 LONG Priority;
1706#endif
1707 struct _RTL_UMS_CONTEXT* PrimaryUmsContext;
1708 ULONG SwitchCount;
1709 ULONG KernelYieldCount;
1710 ULONG MixedYieldCount;
1711 ULONG YieldCount;
1713#endif // #if (NTDDI_VERSION >= NTDDI_WIN7)
1714
1715//
1716// RTL Atom Table Structures
1717//
1719{
1728
1729typedef struct _RTL_ATOM_TABLE
1730{
1732 union
1733 {
1734#ifdef NTOS_MODE_USER
1736#else
1738#endif
1739 };
1740 union
1741 {
1742#ifdef NTOS_MODE_USER
1743 RTL_HANDLE_TABLE RtlHandleTable;
1744#else
1746#endif
1747 };
1751
1752//
1753// Timezone Information
1754//
1756{
1765
1766//
1767// Hotpatch Header
1768//
1769typedef struct _RTL_PATCH_HEADER
1770{
1776 struct _HOTPATCH_HEADER *HotpatchHeader;
1783
1784//
1785// Header for NLS Files
1786//
1787typedef struct _NLS_FILE_HEADER
1788{
1798
1799//
1800// Stack Traces
1801//
1803{
1810
1811
1813{
1814 union
1815 {
1817
1818 /* Padding for ERESOURCE */
1819#ifdef _WIN64
1820 UCHAR Padding[0x68];
1821#else
1823#endif
1825
1827
1831
1834
1838
1842
1843// Validate that our padding is big enough:
1844#ifndef NTOS_MODE_USER
1845#ifdef _WIN64
1846C_ASSERT(sizeof(ERESOURCE) <= 0x68);
1847#else
1848C_ASSERT(sizeof(ERESOURCE) <= 56);
1849#endif
1850#endif
1851
1852
1853//
1854// Trace Database
1855//
1856
1858
1859typedef struct _RTL_TRACE_BLOCK
1860{
1870
1872{
1880#ifdef NTOS_MODE_USER
1882#else
1883 union
1884 {
1887 } u;
1888#endif
1896
1898{
1907
1909{
1914
1915//
1916// Auto-Managed Rtl* String Buffer
1917//
1918typedef struct _RTL_BUFFER
1919{
1927
1929{
1934
1935#ifndef NTOS_MODE_USER
1936
1937#ifndef MAKEINTRESOURCE
1938#define MAKEINTRESOURCE(i) ((ULONG_PTR)(USHORT)(i))
1939#endif
1940
1941/* Predefined Resource Types */
1942#ifndef RT_STRING
1943#define RT_STRING MAKEINTRESOURCE(6)
1944#endif
1945#ifndef RT_MESSAGETABLE
1946#define RT_MESSAGETABLE MAKEINTRESOURCE(11)
1947#endif
1948
1949//
1950// Message Resource Flag
1951//
1952#define MESSAGE_RESOURCE_UNICODE 0x0001
1953
1954//
1955// Message Resource Entry, Block and Data
1956//
1958{
1963
1965{
1970
1972{
1976
1977#ifdef _M_AMD64
1978
1979typedef struct _KNONVOLATILE_CONTEXT_POINTERS {
1980 union {
1981 PM128A FloatingContext[16];
1982 struct {
1983 PM128A Xmm0;
1984 PM128A Xmm1;
1985 PM128A Xmm2;
1986 PM128A Xmm3;
1987 PM128A Xmm4;
1988 PM128A Xmm5;
1989 PM128A Xmm6;
1990 PM128A Xmm7;
1991 PM128A Xmm8;
1992 PM128A Xmm9;
1993 PM128A Xmm10;
1994 PM128A Xmm11;
1995 PM128A Xmm12;
1996 PM128A Xmm13;
1997 PM128A Xmm14;
1998 PM128A Xmm15;
2001
2002 union {
2003 PULONG64 IntegerContext[16];
2004 struct {
2005 PULONG64 Rax;
2006 PULONG64 Rcx;
2007 PULONG64 Rdx;
2008 PULONG64 Rbx;
2009 PULONG64 Rsp;
2010 PULONG64 Rbp;
2011 PULONG64 Rsi;
2012 PULONG64 Rdi;
2013 PULONG64 R8;
2014 PULONG64 R9;
2015 PULONG64 R10;
2016 PULONG64 R11;
2017 PULONG64 R12;
2018 PULONG64 R13;
2019 PULONG64 R14;
2020 PULONG64 R15;
2023} KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS;
2024
2025#define UNW_FLAG_NHANDLER 0x0
2026#define UNW_FLAG_EHANDLER 0x1
2027#define UNW_FLAG_UHANDLER 0x2
2028#define UNW_FLAG_CHAININFO 0x4
2029#define UNW_FLAG_NO_EPILOGUE 0x80000000UL
2030
2031#define RUNTIME_FUNCTION_INDIRECT 0x1
2032
2033typedef struct _RUNTIME_FUNCTION {
2034 ULONG BeginAddress;
2035 ULONG EndAddress;
2036 ULONG UnwindData;
2037} RUNTIME_FUNCTION, *PRUNTIME_FUNCTION;
2038
2039#define UNWIND_HISTORY_TABLE_SIZE 12
2040
2041typedef struct _UNWIND_HISTORY_TABLE_ENTRY
2042{
2046
2047typedef struct _UNWIND_HISTORY_TABLE
2048{
2049 ULONG Count;
2052 UCHAR Search;
2053 UCHAR Once;
2058
2059#endif /* _M_AMD64 */
2060
2061#endif /* !NTOS_MODE_USER */
2062
2063#ifdef NTOS_MODE_USER
2064
2065//
2066// Memory Stream
2067//
2068#ifndef CONST_VTBL
2069#ifdef CONST_VTABLE
2070#define CONST_VTBL const
2071#else
2072#define CONST_VTBL
2073#endif
2074#endif
2075
2076struct IStreamVtbl;
2077struct IStream;
2078struct tagSTATSTG;
2079
2080typedef struct _RTL_MEMORY_STREAM RTL_MEMORY_STREAM, *PRTL_MEMORY_STREAM;
2081
2082typedef VOID
2083(NTAPI *PRTL_MEMORY_STREAM_FINAL_RELEASE_ROUTINE)(
2084 _In_ PRTL_MEMORY_STREAM Stream
2085);
2086
2087struct _RTL_MEMORY_STREAM
2088{
2089 CONST_VTBL struct IStreamVtbl *Vtbl;
2090 LONG RefCount;
2091 ULONG Unk1;
2092 PVOID Current;
2093 PVOID Start;
2094 PVOID End;
2095 PRTL_MEMORY_STREAM_FINAL_RELEASE_ROUTINE FinalRelease;
2097};
2098
2099#endif /* NTOS_MODE_USER */
2100
2101#ifdef __cplusplus
2102}
2103#endif
2104
2105#endif /* !_RTLTYPES_H */
static _Out_opt_ PULONGLONG Start
#define VOID
Definition: acefi.h:82
unsigned char BOOLEAN
Definition: actypes.h:127
@ 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
_In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ ULONG _In_ ULONG Flags
Definition: dispmprt.h:245
#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
#define DECLSPEC_ALIGN(x)
Definition: corecrt.h:141
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
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
#define C_ASSERT(e)
Definition: intsafe.h:73
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 ULONG64
Definition: imports.h:198
unsigned __int64 * PULONG64
Definition: imports.h:198
struct tagUserData UserData
static IStream Stream
Definition: htmldoc.c:1115
static PRUNTIME_FUNCTION(WINAPI *pRtlLookupFunctionEntry)(ULONG_PTR
@ Terminated
Definition: ketypes.h:411
_In_ HANDLE ProcessHandle
Definition: mmfuncs.h:407
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize _Pre_valid_ PVOID _In_ ULONG_PTR _In_ SIZE_T CommitSize
Definition: mmfuncs.h:410
_In_ NTSTATUS ExitStatus
Definition: psfuncs.h:890
_In_ PCWSTR _Inout_ _At_ QueryTable EntryContext
Definition: rtlfuncs.h:4230
_In_opt_ ULONG Base
Definition: rtlfuncs.h:2486
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:585
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:492
@ HeapEnableTerminationOnCorruption
Definition: rtltypes.h:494
@ HeapCompatibilityInformation
Definition: rtltypes.h:493
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_BSD_ITEM_REVOCATION_LIST RTL_BSD_ITEM_REVOCATION_LIST
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:563
* PRTL_UMS_CONTEXT
Definition: rtltypes.h:1712
VOID(NTAPI * PRTL_BASE_PROCESS_START_ROUTINE)(PTHREAD_START_ROUTINE StartAddress, PVOID Parameter)
Definition: rtltypes.h:576
struct _RTL_BSD_DATA_POWER_TRANSITION_EXTENSION RTL_BSD_DATA_POWER_TRANSITION_EXTENSION
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:363
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_ACE_DATA RTL_ACE_DATA
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:592
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:571
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:1857
enum _HEAP_INFORMATION_CLASS HEAP_INFORMATION_CLASS
Definition: heap.c:57
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:1712
VOID(NTAPI * WAITORTIMERCALLBACKFUNC)(PVOID pvContext, BOOLEAN fTimerOrWaitFired)
Definition: rtltypes.h:501
struct _RTLP_RANGE_LIST_ENTRY * PRTLP_RANGE_LIST_ENTRY
LONG(NTAPI * PVECTORED_EXCEPTION_HANDLER)(PEXCEPTION_POINTERS ExceptionPointers)
Definition: rtltypes.h:510
#define RTL_FLS_MAXIMUM_AVAILABLE
Definition: rtltypes.h:1225
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:708
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 _RTL_BSD_ITEM_REVOCATION_LIST * PRTL_BSD_ITEM_REVOCATION_LIST
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:557
_RTL_UMSCTX_FLAGS
Definition: rtltypes.h:1633
@ UMSCTX_SUSPENDED_BIT
Definition: rtltypes.h:1640
@ UMSCTX_TERMINATED_BIT
Definition: rtltypes.h:1642
@ UMSCTX_VOLATILE_CONTEXT_BIT
Definition: rtltypes.h:1641
@ UMSCTX_RUNNING_ON_SELF_THREAD_BIT
Definition: rtltypes.h:1644
@ UMSCTX_SCHEDULED_THREAD_BIT
Definition: rtltypes.h:1634
@ UMSCTX_DEBUG_ACTIVE_BIT
Definition: rtltypes.h:1643
@ UMSCTX_DENY_RUNNING_ON_SELF_THREAD_BIT
Definition: rtltypes.h:1645
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:475
@ RtlPathTypeRootLocalDevice
Definition: rtltypes.h:483
@ RtlPathTypeDriveRelative
Definition: rtltypes.h:479
@ RtlPathTypeRelative
Definition: rtltypes.h:481
@ RtlPathTypeUncAbsolute
Definition: rtltypes.h:477
@ RtlPathTypeRooted
Definition: rtltypes.h:480
@ RtlPathTypeLocalDevice
Definition: rtltypes.h:482
@ RtlPathTypeDriveAbsolute
Definition: rtltypes.h:478
@ RtlPathTypeUnknown
Definition: rtltypes.h:476
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
struct _RTL_ACE_DATA * PRTL_ACE_DATA
#define HEAP_CREATE_VALID_MASK
Definition: rtltypes.h:181
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:427
@ RtlBsdItemProductType
Definition: rtltypes.h:429
@ RtlBsdItemVersionNumber
Definition: rtltypes.h:428
@ RtlBsdItemReportedAbnormalShutdownBootId
Definition: rtltypes.h:440
@ RtlBsdItemAabTimeout
Definition: rtltypes.h:431
@ RtlBsdItemErrorInfo
Definition: rtltypes.h:441
@ RtlBsdItemAabEnabled
Definition: rtltypes.h:430
@ RtlBsdItemBootCheckpoint
Definition: rtltypes.h:437
@ RtlBsdItemRevocationListInfo
Definition: rtltypes.h:446
@ RtlBsdPowerTransition
Definition: rtltypes.h:435
@ RtlBsdItemChecksum
Definition: rtltypes.h:443
@ RtlBsdSleepInProgress
Definition: rtltypes.h:434
@ RtlBsdItemMax
Definition: rtltypes.h:447
@ RtlBsdItemBootShutdown
Definition: rtltypes.h:433
@ RtlBsdItemShutdownBootId
Definition: rtltypes.h:439
@ RtlBsdItemBootAttemptCount
Definition: rtltypes.h:436
@ RtlBsdItemFeatureConfigurationState
Definition: rtltypes.h:445
@ RtlBsdItemBootGood
Definition: rtltypes.h:432
@ RtlBsdItemPowerButtonPressInfo
Definition: rtltypes.h:442
@ RtlBsdPowerTransitionExtension
Definition: rtltypes.h:444
@ RtlBsdItemBootId
Definition: rtltypes.h:438
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_POWER_TRANSITION_EXTENSION * PRTL_BSD_DATA_POWER_TRANSITION_EXTENSION
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:1626
@ UmsSchedulerThreadBlocked
Definition: rtltypes.h:1628
@ UmsSchedulerThreadYield
Definition: rtltypes.h:1629
@ UmsSchedulerStartup
Definition: rtltypes.h:1627
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:518
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
struct _RTL_QUERY_REGISTRY_TABLE * PRTL_QUERY_REGISTRY_TABLE
Definition: reg.c:131
ULONG ACCESS_MASK
Definition: nt_native.h:40
struct _RTL_HEAP_PARAMETERS * PRTL_HEAP_PARAMETERS
struct _RTL_QUERY_REGISTRY_TABLE RTL_QUERY_REGISTRY_TABLE
#define NLS_MB_CODE_PAGE_TAG
Definition: nt_native.h:212
struct _RTL_HEAP_PARAMETERS RTL_HEAP_PARAMETERS
#define RTL_SIZEOF_THROUGH_FIELD(type, field)
Definition: ntbasedef.h:684
_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 DUMMYUNIONNAME2
Definition: pecoff.h:93
#define DUMMYUNIONNAME
Definition: pecoff.h:91
#define DUMMYSTRUCTNAME
Definition: pecoff.h:117
short WCHAR
Definition: pedump.c:58
#define BOOLEAN
Definition: pedump.c:73
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
char CHAR
Definition: pedump.c:57
static WCHAR Address[46]
Definition: ping.c:68
struct _UNWIND_HISTORY_TABLE_ENTRY * PUNWIND_HISTORY_TABLE_ENTRY
struct _UNWIND_HISTORY_TABLE_ENTRY UNWIND_HISTORY_TABLE_ENTRY
struct _UNWIND_HISTORY_TABLE UNWIND_HISTORY_TABLE
#define UNWIND_HISTORY_TABLE_SIZE
Definition: rtlsupportapi.h:36
struct _UNWIND_HISTORY_TABLE * PUNWIND_HISTORY_TABLE
_In_ PVOID Context
Definition: storport.h:2269
Definition: rtltypes.h:998
ACE_HEADER Header
Definition: rtltypes.h:999
ACCESS_MASK AccessMask
Definition: rtltypes.h:1000
LIST_ENTRY FrameListCache
Definition: rtltypes.h:979
struct _RTL_ACTIVATION_CONTEXT_STACK_FRAME * ActiveFrame
Definition: rtltypes.h:978
UCHAR CompressionUnitShift
Definition: rtltypes.h:661
USHORT CompressionFormatAndEngine
Definition: rtltypes.h:660
ULONG CompressedChunkSizes[ANYSIZE_ARRAY]
Definition: rtltypes.h:666
HANDLE Handle
Definition: rtltypes.h:1391
UNICODE_STRING DosPath
Definition: rtltypes.h:1390
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:1499
RTL_CRITICAL_SECTION CriticalSection
Definition: rtltypes.h:1495
ERESOURCE Resource
Definition: rtltypes.h:1497
Definition: btrfs_drv.h:1876
Definition: typedefs.h:120
MESSAGE_RESOURCE_BLOCK Blocks[ANYSIZE_ARRAY]
Definition: rtltypes.h:1974
Definition: rtltypes.h:1958
UCHAR Text[ANYSIZE_ARRAY]
Definition: rtltypes.h:1961
USHORT Flags
Definition: rtltypes.h:1960
USHORT Length
Definition: rtltypes.h:1959
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:1526
PLIST_ENTRY MergedHead
Definition: rtltypes.h:1527
Definition: rtltypes.h:1533
UCHAR PublicFlags
Definition: rtltypes.h:1549
PVOID Owner
Definition: rtltypes.h:1541
ULONGLONG End
Definition: rtltypes.h:1535
UCHAR Attributes
Definition: rtltypes.h:1548
struct _RTLP_RANGE_LIST_ENTRY::@3172::@3174 Allocated
LIST_ENTRY ListEntry
Definition: rtltypes.h:1551
USHORT PrivateFlags
Definition: rtltypes.h:1550
struct _RTLP_RANGE_LIST_ENTRY::@3172::@3175 Merged
PVOID UserData
Definition: rtltypes.h:1540
ULONGLONG Start
Definition: rtltypes.h:1534
LIST_ENTRY ListHead
Definition: rtltypes.h:1545
UCHAR AceFlags
Definition: rtltypes.h:1426
UCHAR AceType
Definition: rtltypes.h:1424
UCHAR InheritFlags
Definition: rtltypes.h:1425
ACCESS_MASK Mask
Definition: rtltypes.h:1427
PSID * Sid
Definition: rtltypes.h:1428
HANDLE OldImpersonationToken
Definition: rtltypes.h:1437
UCHAR OldPrivBuffer[1024]
Definition: rtltypes.h:1441
PTOKEN_PRIVILEGES NewPrivileges
Definition: rtltypes.h:1439
PTOKEN_PRIVILEGES OldPrivileges
Definition: rtltypes.h:1438
struct _ACTIVATION_CONTEXT * ActivationContext
Definition: winternl.h:324
struct _RTL_ACTIVATION_CONTEXT_STACK_FRAME * Previous
Definition: winternl.h:323
Definition: rtltypes.h:1719
UCHAR NameLength
Definition: rtltypes.h:1725
USHORT Atom
Definition: rtltypes.h:1722
UCHAR Flags
Definition: rtltypes.h:1724
WCHAR Name[1]
Definition: rtltypes.h:1726
USHORT ReferenceCount
Definition: rtltypes.h:1723
USHORT HandleIndex
Definition: rtltypes.h:1721
struct _RTL_ATOM_TABLE_ENTRY * HashLink
Definition: rtltypes.h:1720
PRTL_ATOM_TABLE_ENTRY Buckets[1]
Definition: rtltypes.h:1749
FAST_MUTEX FastMutex
Definition: rtltypes.h:1737
RTL_CRITICAL_SECTION CriticalSection
Definition: winternl.h:3388
PHANDLE_TABLE ExHandleTable
Definition: rtltypes.h:1745
ULONG NumberOfBuckets
Definition: rtltypes.h:1748
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:1299
LARGE_INTEGER PowerButtonTimestamp
Definition: rtltypes.h:1286
struct _RTL_BSD_DATA_POWER_TRANSITION::@3164 Flags
UCHAR AabTimeout
Definition: rtltypes.h:1356
RTL_BSD_ITEM_REVOCATION_LIST ItemRevocationList
Definition: rtltypes.h:1371
RTL_BSD_POWER_BUTTON_PRESS_INFO PowerButtonPressInfo
Definition: rtltypes.h:1369
ULONG ProductType
Definition: rtltypes.h:1354
BOOLEAN LastBootShutdown
Definition: rtltypes.h:1358
ULONG LastSuccessfulShutdownBootId
Definition: rtltypes.h:1365
ULONG ItemFeatureConfigState
Definition: rtltypes.h:1367
RTL_BSD_DATA_ERROR_INFO ErrorInfo
Definition: rtltypes.h:1368
UCHAR BootAttemptCount
Definition: rtltypes.h:1361
UCHAR LastBootCheckpoint
Definition: rtltypes.h:1362
BOOLEAN SleepInProgress
Definition: rtltypes.h:1359
ULONG LastBootId
Definition: rtltypes.h:1364
RTL_BSD_DATA_POWER_TRANSITION_EXTENSION PowerTransitionExtension
Definition: rtltypes.h:1370
BOOLEAN LastBootSucceeded
Definition: rtltypes.h:1357
ULONG LastReportedAbnormalShutdownBootId
Definition: rtltypes.h:1366
BOOLEAN AabEnabled
Definition: rtltypes.h:1355
UCHAR Checksum
Definition: rtltypes.h:1363
ULONG Version
Definition: rtltypes.h:1353
RTL_BSD_DATA_POWER_TRANSITION PowerTransition
Definition: rtltypes.h:1360
ULONG DataLength
Definition: rtltypes.h:1278
RTL_BSD_ITEM_TYPE Type
Definition: rtltypes.h:1276
PVOID DataBuffer
Definition: rtltypes.h:1277
struct _RTL_BSD_POWER_BUTTON_PRESS_INFO::@3165 Flags
SIZE_T StaticSize
Definition: rtltypes.h:1923
PUCHAR StaticBuffer
Definition: rtltypes.h:1921
PVOID ReservedForIMalloc
Definition: rtltypes.h:1925
SIZE_T ReservedForAllocatedSize
Definition: rtltypes.h:1924
PUCHAR Buffer
Definition: rtltypes.h:1920
SIZE_T Size
Definition: rtltypes.h:1922
struct _RTL_CRITICAL_SECTION * CriticalSection
Definition: rtltypes.h:1453
PRTL_CRITICAL_SECTION_DEBUG DebugInfo
Definition: rtltypes.h:1478
PRTL_PROCESS_VERIFIER_OPTIONS VerifierOptions
Definition: rtltypes.h:1215
PRTL_PROCESS_LOCKS Locks
Definition: rtltypes.h:1212
HANDLE CriticalSectionHandle
Definition: rtltypes.h:1217
PRTL_PROCESS_HEAPS Heaps
Definition: rtltypes.h:1211
PRTL_PROCESS_BACKTRACES BackTraces
Definition: rtltypes.h:1210
PRTL_PROCESS_MODULES Modules
Definition: rtltypes.h:1207
PRTL_PROCESS_MODULE_INFORMATION_EX ModulesEx
Definition: rtltypes.h:1208
HANDLE CriticalSectionOwnerThread
Definition: rtltypes.h:1218
UNICODE_STRING DosPath
Definition: rtltypes.h:1412
LIST_ENTRY ListEntry
Definition: rtltypes.h:1228
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:1252
ULONG Flags
Definition: rtltypes.h:1255
struct _RTL_HANDLE_TABLE_ENTRY * NextFree
Definition: rtltypes.h:1256
PRTL_HANDLE_TABLE_ENTRY UnCommittedHandles
Definition: rtltypes.h:1267
PRTL_HANDLE_TABLE_ENTRY FreeHandles
Definition: rtltypes.h:1265
PRTL_HANDLE_TABLE_ENTRY CommittedHandles
Definition: rtltypes.h:1266
ULONG MaximumNumberOfHandles
Definition: rtltypes.h:1262
PRTL_HANDLE_TABLE_ENTRY MaxReservedHandles
Definition: rtltypes.h:1268
ULONG SizeOfHandleTableEntry
Definition: rtltypes.h:1263
Definition: rtltypes.h:1091
USHORT AllocatorBackTraceIndex
Definition: rtltypes.h:1094
ULONG Tag
Definition: rtltypes.h:1100
PVOID FirstBlock
Definition: rtltypes.h:1105
union _RTL_HEAP_ENTRY::@3157 u
struct _RTL_HEAP_ENTRY::@3157::@3158 s1
struct _RTL_HEAP_ENTRY::@3157::@3159 s2
SIZE_T Settable
Definition: rtltypes.h:1099
SIZE_T CommittedSize
Definition: rtltypes.h:1104
SIZE_T Size
Definition: rtltypes.h:1092
USHORT Flags
Definition: rtltypes.h:1093
USHORT CreatorBackTraceIndex
Definition: rtltypes.h:1125
PRTL_HEAP_TAG Tags
Definition: rtltypes.h:1133
PRTL_HEAP_ENTRY Entries
Definition: rtltypes.h:1134
ULONG DeCommitFreeBlockThreshold
Definition: nt_native.h:1673
ULONG VirtualMemoryThreshold
Definition: nt_native.h:1676
ULONG DeCommitTotalFreeThreshold
Definition: nt_native.h:1674
PRTL_HEAP_COMMIT_ROUTINE CommitRoutine
Definition: nt_native.h:1679
ULONG NumberOfAllocations
Definition: rtltypes.h:1037
SIZE_T BytesAllocated
Definition: rtltypes.h:1039
USHORT TagIndex
Definition: rtltypes.h:1115
SIZE_T BytesAllocated
Definition: rtltypes.h:1114
USHORT CreatorBackTraceIndex
Definition: rtltypes.h:1116
ULONG NumberOfFrees
Definition: rtltypes.h:1113
WCHAR TagName[24]
Definition: rtltypes.h:1117
ULONG NumberOfAllocations
Definition: rtltypes.h:1112
Definition: rtltypes.h:1043
PVOID Address
Definition: rtltypes.h:1045
USHORT AllocatorBackTraceIndex
Definition: rtltypes.h:1047
USHORT TagIndex
Definition: rtltypes.h:1048
struct _RTL_HEAP_USAGE_ENTRY * Next
Definition: rtltypes.h:1044
SIZE_T Size
Definition: rtltypes.h:1046
SIZE_T BytesAllocated
Definition: rtltypes.h:1054
SIZE_T BytesReserved
Definition: rtltypes.h:1056
PRTL_HEAP_USAGE_ENTRY Entries
Definition: rtltypes.h:1058
PRTL_HEAP_USAGE_ENTRY AddedEntries
Definition: rtltypes.h:1059
SIZE_T BytesReservedMaximum
Definition: rtltypes.h:1057
SIZE_T BytesCommitted
Definition: rtltypes.h:1055
PRTL_HEAP_USAGE_ENTRY RemovedEntries
Definition: rtltypes.h:1060
Definition: rtltypes.h:1065
SIZE_T Settable
Definition: rtltypes.h:1075
PVOID LastEntry
Definition: rtltypes.h:1085
PVOID FirstEntry
Definition: rtltypes.h:1084
ULONG_PTR CommittedSize
Definition: rtltypes.h:1082
struct _RTL_HEAP_WALK_ENTRY::@3153::@3155 Block
PVOID DataAddress
Definition: rtltypes.h:1066
UCHAR SegmentIndex
Definition: rtltypes.h:1069
USHORT AllocatorBackTraceIndex
Definition: rtltypes.h:1077
USHORT TagIndex
Definition: rtltypes.h:1076
UCHAR OverheadBytes
Definition: rtltypes.h:1068
ULONG_PTR UnCommittedSize
Definition: rtltypes.h:1083
struct _RTL_HEAP_WALK_ENTRY::@3153::@3156 Segment
USHORT Flags
Definition: rtltypes.h:1070
SIZE_T DataSize
Definition: rtltypes.h:1067
struct _HOTPATCH_HEADER * HotpatchHeader
Definition: rtltypes.h:1776
struct _RTL_PATCH_HEADER * NextPath
Definition: rtltypes.h:1773
PLDR_DATA_TABLE_ENTRY TargetLdrDataTableEntry
Definition: rtltypes.h:1779
PVOID PatchImageBase
Definition: rtltypes.h:1772
PLDR_DATA_TABLE_ENTRY PatchLdrDataTableEntry
Definition: rtltypes.h:1780
LIST_ENTRY PatchList
Definition: rtltypes.h:1771
struct _SYSTEM_HOTPATCH_CODE_INFORMATION * CodeInfo
Definition: rtltypes.h:1781
UNICODE_STRING TargetDllName
Definition: rtltypes.h:1777
PUNICODE_STRING ImageName
Definition: rtltypes.h:1418
PRTL_DRIVE_LETTER_CURDIR CurrentDirectories
Definition: rtltypes.h:1417
RTL_PROCESS_BACKTRACE_INFORMATION BackTraces[1]
Definition: rtltypes.h:1178
RTL_HEAP_INFORMATION Heaps[1]
Definition: rtltypes.h:1140
RTL_PROCESS_LOCK_INFORMATION Locks[1]
Definition: rtltypes.h:1160
RTL_PROCESS_MODULE_INFORMATION Modules[1]
Definition: rtltypes.h:1023
RTL_PROCESS_MODULE_INFORMATION BaseInfo
Definition: rtltypes.h:1029
PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine
Definition: nt_native.h:109
LIST_ENTRY ListHead
Definition: rtltypes.h:1508
ULONGLONG End
Definition: rtltypes.h:1517
ULONGLONG Start
Definition: rtltypes.h:1516
UCHAR Attributes
Definition: rtltypes.h:1520
PVOID UserData
Definition: rtltypes.h:1518
PVOID Owner
Definition: rtltypes.h:1519
UCHAR Flags
Definition: rtltypes.h:1521
UNICODE_STRING RelativeName
Definition: rtltypes.h:1402
HANDLE ContainingDirectory
Definition: rtltypes.h:1403
PRTLP_CURDIR_REF CurDirRef
Definition: rtltypes.h:1404
LONG NumberActive
Definition: rtltypes.h:1567
HANDLE SharedSemaphore
Definition: rtltypes.h:1563
ULONG ExclusiveWaiters
Definition: rtltypes.h:1566
PVOID DebugInfo
Definition: rtltypes.h:1570
HANDLE OwningThread
Definition: rtltypes.h:1568
ULONG TimeoutBoost
Definition: rtltypes.h:1569
ULONG SharedWaiters
Definition: rtltypes.h:1564
HANDLE ExclusiveSemaphore
Definition: rtltypes.h:1565
RTL_CRITICAL_SECTION Lock
Definition: rtltypes.h:1562
Definition: rtltypes.h:1803
PVOID BackTrace[32]
Definition: rtltypes.h:1808
ULONG TraceCount
Definition: rtltypes.h:1805
USHORT Index
Definition: rtltypes.h:1806
USHORT Depth
Definition: rtltypes.h:1807
struct _RTL_STACK_TRACE_ENTRY * HashChain
Definition: rtltypes.h:1804
struct _RTL_TRACE_BLOCK * Next
Definition: rtltypes.h:1867
struct _RTL_TRACE_BLOCK ** Buckets
Definition: rtltypes.h:1890
struct _RTL_TRACE_SEGMENT * SegmentList
Definition: rtltypes.h:1876
ULONG HashCounter[16]
Definition: rtltypes.h:1894
RTL_TRACE_HASH_FUNCTION HashFunction
Definition: rtltypes.h:1891
KSPIN_LOCK SpinLock
Definition: rtltypes.h:1885
FAST_MUTEX FastMutex
Definition: rtltypes.h:1886
union _RTL_TRACE_DATABASE::@3181 u
struct _RTL_TRACE_DATABASE * Database
Definition: rtltypes.h:1910
struct _RTL_TRACE_BLOCK * Block
Definition: rtltypes.h:1912
struct _RTL_TRACE_DATABASE * Database
Definition: rtltypes.h:1900
struct _RTL_TRACE_SEGMENT * NextSegment
Definition: rtltypes.h:1901
WCHAR MinimumStaticBufferForTerminalNul
Definition: rtltypes.h:1932
UNICODE_STRING String
Definition: rtltypes.h:1930
SECTION_IMAGE_INFORMATION ImageInformation
Definition: rtltypes.h:1620
UNICODE_STRING RuntimeData
Definition: rtltypes.h:1604
UNICODE_STRING CommandLine
Definition: btrfs_drv.h:1902
RTL_DRIVE_LETTER_CURDIR CurrentDirectories[RTL_MAX_DRIVE_LETTERS]
Definition: rtltypes.h:1605
UNICODE_STRING ImagePathName
Definition: btrfs_drv.h:1901
UNICODE_STRING WindowTitle
Definition: rtltypes.h:1601
UNICODE_STRING ShellInfo
Definition: rtltypes.h:1603
UNICODE_STRING DesktopInfo
Definition: rtltypes.h:1602
Definition: ntbasedef.h:640
PVOID CurrentUpperCommitLimit
Definition: rtltypes.h:1830
PRTL_STACK_TRACE_ENTRY * EntryIndexArray
Definition: rtltypes.h:1837
PRTL_STACK_TRACE_ENTRY Buckets[ANYSIZE_ARRAY]
Definition: rtltypes.h:1840
PVOID CurrentLowerCommitLimit
Definition: rtltypes.h:1829
ULONG NumberOfAllocationFailures
Definition: rtltypes.h:1836
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
Definition: rtlsupportapi.h:39
ULONG_PTR ImageBase
Definition: rtlsupportapi.h:40
PRUNTIME_FUNCTION FunctionEntry
Definition: rtlsupportapi.h:41
UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE]
Definition: rtlsupportapi.h:53
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
unsigned char UCHAR
Definition: typedefs.h:53
#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
uint64_t ULONGLONG
Definition: typedefs.h:67
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
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:4539
_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
RTL_HEAP_COMMIT_ROUTINE * PRTL_HEAP_COMMIT_ROUTINE
Definition: winternl.h:2787
struct _RTL_ACTIVATION_CONTEXT_STACK_FRAME RTL_ACTIVATION_CONTEXT_STACK_FRAME
struct _RTL_ACTIVATION_CONTEXT_STACK_FRAME * PRTL_ACTIVATION_CONTEXT_STACK_FRAME
_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:472
* PM128A
Definition: ketypes.h:1008
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
_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