ReactOS  0.4.15-dev-5462-g4d0d22a
rtltypes.h
Go to the documentation of this file.
1 /*++ NDK Version: 0098
2 
3 Copyright (c) Alex Ionescu. All rights reserved.
4 
5 Header Name:
6 
7  rtltypes.h
8 
9 Abstract:
10 
11  Type definitions for the Run-Time Library
12 
13 Author:
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
30 extern "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
187 C_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 #else /* NTOS_MODE_USER */
348 //
349 // Message Resource Flag
350 //
351 #define MESSAGE_RESOURCE_UNICODE 0x0001
352 
353 #endif /* !NTOS_MODE_USER */
354 
355 //
356 // RtlImageNtHeaderEx Flags
357 //
358 #define RTL_IMAGE_NT_HEADER_EX_FLAG_NO_RANGE_CHECK 0x00000001
359 
360 
361 #define MAXIMUM_LEADBYTES 12
362 
363 //
364 // RTL Debug Queries
365 //
366 #define RTL_DEBUG_QUERY_MODULES 0x01
367 #define RTL_DEBUG_QUERY_BACKTRACES 0x02
368 #define RTL_DEBUG_QUERY_HEAPS 0x04
369 #define RTL_DEBUG_QUERY_HEAP_TAGS 0x08
370 #define RTL_DEBUG_QUERY_HEAP_BLOCKS 0x10
371 #define RTL_DEBUG_QUERY_LOCKS 0x20
372 
373 //
374 // RTL Handle Flags
375 //
376 #define RTL_HANDLE_VALID 0x1
377 
378 //
379 // RTL Atom Flags
380 //
381 #define RTL_ATOM_IS_PINNED 0x1
382 
383 //
384 // Critical section lock bits
385 //
386 #define CS_LOCK_BIT 0x1
387 #define CS_LOCK_BIT_V 0x0
388 #define CS_LOCK_WAITER_WOKEN 0x2
389 #define CS_LOCK_WAITER_INC 0x4
390 
391 //
392 // Codepage Tags
393 //
394 #ifdef NTOS_MODE_USER
397 
398 //
399 // Constant String Macro
400 //
401 #define RTL_CONSTANT_STRING(__SOURCE_STRING__) \
402 { \
403  sizeof(__SOURCE_STRING__) - sizeof((__SOURCE_STRING__)[0]), \
404  sizeof(__SOURCE_STRING__), \
405  (__SOURCE_STRING__) \
406 }
407 
408 #endif /* NTOS_MODE_USER */
409 
410 //
411 // Constant Large Integer Macro
412 //
413 #ifdef NONAMELESSUNION
414 C_ASSERT(FIELD_OFFSET(LARGE_INTEGER, u.LowPart) == 0);
415 #else
416 C_ASSERT(FIELD_OFFSET(LARGE_INTEGER, LowPart) == 0);
417 #endif
418 #define RTL_CONSTANT_LARGE_INTEGER(quad_part) { { (quad_part), (quad_part)>>32 } }
419 #define RTL_MAKE_LARGE_INTEGER(low_part, high_part) { { (low_part), (high_part) } }
420 
421 //
422 // Boot Status Data Field Types
423 //
424 typedef enum _RTL_BSD_ITEM_TYPE
425 {
444 
445 #ifdef NTOS_MODE_USER
446 //
447 // Table and Compare result types
448 //
449 typedef enum _TABLE_SEARCH_RESULT
450 {
456 
457 typedef enum _RTL_GENERIC_COMPARE_RESULTS
458 {
463 
464 #endif /* NTOS_MODE_USER */
465 
466 //
467 // RTL Path Types
468 //
469 typedef enum _RTL_PATH_TYPE
470 {
479 } RTL_PATH_TYPE;
480 
481 #ifndef NTOS_MODE_USER
482 
483 //
484 // Heap Information Class
485 //
487 {
491 
492 //
493 // Callback function for RTL Timers or Registered Waits
494 //
495 typedef VOID
497  PVOID pvContext,
498  BOOLEAN fTimerOrWaitFired
499 );
500 
501 //
502 // Handler during Vectored RTL Exceptions
503 //
504 typedef LONG
506  PEXCEPTION_POINTERS ExceptionPointers
507 );
508 
509 //
510 // Worker Thread Callback for Rtl
511 //
512 typedef VOID
515 );
516 
517 #else /* !NTOS_MODE_USER */
518 
519 //
520 // RTL Library Allocation/Free Routines
521 //
522 typedef PVOID
523 (NTAPI *PRTL_ALLOCATE_STRING_ROUTINE)(
525 );
526 
527 typedef PVOID
528 (NTAPI *PRTL_REALLOCATE_STRING_ROUTINE)(
530  PVOID Buffer
531 );
532 
533 typedef
534 VOID
536  PVOID Buffer
537 );
538 
539 extern const PRTL_ALLOCATE_STRING_ROUTINE RtlAllocateStringRoutine;
541 extern const PRTL_REALLOCATE_STRING_ROUTINE RtlReallocateStringRoutine;
542 
543 #endif /* NTOS_MODE_USER */
544 
545 //
546 // Unhandled Exception Filter
547 //
548 typedef ULONG
550  _In_ struct _EXCEPTION_POINTERS *ExceptionInfo
551 );
553 
554 //
555 // Callback for RTL Heap Enumeration
556 //
557 typedef NTSTATUS
559  _In_ PVOID HeapHandle,
560  _In_ PVOID UserParam
561 );
562 
563 //
564 // Thread and Process Start Routines for RtlCreateUserThread/Process
565 //
568 );
569 
570 typedef VOID
572  PTHREAD_START_ROUTINE StartAddress,
574 );
575 
576 //
577 // Worker Start/Exit Function
578 //
579 typedef NTSTATUS
583  _Out_ PHANDLE ThreadHandle
584 );
585 
586 typedef NTSTATUS
589 );
590 
591 //
592 // Declare empty structure definitions so that they may be referenced by
593 // routines before they are defined
594 //
595 struct _RTL_AVL_TABLE;
596 struct _RTL_GENERIC_TABLE;
597 struct _RTL_RANGE;
598 
599 //
600 // Routines and callbacks for the RTL AVL/Generic Table package
601 //
602 #ifdef NTOS_MODE_USER
603 typedef NTSTATUS
604 (NTAPI RTL_AVL_MATCH_FUNCTION)(
605  struct _RTL_AVL_TABLE *Table,
606  PVOID UserData,
608 );
609 typedef RTL_AVL_MATCH_FUNCTION *PRTL_AVL_MATCH_FUNCTION;
610 
612 (NTAPI RTL_AVL_COMPARE_ROUTINE) (
613  struct _RTL_AVL_TABLE *Table,
616 );
617 typedef RTL_AVL_COMPARE_ROUTINE *PRTL_AVL_COMPARE_ROUTINE;
618 
620 (NTAPI RTL_GENERIC_COMPARE_ROUTINE) (
621  struct _RTL_GENERIC_TABLE *Table,
624 );
625 typedef RTL_GENERIC_COMPARE_ROUTINE *PRTL_GENERIC_COMPARE_ROUTINE;
626 
627 typedef PVOID
628 (NTAPI RTL_GENERIC_ALLOCATE_ROUTINE) (
629  struct _RTL_GENERIC_TABLE *Table,
631 );
632 typedef RTL_GENERIC_ALLOCATE_ROUTINE *PRTL_GENERIC_ALLOCATE_ROUTINE;
633 
634 typedef PVOID
635 (NTAPI RTL_AVL_ALLOCATE_ROUTINE) (
636  struct _RTL_AVL_TABLE *Table,
638 );
639 typedef RTL_AVL_ALLOCATE_ROUTINE *PRTL_AVL_ALLOCATE_ROUTINE;
640 
641 typedef VOID
642 (NTAPI RTL_GENERIC_FREE_ROUTINE) (
643  struct _RTL_GENERIC_TABLE *Table,
644  PVOID Buffer
645 );
646 typedef RTL_GENERIC_FREE_ROUTINE *PRTL_GENERIC_FREE_ROUTINE;
647 
648 typedef VOID
649 (NTAPI RTL_AVL_FREE_ROUTINE) (
650  struct _RTL_AVL_TABLE *Table,
651  PVOID Buffer
652 );
653 typedef RTL_AVL_FREE_ROUTINE *PRTL_AVL_FREE_ROUTINE;
654 
655 #ifdef RTL_USE_AVL_TABLES
656 #undef RTL_GENERIC_COMPARE_ROUTINE
657 #undef PRTL_GENERIC_COMPARE_ROUTINE
658 #undef RTL_GENERIC_ALLOCATE_ROUTINE
659 #undef PRTL_GENERIC_ALLOCATE_ROUTINE
660 #undef RTL_GENERIC_FREE_ROUTINE
661 #undef PRTL_GENERIC_FREE_ROUTINE
662 
663 #define RTL_GENERIC_COMPARE_ROUTINE RTL_AVL_COMPARE_ROUTINE
664 #define PRTL_GENERIC_COMPARE_ROUTINE PRTL_AVL_COMPARE_ROUTINE
665 #define RTL_GENERIC_ALLOCATE_ROUTINE RTL_AVL_ALLOCATE_ROUTINE
666 #define PRTL_GENERIC_ALLOCATE_ROUTINE PRTL_AVL_ALLOCATE_ROUTINE
667 #define RTL_GENERIC_FREE_ROUTINE RTL_AVL_FREE_ROUTINE
668 #define PRTL_GENERIC_FREE_ROUTINE PRTL_AVL_FREE_ROUTINE
669 #endif /* RTL_USE_AVL_TABLES */
670 
671 #endif /* NTOS_MODE_USER */
672 
673 //
674 // RTL Query Registry callback
675 //
676 #ifdef NTOS_MODE_USER
677 typedef NTSTATUS
685 );
686 #endif
687 
688 //
689 // RTL Secure Memory callbacks
690 //
691 #ifdef NTOS_MODE_USER
692 typedef NTSTATUS
693 (NTAPI *PRTL_SECURE_MEMORY_CACHE_CALLBACK)(
696 );
697 #endif
698 
699 //
700 // RTL Range List callbacks
701 //
702 typedef BOOLEAN
703 (NTAPI *PRTL_CONFLICT_RANGE_CALLBACK)(
704  PVOID Context,
706 );
707 
708 //
709 // Custom Heap Commit Routine for RtlCreateHeap
710 //
711 #ifdef NTOS_MODE_USER
712 typedef NTSTATUS
714  _In_ PVOID Base,
717 );
718 
719 //
720 // Parameters for RtlCreateHeap
721 //
722 typedef struct _RTL_HEAP_PARAMETERS
723 {
724  ULONG Length;
734  SIZE_T Reserved[2];
736 
737 //
738 // RTL Bitmap structures
739 //
740 typedef struct _RTL_BITMAP
741 {
743  PULONG Buffer;
745 
746 typedef struct _RTL_BITMAP_RUN
747 {
751 
752 //
753 // RtlGenerateXxxName context
754 //
755 typedef struct _GENERATE_NAME_CONTEXT
756 {
759  UCHAR NameLength;
760  WCHAR NameBuffer[8];
761  ULONG ExtensionLength;
765 
766 //
767 // RTL Splay and Balanced Links structures
768 //
769 typedef struct _RTL_SPLAY_LINKS
770 {
771  struct _RTL_SPLAY_LINKS *Parent;
772  struct _RTL_SPLAY_LINKS *LeftChild;
775 
776 typedef struct _RTL_BALANCED_LINKS
777 {
778  struct _RTL_BALANCED_LINKS *Parent;
781  CHAR Balance;
782  UCHAR Reserved[3];
784 
785 //
786 // RTL Avl/Generic Tables
787 //
788 #ifndef RTL_USE_AVL_TABLES
789 typedef struct _RTL_GENERIC_TABLE
790 {
801 #endif /* !RTL_USE_AVL_TABLES */
802 
803 typedef struct _RTL_AVL_TABLE
804 {
817 
818 #ifdef RTL_USE_AVL_TABLES
819 #undef RTL_GENERIC_TABLE
820 #undef PRTL_GENERIC_TABLE
821 
822 #define RTL_GENERIC_TABLE RTL_AVL_TABLE
823 #define PRTL_GENERIC_TABLE PRTL_AVL_TABLE
824 #endif /* RTL_USE_AVL_TABLES */
825 
826 //
827 // RTL Compression Buffer
828 //
829 typedef struct _COMPRESSED_DATA_INFO {
834  UCHAR Reserved;
838 
839 //
840 // RtlQueryRegistry Data
841 //
842 typedef struct _RTL_QUERY_REGISTRY_TABLE
843 {
845  ULONG Flags;
846  PCWSTR Name;
852 
853 //
854 // RTL Unicode Table Structures
855 //
856 typedef struct _UNICODE_PREFIX_TABLE_ENTRY
857 {
865 
866 typedef struct _UNICODE_PREFIX_TABLE
867 {
873 
874 //
875 // Pfx* routines' table structures
876 //
877 typedef struct _PREFIX_TABLE_ENTRY
878 {
883  PSTRING Prefix;
885 
886 typedef struct _PREFIX_TABLE
887 {
892 
893 //
894 // Time Structure for RTL Time calls
895 //
896 typedef struct _TIME_FIELDS
897 {
898  CSHORT Year;
899  CSHORT Month;
900  CSHORT Day;
901  CSHORT Hour;
902  CSHORT Minute;
903  CSHORT Second;
905  CSHORT Weekday;
907 
908 //
909 // Activation Context Frame
910 //
912 {
915  ULONG Flags;
917 
918 typedef struct _RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_BASIC
919 {
920  SIZE_T Size;
921  ULONG Format;
923 } RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_BASIC, *PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_BASIC;
924 
925 typedef struct _RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED
926 {
927  SIZE_T Size;
928  ULONG Format;
930  PVOID Extra1;
931  PVOID Extra2;
932  PVOID Extra3;
933  PVOID Extra4;
934 } RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED, *PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED;
935 
936 typedef RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME;
937 typedef PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME;
938 
939 typedef struct _RTL_HEAP_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME
940 {
943  PVOID ActivationStackBackTrace[8];
944 } RTL_HEAP_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME, *PRTL_HEAP_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME;
945 
946 typedef struct _ACTIVATION_CONTEXT_DATA
947 {
948  ULONG Magic;
949  ULONG HeaderSize;
950  ULONG FormatVersion;
951  ULONG TotalSize;
952  ULONG DefaultTocOffset;
953  ULONG ExtendedTocOffset;
954  ULONG AssemblyRosterOffset;
955  ULONG Flags;
956 } ACTIVATION_CONTEXT_DATA, *PACTIVATION_CONTEXT_DATA;
957 
958 typedef struct _ACTIVATION_CONTEXT_STACK_FRAMELIST
959 {
960  ULONG Magic;
961  ULONG FramesInUse;
962  LIST_ENTRY Links;
963  ULONG Flags;
964  ULONG NotFramesInUse;
965  RTL_HEAP_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME Frames[32];
966 } ACTIVATION_CONTEXT_STACK_FRAMELIST, *PACTIVATION_CONTEXT_STACK_FRAMELIST;
967 
968 #endif /* NTOS_MODE_USER */
969 
970 #if (NTDDI_VERSION >= NTDDI_WS03SP1)
972 {
979 #else
980 typedef struct _ACTIVATION_CONTEXT_STACK
981 {
982  ULONG Flags;
987 #endif
988 
989 //
990 // ACE Structure
991 //
992 typedef struct _ACE
993 {
996 } ACE, *PACE;
997 
998 //
999 // Information Structures for RTL Debug Functions
1000 //
1002 {
1014 
1015 typedef struct _RTL_PROCESS_MODULES
1016 {
1020 
1022 {
1029 
1030 typedef struct _RTL_HEAP_TAG_INFO
1031 {
1036 
1038 {
1045 
1046 typedef struct _RTL_HEAP_USAGE
1047 {
1058 
1059 typedef struct _RTL_HEAP_WALK_ENTRY
1060 {
1066  union
1067  {
1068  struct
1069  {
1074  } Block;
1075  struct
1076  {
1081  } Segment;
1082  };
1084 
1085 typedef struct _RTL_HEAP_ENTRY
1086 {
1090  union
1091  {
1092  struct
1093  {
1096  } s1;
1097  struct
1098  {
1101  } s2;
1102  } u;
1104 
1105 typedef struct _RTL_HEAP_TAG
1106 {
1114 
1116 {
1131 
1132 typedef struct _RTL_PROCESS_HEAPS
1133 {
1137 
1139 {
1151 
1152 typedef struct _RTL_PROCESS_LOCKS
1153 {
1157 
1159 {
1166 
1168 {
1175 
1177 {
1181  //
1182  // Option array continues below
1183  //
1185 
1187 {
1200  union
1201  {
1204  };
1216 
1217 //
1218 // Fiber local storage data
1219 //
1220 #define RTL_FLS_MAXIMUM_AVAILABLE 128
1221 typedef struct _RTL_FLS_DATA
1222 {
1226 
1227 
1228 //
1229 // Unload Event Trace Structure for RtlGetUnloadEventTrace
1230 //
1231 #define RTL_UNLOAD_EVENT_TRACE_NUMBER 16
1232 
1234 {
1242 
1243 //
1244 // RTL Handle Structures
1245 //
1247 {
1248  union
1249  {
1252  };
1254 
1255 typedef struct _RTL_HANDLE_TABLE
1256 {
1265 
1266 //
1267 // RTL Boot Status Data Item
1268 //
1269 typedef struct _RTL_BSD_ITEM
1270 {
1275 
1276 //
1277 // Data Sub-Structures for "bootstat.dat" RTL Data File
1278 //
1280 {
1282  struct
1283  {
1289  } Flags;
1298 
1300 {
1307 
1309 {
1314  struct
1315  {
1318  } Flags;
1328 
1329 //
1330 // Main Structure for "bootstat.dat" RTL Data File
1331 //
1332 typedef struct _RTL_BSD_DATA
1333 {
1334  ULONG Version; // RtlBsdItemVersionNumber
1335  ULONG ProductType; // RtlBsdItemProductType
1336  BOOLEAN AabEnabled; // RtlBsdItemAabEnabled
1337  UCHAR AabTimeout; // RtlBsdItemAabTimeout
1338  BOOLEAN LastBootSucceeded; // RtlBsdItemBootGood
1339  BOOLEAN LastBootShutdown; // RtlBsdItemBootShutdown
1340  BOOLEAN SleepInProgress; // RtlBsdSleepInProgress
1342  UCHAR BootAttemptCount; // RtlBsdItemBootAttemptCount
1343  UCHAR LastBootCheckpoint; // RtlBsdItemBootCheckpoint
1344  UCHAR Checksum; // RtlBsdItemChecksum
1345  ULONG LastBootId; // RtlBsdItemBootId
1346  ULONG LastSuccessfulShutdownBootId; // RtlBsdItemShutdownBootId
1347  ULONG LastReportedAbnormalShutdownBootId; // RtlBsdItemReportedAbnormalShutdownBootId
1348  RTL_BSD_DATA_ERROR_INFO ErrorInfo; // RtlBsdItemErrorInfo
1349  RTL_BSD_POWER_BUTTON_PRESS_INFO PowerButtonPressInfo; // RtlBsdItemPowerButtonPressInfo
1351 
1352 #ifdef NTOS_MODE_USER
1353 //
1354 // Exception Record
1355 //
1356 typedef struct _EXCEPTION_REGISTRATION_RECORD
1357 {
1361 #endif /* NTOS_MODE_USER */
1362 
1363 //
1364 // Current Directory Structures
1365 //
1366 typedef struct _CURDIR
1367 {
1370 } CURDIR, *PCURDIR;
1371 
1372 typedef struct _RTLP_CURDIR_REF
1373 {
1377 
1378 typedef struct _RTL_RELATIVE_NAME_U
1379 {
1384 
1386 {
1392 
1394 {
1399 
1400 //
1401 // Private State structure for RtlAcquirePrivilege/RtlReleasePrivilege
1402 //
1403 typedef struct _RTL_ACQUIRE_STATE
1404 {
1412 
1413 #ifndef NTOS_MODE_USER
1414 
1415 //
1416 // RTL Critical Section Structures
1417 //
1419 {
1428 
1430 {
1438 
1439 #endif /* !NTOS_MODE_USER */
1440 
1441 //
1442 // RTL Private Heap Structures
1443 //
1444 typedef struct _HEAP_LOCK
1445 {
1446  union
1447  {
1449 #ifndef NTOS_MODE_USER
1451 #endif
1452  UCHAR Padding[0x68]; /* Max ERESOURCE size for x64 build. Needed because RTL is built only once */
1453  };
1454 } HEAP_LOCK, *PHEAP_LOCK;
1455 
1456 //
1457 // RTL Range List Structures
1458 //
1459 typedef struct _RTL_RANGE_LIST
1460 {
1466 
1467 typedef struct _RTL_RANGE
1468 {
1475 } RTL_RANGE, *PRTL_RANGE;
1476 
1477 typedef struct _RANGE_LIST_ITERATOR
1478 {
1484 
1486 {
1489  union
1490  {
1491  struct
1492  {
1495  } Allocated;
1496  struct
1497  {
1499  } Merged;
1500  };
1507 
1508 //
1509 // RTL Resource
1510 //
1511 #define RTL_RESOURCE_FLAG_LONG_TERM ((ULONG)0x00000001)
1512 
1513 typedef struct _RTL_RESOURCE
1514 {
1525 
1526 //
1527 // Structures for RtlCreateUserProcess
1528 //
1529 typedef struct _RTL_USER_PROCESS_PARAMETERS
1530 {
1559 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1561 #endif
1562 #if (NTDDI_VERSION >= NTDDI_WIN7)
1564 #endif
1566 
1568 {
1575 
1576 #if (NTDDI_VERSION >= NTDDI_WIN7)
1577 
1579 {
1584 
1585 typedef enum _RTL_UMSCTX_FLAGS
1586 {
1588 #if (NTDDI_VERSION < NTDDI_WIN8)
1589  UMSCTX_HAS_QUANTUM_REQ_BIT,
1590  UMSCTX_HAS_AFFINITY_REQ_BIT,
1591  UMSCTX_HAS_PRIORITY_REQ_BIT,
1592 #endif
1599 
1601 
1602 #define UMSCTX_SCHEDULED_THREAD_MASK (1 << UMSCTX_SCHEDULED_THREAD_BIT)
1603 #define UMSCTX_SUSPENDED_MASK (1 << UMSCTX_SUSPENDED_BIT)
1604 #define UMSCTX_VOLATILE_CONTEXT_MASK (1 << UMSCTX_VOLATILE_CONTEXT_BIT)
1605 #define UMSCTX_TERMINATED_MASK (1 << UMSCTX_TERMINATED_BIT)
1606 #define UMSCTX_DEBUG_ACTIVE_MASK (1 << UMSCTX_DEBUG_ACTIVE_BIT)
1607 #define UMSCTX_RUNNING_ON_SELF_THREAD_MASK (1 << UMSCTX_RUNNING_ON_SELF_THREAD_BIT)
1608 #define UMSCTX_DENY_RUNNING_ON_SELF_THREAD_MASK (1 << UMSCTX_DENY_RUNNING_ON_SELF_THREAD_BIT)
1609 
1610 //
1611 // UMS Context
1612 //
1613 typedef struct DECLSPEC_ALIGN(16) _RTL_UMS_CONTEXT
1614 {
1616  CONTEXT Context;
1617  PVOID Teb;
1618  PVOID UserContext;
1619  union
1620  {
1621  struct
1622  {
1623  ULONG ScheduledThread : 1;
1624 #if (NTDDI_VERSION < NTDDI_WIN8)
1625  ULONG HasQuantumReq : 1;
1626  ULONG HasAffinityReq : 1;
1627  ULONG HasPriorityReq : 1;
1628 #endif
1629  ULONG Suspended : 1;
1630  ULONG VolatileContext : 1;
1631  ULONG Terminated : 1;
1632  ULONG DebugActive : 1;
1633  ULONG RunningOnSelfThread : 1;
1634  ULONG DenyRunningOnSelfThread : 1;
1635 #if (NTDDI_VERSION < NTDDI_WIN8)
1636  ULONG ReservedFlags : 22;
1637 #endif
1638  };
1639  LONG Flags;
1640  };
1641  union
1642  {
1643  struct
1644  {
1645 #if (NTDDI_VERSION >= NTDDI_WIN8)
1646  ULONG64 KernelUpdateLock : 2;
1647 #else
1648  ULONG64 KernelUpdateLock : 1;
1649  ULONG64 Reserved : 1;
1650 #endif
1651  ULONG64 PrimaryClientID : 62;
1652  };
1653  ULONG64 ContextLock;
1654  };
1655 #if (NTDDI_VERSION < NTDDI_WIN8)
1656  ULONG64 QuantumValue;
1657  GROUP_AFFINITY AffinityMask;
1658  LONG Priority;
1659 #endif
1660  struct _RTL_UMS_CONTEXT* PrimaryUmsContext;
1661  ULONG SwitchCount;
1662  ULONG KernelYieldCount;
1663  ULONG MixedYieldCount;
1664  ULONG YieldCount;
1666 #endif // #if (NTDDI_VERSION >= NTDDI_WIN7)
1667 
1668 //
1669 // RTL Atom Table Structures
1670 //
1672 {
1681 
1682 typedef struct _RTL_ATOM_TABLE
1683 {
1685  union
1686  {
1687 #ifdef NTOS_MODE_USER
1689 #else
1691 #endif
1692  };
1693  union
1694  {
1695 #ifdef NTOS_MODE_USER
1696  RTL_HANDLE_TABLE RtlHandleTable;
1697 #else
1699 #endif
1700  };
1704 
1705 //
1706 // Timezone Information
1707 //
1709 {
1718 
1719 //
1720 // Hotpatch Header
1721 //
1722 typedef struct _RTL_PATCH_HEADER
1723 {
1729  struct _HOTPATCH_HEADER *HotpatchHeader;
1736 
1737 //
1738 // Header for NLS Files
1739 //
1740 typedef struct _NLS_FILE_HEADER
1741 {
1743  USHORT CodePage;
1751 
1752 //
1753 // Stack Traces
1754 //
1756 {
1763 
1764 
1766 {
1767  union
1768  {
1770 
1771  /* Padding for ERESOURCE */
1772 #if defined(_M_AMD64)
1773  UCHAR Padding[0x68];
1774 #else
1776 #endif
1777  } Lock;
1778 
1780 
1784 
1787 
1791 
1795 
1796 // Validate that our padding is big enough:
1797 #ifndef NTOS_MODE_USER
1798 #if defined(_M_AMD64)
1799 C_ASSERT(sizeof(ERESOURCE) <= 0x68);
1800 #elif defined(_M_ARM64)
1801 C_ASSERT(sizeof(ERESOURCE) <= 0x68);
1802 #else
1803 C_ASSERT(sizeof(ERESOURCE) <= 56);
1804 #endif
1805 #endif
1806 
1807 
1808 //
1809 // Trace Database
1810 //
1811 
1813 
1814 typedef struct _RTL_TRACE_BLOCK
1815 {
1825 
1826 typedef struct _RTL_TRACE_DATABASE
1827 {
1835 #ifdef NTOS_MODE_USER
1837 #else
1838  union
1839  {
1842  } u;
1843 #endif
1851 
1852 typedef struct _RTL_TRACE_SEGMENT
1853 {
1862 
1863 typedef struct _RTL_TRACE_ENUMERATE
1864 {
1869 
1870 //
1871 // Auto-Managed Rtl* String Buffer
1872 //
1873 typedef struct _RTL_BUFFER
1874 {
1882 
1884 {
1889 
1890 #ifndef NTOS_MODE_USER
1891 
1892 //
1893 // Message Resource Entry, Block and Data
1894 //
1896 {
1901 
1903 {
1908 
1910 {
1914 
1915 #ifdef _M_AMD64
1916 
1917 typedef struct _KNONVOLATILE_CONTEXT_POINTERS {
1918  union {
1919  PM128A FloatingContext[16];
1920  struct {
1921  PM128A Xmm0;
1922  PM128A Xmm1;
1923  PM128A Xmm2;
1924  PM128A Xmm3;
1925  PM128A Xmm4;
1926  PM128A Xmm5;
1927  PM128A Xmm6;
1928  PM128A Xmm7;
1929  PM128A Xmm8;
1930  PM128A Xmm9;
1931  PM128A Xmm10;
1932  PM128A Xmm11;
1933  PM128A Xmm12;
1934  PM128A Xmm13;
1935  PM128A Xmm14;
1936  PM128A Xmm15;
1937  } DUMMYSTRUCTNAME;
1938  } DUMMYUNIONNAME;
1939 
1940  union {
1941  PULONG64 IntegerContext[16];
1942  struct {
1943  PULONG64 Rax;
1944  PULONG64 Rcx;
1945  PULONG64 Rdx;
1946  PULONG64 Rbx;
1947  PULONG64 Rsp;
1948  PULONG64 Rbp;
1949  PULONG64 Rsi;
1950  PULONG64 Rdi;
1951  PULONG64 R8;
1952  PULONG64 R9;
1953  PULONG64 R10;
1954  PULONG64 R11;
1955  PULONG64 R12;
1956  PULONG64 R13;
1957  PULONG64 R14;
1958  PULONG64 R15;
1959  } DUMMYSTRUCTNAME;
1960  } DUMMYUNIONNAME2;
1961 } KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS;
1962 
1963 #define UNW_FLAG_NHANDLER 0x0
1964 #define UNW_FLAG_EHANDLER 0x1
1965 #define UNW_FLAG_UHANDLER 0x2
1966 #define UNW_FLAG_CHAININFO 0x4
1967 #define UNW_FLAG_NO_EPILOGUE 0x80000000UL
1968 
1969 #define RUNTIME_FUNCTION_INDIRECT 0x1
1970 
1971 typedef struct _RUNTIME_FUNCTION {
1972  ULONG BeginAddress;
1973  ULONG EndAddress;
1974  ULONG UnwindData;
1976 
1977 #define UNWIND_HISTORY_TABLE_SIZE 12
1978 
1979 typedef struct _UNWIND_HISTORY_TABLE_ENTRY
1980 {
1981  ULONG64 ImageBase;
1982  PRUNTIME_FUNCTION FunctionEntry;
1983 } UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY;
1984 
1985 typedef struct _UNWIND_HISTORY_TABLE
1986 {
1987  ULONG Count;
1988  UCHAR LocalHint;
1989  UCHAR GlobalHint;
1990  UCHAR Search;
1991  UCHAR Once;
1992  ULONG64 LowAddress;
1994  UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE];
1995 } UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE;
1996 
1997 #endif /* _M_AMD64 */
1998 
1999 #endif /* !NTOS_MODE_USER */
2000 
2001 #ifdef NTOS_MODE_USER
2002 
2003 //
2004 // Memory Stream
2005 //
2006 #ifndef CONST_VTBL
2007 #ifdef CONST_VTABLE
2008 #define CONST_VTBL const
2009 #else
2010 #define CONST_VTBL
2011 #endif
2012 #endif
2013 
2014 struct IStreamVtbl;
2015 struct IStream;
2016 struct tagSTATSTG;
2017 
2018 typedef struct _RTL_MEMORY_STREAM RTL_MEMORY_STREAM, *PRTL_MEMORY_STREAM;
2019 
2020 typedef VOID
2021 (NTAPI *PRTL_MEMORY_STREAM_FINAL_RELEASE_ROUTINE)(
2022  _In_ PRTL_MEMORY_STREAM Stream
2023 );
2024 
2025 struct _RTL_MEMORY_STREAM
2026 {
2027  CONST_VTBL struct IStreamVtbl *Vtbl;
2028  LONG RefCount;
2029  ULONG Unk1;
2030  PVOID Current;
2031  PVOID Start;
2032  PVOID End;
2033  PRTL_MEMORY_STREAM_FINAL_RELEASE_ROUTINE FinalRelease;
2035 };
2036 
2037 #endif /* NTOS_MODE_USER */
2038 
2039 #ifdef __cplusplus
2040 }
2041 #endif
2042 
2043 #endif /* !_RTLTYPES_H */
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
LIST_ENTRY ListEntry
Definition: rtltypes.h:1504
PHANDLE_TABLE ExHandleTable
Definition: rtltypes.h:1698
UCHAR BootAttemptCount
Definition: rtltypes.h:1342
struct _RTLP_CURDIR_REF RTLP_CURDIR_REF
USHORT Weekday
Definition: env_spec_w32.h:718
signed char * PCHAR
Definition: retypes.h:7
BOOLEAN CheckSumInserted
Definition: rtltypes.h:599
struct _RTL_TRACE_SEGMENT * SegmentList
Definition: rtltypes.h:1831
struct _RTL_HEAP_TAG_INFO RTL_HEAP_TAG_INFO
enum _RTL_UMSCTX_FLAGS * PRTL_UMSCTX_FLAGS
FAST_MUTEX FastMutex
Definition: rtltypes.h:1690
PULONG Buffer
Definition: typedefs.h:91
struct _RTL_BALANCED_LINKS * PRTL_BALANCED_LINKS
PSTRING Prefix
Definition: rtltypes.h:612
RTL_GENERIC_COMPARE_ROUTINE * PRTL_GENERIC_COMPARE_ROUTINE
Definition: rtltypes.h:452
enum _RTL_PATH_TYPE RTL_PATH_TYPE
const uint16_t * PCWSTR
Definition: typedefs.h:57
struct _RTL_TRACE_ENUMERATE RTL_TRACE_ENUMERATE
struct _RTL_RESOURCE RTL_RESOURCE
Definition: rtltypes.h:1755
RTL_AVL_COMPARE_ROUTINE * PRTL_AVL_COMPARE_ROUTINE
Definition: rtltypes.h:385
SIZE_T BytesReserved
Definition: rtltypes.h:1051
Definition: rtltypes.h:1671
LIST_ENTRY PatchList
Definition: rtltypes.h:1724
struct _RTL_PROCESS_BACKTRACE_INFORMATION * PRTL_PROCESS_BACKTRACE_INFORMATION
struct _RTLP_RANGE_LIST_ENTRY::@2659::@2661 Allocated
USHORT TagIndex
Definition: rtltypes.h:1043
ASMGENDATA Table[]
Definition: genincdata.c:61
ULONG NumberOfAllocations
Definition: rtltypes.h:1107
Definition: rtltypes.h:1895
PVOID LastEntry
Definition: rtltypes.h:1080
struct _EXCEPTION_REGISTRATION_RECORD * Next
Definition: compat.h:726
RTL_GENERIC_ALLOCATE_ROUTINE * PRTL_GENERIC_ALLOCATE_ROUTINE
Definition: rtltypes.h:461
ULONG TraceCount
Definition: rtltypes.h:1758
UCHAR OverheadBytes
Definition: rtltypes.h:1063
struct _RTL_QUERY_REGISTRY_TABLE * PRTL_QUERY_REGISTRY_TABLE
Definition: amd64_sup.c:13
UCHAR NameLength
Definition: rtltypes.h:1678
PRTL_PROCESS_MODULES Modules
Definition: rtltypes.h:1202
USHORT TagIndex
Definition: rtltypes.h:1110
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
struct _RTLP_RANGE_LIST_ENTRY RTLP_RANGE_LIST_ENTRY
union _RTL_HEAP_ENTRY::@2648 u
struct _RTL_PROCESS_VERIFIER_OPTIONS * PRTL_PROCESS_VERIFIER_OPTIONS
struct _UNICODE_PREFIX_TABLE_ENTRY * NextPrefixTree
Definition: rtltypes.h:624
USHORT CodePage
Definition: precomp.h:21
_In_ CDROM_SCAN_FOR_SPECIAL_INFO _In_ PCDROM_SCAN_FOR_SPECIAL_HANDLER Function
Definition: cdrom.h:1154
#define _Inout_
Definition: ms_sal.h:378
LIST_ENTRY FrameListCache
Definition: rtltypes.h:974
BOOLEAN LastBootShutdown
Definition: rtltypes.h:1339
SIZE_T BytesReservedMaximum
Definition: rtltypes.h:1052
struct _RTL_BSD_ITEM RTL_BSD_ITEM
struct _RTL_HANDLE_TABLE * PRTL_HANDLE_TABLE
struct _RTL_ATOM_TABLE_ENTRY * PRTL_ATOM_TABLE_ENTRY
USHORT UniDefaultChar
Definition: precomp.h:24
struct _MESSAGE_RESOURCE_BLOCK MESSAGE_RESOURCE_BLOCK
CSHORT NodeTypeCode
Definition: rtltypes.h:616
BOOLEAN NLS_MB_OEM_CODE_PAGE_TAG
PVOID DataAddress
Definition: rtltypes.h:1061
Definition: ntbasedef.h:628
SIZE_T Size
Definition: rtltypes.h:1877
BOOLEAN NLS_MB_CODE_PAGE_TAG
#define _Out_
Definition: ms_sal.h:345
PRTL_STACK_TRACE_ENTRY Buckets[ANYSIZE_ARRAY]
Definition: rtltypes.h:1793
enum _RTL_UMS_SCHEDULER_REASON * PRTL_UMS_SCHEDULER_REASON
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
IN BOOLEAN OUT PSTR Buffer
Definition: progress.h:34
struct _UNICODE_PREFIX_TABLE * PUNICODE_PREFIX_TABLE
SIZE_T Size
Definition: rtltypes.h:1087
_RTL_PATH_TYPE
Definition: rtltypes.h:469
USHORT Flags
Definition: rtltypes.h:1088
ULONGLONG Start
Definition: rtltypes.h:1469
struct _PREFIX_TABLE PREFIX_TABLE
PLIST_ENTRY RangeListHead
Definition: rtltypes.h:1479
UNICODE_STRING WindowTitle
Definition: rtltypes.h:1554
PRTL_HANDLE_TABLE_ENTRY FreeHandles
Definition: rtltypes.h:1260
_Inout_ PVOID _Inout_ PSIZE_T CommitSize
Definition: rtltypes.h:578
PRTL_HEAP_TAG Tags
Definition: rtltypes.h:1128
struct _CURDIR * PCURDIR
_RTL_BSD_ITEM_TYPE
Definition: rtltypes.h:424
uint16_t * PWSTR
Definition: typedefs.h:56
LONG(NTAPI * PVECTORED_EXCEPTION_HANDLER)(PEXCEPTION_POINTERS ExceptionPointers)
Definition: rtltypes.h:505
PLIST_ENTRY MergedHead
Definition: rtltypes.h:1480
ULONG DepthOfTree
Definition: rtltypes.h:426
RTL_DRIVE_LETTER_CURDIR CurrentDirectories[RTL_MAX_DRIVE_LETTERS]
Definition: rtltypes.h:1558
USHORT HeaderSize
Definition: precomp.h:20
struct _RTL_FLS_DATA * PRTL_FLS_DATA
struct _RTL_BALANCED_LINKS RTL_BALANCED_LINKS
PUNICODE_STRING Prefix
Definition: rtltypes.h:627
struct _ACE ACE
PRTL_HEAP_COMMIT_ROUTINE CommitRoutine
Definition: nt_native.h:1676
unsigned char * PUCHAR
Definition: retypes.h:3
struct _EXCEPTION_REGISTRATION_RECORD EXCEPTION_REGISTRATION_RECORD
ULONG(NTAPI * RTL_TRACE_HASH_FUNCTION)(ULONG Count, PVOID *Trace)
Definition: rtltypes.h:1812
char CHAR
Definition: xmlstorage.h:175
struct DECLSPEC_ALIGN(16) _RTL_UMS_CONTEXT
Definition: rtltypes.h:1613
Definition: amd64_sup.c:13
struct _RTL_PROCESS_MODULES * PRTL_PROCESS_MODULES
struct _RTL_ACTIVATION_CONTEXT_STACK_FRAME * Previous
Definition: winternl.h:249
HANDLE ContainingDirectory
Definition: rtltypes.h:1381
struct _ACE * PACE
PRTL_HEAP_USAGE_ENTRY Entries
Definition: rtltypes.h:1053
enum _TABLE_SEARCH_RESULT TABLE_SEARCH_RESULT
struct _RTL_BSD_DATA_ERROR_INFO * PRTL_BSD_DATA_ERROR_INFO
struct _RTL_HEAP_WALK_ENTRY::@2644::@2646 Block
enum _RTL_UMS_SCHEDULER_REASON RTL_UMS_SCHEDULER_REASON
LONG NTSTATUS
Definition: precomp.h:26
#define HEAP_CREATE_VALID_MASK
Definition: rtltypes.h:173
struct _RTL_DEBUG_INFORMATION RTL_DEBUG_INFORMATION
UCHAR Flags
Definition: rtltypes.h:1677
_In_opt_ ULONG Base
Definition: rtlfuncs.h:2427
struct _RTL_BSD_DATA RTL_BSD_DATA
ULONG NumberOfBuckets
Definition: rtltypes.h:1701
struct _RTL_ATOM_TABLE * PRTL_ATOM_TABLE
USHORT Atom
Definition: rtltypes.h:1675
struct _RTL_BSD_ITEM * PRTL_BSD_ITEM
UCHAR OldPrivBuffer[1024]
Definition: rtltypes.h:1410
ULONG DeleteCount
Definition: rtltypes.h:428
struct _RTL_USER_PROCESS_INFORMATION RTL_USER_PROCESS_INFORMATION
_RTL_UMS_SCHEDULER_REASON
Definition: rtltypes.h:1578
struct _RTL_BITMAP_RUN * PRTL_BITMAP_RUN
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:361
PVOID CurrentUpperCommitLimit
Definition: rtltypes.h:1783
ULONG MaximumNumberOfHandles
Definition: rtltypes.h:1257
struct _RTL_DRIVE_LETTER_CURDIR RTL_DRIVE_LETTER_CURDIR
struct _PREFIX_TABLE_ENTRY * NextPrefixTree
Definition: rtltypes.h:610
RTL_QUERY_REGISTRY_ROUTINE * PRTL_QUERY_REGISTRY_ROUTINE
Definition: rtltypes.h:53
VOID(NTAPI * WAITORTIMERCALLBACKFUNC)(PVOID pvContext, BOOLEAN fTimerOrWaitFired)
Definition: rtltypes.h:496
ULONG TimeoutBoost
Definition: rtltypes.h:1522
struct _RTL_TRACE_SEGMENT * NextSegment
Definition: rtltypes.h:1856
struct _RTL_TIME_ZONE_INFORMATION * PRTL_TIME_ZONE_INFORMATION
SIZE_T Settable
Definition: rtltypes.h:1070
UCHAR Checksum
Definition: rtltypes.h:1344
* PM128A
Definition: ketypes.h:925
* PRTL_BITMAP
Definition: rtltypes.h:35
struct _HEAP_LOCK HEAP_LOCK
* PRTL_UMS_CONTEXT
Definition: rtltypes.h:1665
ULONG LastReportedAbnormalShutdownBootId
Definition: rtltypes.h:1347
UNICODE_STRING ShellInfo
Definition: rtltypes.h:1556
USHORT CreatorBackTraceIndex
Definition: rtltypes.h:1111
struct _RTL_TRACE_DATABASE * Database
Definition: rtltypes.h:1855
FAST_MUTEX FastMutex
Definition: rtltypes.h:1841
USHORT TagIndex
Definition: rtltypes.h:1071
ACCESS_MASK AccessMask
Definition: rtltypes.h:995
ULONG DeCommitFreeBlockThreshold
Definition: nt_native.h:1670
LIST_ENTRY ListHead
Definition: rtltypes.h:1498
struct _RTL_RANGE * PRTL_RANGE
struct _RTL_BSD_DATA_ERROR_INFO RTL_BSD_DATA_ERROR_INFO
ULONG Version
Definition: rtltypes.h:1334
UNICODE_STRING DesktopInfo
Definition: rtltypes.h:1555
struct _RTL_UNICODE_STRING_BUFFER * PRTL_UNICODE_STRING_BUFFER
LARGE_INTEGER LastReferenceTime
Definition: rtltypes.h:1294
USHORT PrivateFlags
Definition: rtltypes.h:1503
#define DUMMYUNIONNAME
Definition: ntbasedef.h:32
PRTL_PROCESS_VERIFIER_OPTIONS VerifierOptions
Definition: rtltypes.h:1210
Definition: amd64_sup.c:13
struct _RTL_PROCESS_HEAPS RTL_PROCESS_HEAPS
Definition: rtltypes.h:1485
PVOID DebugInfo
Definition: rtltypes.h:1523
#define NTSYSAPI
Definition: ntoskrnl.h:12
USHORT Flags
Definition: rtltypes.h:1898
SIZE_T CommittedSize
Definition: rtltypes.h:1099
Definition: amd64_sup.c:13
PVOID UserData
Definition: rtltypes.h:1471
PVOID FirstEntry
Definition: rtltypes.h:1079
ULONG(NTAPI * RTLP_UNHANDLED_EXCEPTION_FILTER)(_In_ struct _EXCEPTION_POINTERS *ExceptionInfo)
Definition: rtltypes.h:549
struct _RTL_PATCH_HEADER * NextPath
Definition: rtltypes.h:1726
struct _RTL_DEBUG_INFORMATION * PRTL_DEBUG_INFORMATION
static int Link(const char **args)
Definition: vfdcmd.c:2414
struct _RTL_PROCESS_MODULES RTL_PROCESS_MODULES
PEXCEPTION_ROUTINE Handler
Definition: compat.h:727
struct _RTL_HEAP_ENTRY RTL_HEAP_ENTRY
#define MAXIMUM_LEADBYTES
Definition: rtltypes.h:361
PVOID TableContext
Definition: rtltypes.h:432
struct _HEAP_LOCK * PHEAP_LOCK
LIST_ENTRY ListHead
Definition: rtltypes.h:1461
PRTL_PROCESS_LOCKS Locks
Definition: rtltypes.h:1207
ULONG(NTAPI * PTHREAD_START_ROUTINE)(PVOID Parameter)
Definition: rtltypes.h:566
RTL_PROCESS_BACKTRACE_INFORMATION BackTraces[1]
Definition: rtltypes.h:1173
uint32_t ULONG_PTR
Definition: typedefs.h:65
PLDR_DATA_TABLE_ENTRY PatchLdrDataTableEntry
Definition: rtltypes.h:1733
struct _RTL_CRITICAL_SECTION_DEBUG * PRTL_RESOURCE_DEBUG
PTOKEN_PRIVILEGES OldPrivileges
Definition: rtltypes.h:1407
struct _RTL_RELATIVE_NAME_U * PRTL_RELATIVE_NAME_U
struct _RTL_TRACE_ENUMERATE * PRTL_TRACE_ENUMERATE
WCHAR MinimumStaticBufferForTerminalNul
Definition: rtltypes.h:1887
UCHAR Flags
Definition: rtltypes.h:1474
RTL_BSD_DATA_ERROR_INFO ErrorInfo
Definition: rtltypes.h:1348
PVOID OrderedPointer
Definition: rtltypes.h:423
struct _MESSAGE_RESOURCE_ENTRY * PMESSAGE_RESOURCE_ENTRY
struct _RTL_GENERIC_TABLE * PRTL_GENERIC_TABLE
RTL_BALANCED_LINKS BalancedRoot
Definition: rtltypes.h:422
ULONG CLONG
Definition: umtypes.h:126
SIZE_T BytesCommitted
Definition: rtltypes.h:1050
enum _RTL_UMSCTX_FLAGS RTL_UMSCTX_FLAGS
_In_ ULONG _In_ ULONG _In_opt_ PVOID Context
Definition: rtltypes.h:50
PVOID BackTrace[32]
Definition: rtltypes.h:1761
PRTL_ATOM_TABLE_ENTRY Buckets[1]
Definition: rtltypes.h:1702
HANDLE ExclusiveSemaphore
Definition: rtltypes.h:1518
struct _RTL_BITMAP_RUN RTL_BITMAP_RUN
struct _RTL_HEAP_ENTRY::@2648::@2649 s1
struct _RTL_RESOURCE * PRTL_RESOURCE
struct _RTL_CRITICAL_SECTION_DEBUG RTL_RESOURCE_DEBUG
struct _COMPRESSED_DATA_INFO * PCOMPRESSED_DATA_INFO
PVOID Address
Definition: rtltypes.h:1040
ULONG_PTR * PSIZE_T
Definition: typedefs.h:80
PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine
Definition: nt_native.h:109
WCHAR ExtensionBuffer[4]
Definition: rtltypes.h:603
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
struct _RTL_HEAP_PARAMETERS RTL_HEAP_PARAMETERS
SIZE_T BytesAllocated
Definition: rtltypes.h:1034
#define CONST_VTBL
Definition: objbase.h:222
struct _RTL_ACQUIRE_STATE * PRTL_ACQUIRE_STATE
struct _MESSAGE_RESOURCE_DATA * PMESSAGE_RESOURCE_DATA
struct _RTL_BSD_DATA_POWER_TRANSITION RTL_BSD_DATA_POWER_TRANSITION
long LONG
Definition: pedump.c:60
struct _RTL_CRITICAL_SECTION_DEBUG * PRTL_CRITICAL_SECTION_DEBUG
struct _PREFIX_TABLE_ENTRY * PPREFIX_TABLE_ENTRY
USHORT HandleIndex
Definition: rtltypes.h:1674
struct _RTL_PROCESS_LOCK_INFORMATION * PRTL_PROCESS_LOCK_INFORMATION
_HEAP_INFORMATION_CLASS
Definition: rtltypes.h:486
struct _ACTIVATION_CONTEXT_STACK * PACTIVATION_CONTEXT_STACK
RTL_GENERIC_FREE_ROUTINE * PRTL_GENERIC_FREE_ROUTINE
Definition: rtltypes.h:469
BOOLEAN SleepInProgress
Definition: rtltypes.h:1340
CRITICAL_SECTION CriticalSection
Definition: iprtprio.c:40
struct _UNICODE_PREFIX_TABLE UNICODE_PREFIX_TABLE
struct _RTL_PROCESS_MODULE_INFORMATION * PRTL_PROCESS_MODULE_INFORMATION
struct _RTL_PROCESS_BACKTRACES * PRTL_PROCESS_BACKTRACES
RTL_TRACE_HASH_FUNCTION HashFunction
Definition: rtltypes.h:1846
Definition: rtltypes.h:621
struct _RTL_TRACE_DATABASE * Database
Definition: rtltypes.h:1865
PRTL_HEAP_ENTRY Entries
Definition: rtltypes.h:1129
struct _PREFIX_TABLE_ENTRY PREFIX_TABLE_ENTRY
struct _RTL_HEAP_WALK_ENTRY RTL_HEAP_WALK_ENTRY
VOID(NTAPI * PRTL_BASE_PROCESS_START_ROUTINE)(PTHREAD_START_ROUTINE StartAddress, PVOID Parameter)
Definition: rtltypes.h:571
RTL_PROCESS_LOCK_INFORMATION Locks[1]
Definition: rtltypes.h:1155
struct _RTL_TIME_ZONE_INFORMATION RTL_TIME_ZONE_INFORMATION
struct _ACTIVATION_CONTEXT_STACK ACTIVATION_CONTEXT_STACK
struct _RTL_HEAP_INFORMATION * PRTL_HEAP_INFORMATION
struct _RTL_TRACE_BLOCK * Block
Definition: rtltypes.h:1867
USHORT AllocatorBackTraceIndex
Definition: rtltypes.h:1042
unsigned char BOOLEAN
PTOKEN_PRIVILEGES NewPrivileges
Definition: rtltypes.h:1408
static WCHAR Address[46]
Definition: ping.c:68
PVOID FirstBlock
Definition: rtltypes.h:1100
#define _In_
Definition: ms_sal.h:308
struct _MESSAGE_RESOURCE_DATA MESSAGE_RESOURCE_DATA
enum _RTL_BSD_ITEM_TYPE RTL_BSD_ITEM_TYPE
PLDR_DATA_TABLE_ENTRY TargetLdrDataTableEntry
Definition: rtltypes.h:1732
ULONG NumberOfFrees
Definition: rtltypes.h:1108
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
struct _RTL_AVL_TABLE RTL_AVL_TABLE
Definition: amd64_sup.c:13
struct _RTL_BUFFER RTL_BUFFER
void * PVOID
Definition: retypes.h:9
struct _RTL_PATCH_HEADER * PRTL_PATCH_HEADER
USHORT Milliseconds
Definition: env_spec_w32.h:717
CSHORT NameLength
Definition: rtltypes.h:623
USHORT TransDefaultChar
Definition: precomp.h:25
struct _RTL_TRACE_SEGMENT RTL_TRACE_SEGMENT
PVOID Owner
Definition: rtltypes.h:1494
PRTL_HANDLE_TABLE_ENTRY CommittedHandles
Definition: rtltypes.h:1261
UCHAR LastBootCheckpoint
Definition: rtltypes.h:1343
Definition: rtltypes.h:1037
USHORT AllocatorBackTraceIndex
Definition: rtltypes.h:1072
struct _RTL_STACK_TRACE_ENTRY RTL_STACK_TRACE_ENTRY
EXCEPTION_ROUTINE * PEXCEPTION_ROUTINE
Definition: compat.h:709
struct _STACK_TRACE_DATABASE * PSTACK_TRACE_DATABASE
struct _RTL_PROCESS_MODULE_INFORMATION_EX * PRTL_PROCESS_MODULE_INFORMATION_EX
PRTL_GENERIC_ALLOCATE_ROUTINE AllocateRoutine
Definition: rtltypes.h:478
struct _RTL_HANDLE_TABLE_ENTRY RTL_HANDLE_TABLE_ENTRY
struct _RTL_ACTIVATION_CONTEXT_STACK_FRAME RTL_ACTIVATION_CONTEXT_STACK_FRAME
struct _RTL_TRACE_BLOCK * PRTL_TRACE_BLOCK
FAST_MUTEX
Definition: extypes.h:17
HANDLE CriticalSectionHandle
Definition: rtltypes.h:1212
struct _RTL_ACTIVATION_CONTEXT_STACK_FRAME * ActiveFrame
Definition: rtltypes.h:973
struct _TIME_FIELDS TIME_FIELDS
PRTL_DRIVE_LETTER_CURDIR CurrentDirectories
Definition: rtltypes.h:1395
int Count
Definition: noreturn.cpp:7
struct _RTL_PERTHREAD_CURDIR * PRTL_PERTHREAD_CURDIR
ULONG_PTR CommittedSize
Definition: rtltypes.h:1077
SECTION_IMAGE_INFORMATION ImageInformation
Definition: rtltypes.h:1573
UNICODE_STRING TargetDllName
Definition: rtltypes.h:1730
ULONG VirtualMemoryThreshold
Definition: nt_native.h:1673
PRTL_PROCESS_BACKTRACES BackTraces
Definition: rtltypes.h:1205
struct _RTL_HEAP_USAGE * PRTL_HEAP_USAGE
UCHAR Text[ANYSIZE_ARRAY]
Definition: rtltypes.h:1899
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
struct _RTL_TRACE_SEGMENT * PRTL_TRACE_SEGMENT
_IRQL_requires_same_ _In_ PVOID _In_ PVOID SecondStruct
Definition: rtltypes.h:383
CSHORT NodeTypeCode
Definition: rtltypes.h:622
CSHORT NameLength
Definition: rtltypes.h:609
__wchar_t WCHAR
Definition: xmlstorage.h:180
struct _RTL_TRACE_DATABASE * PRTL_TRACE_DATABASE
struct _RTL_UNICODE_STRING_BUFFER RTL_UNICODE_STRING_BUFFER
struct _RTL_BSD_DATA_POWER_TRANSITION * PRTL_BSD_DATA_POWER_TRANSITION
UCHAR Attributes
Definition: rtltypes.h:1501
_Inout_ PVOID * CommitAddress
Definition: rtltypes.h:578
USHORT DefaultChar
Definition: precomp.h:23
uint64_t ULONGLONG
Definition: typedefs.h:67
struct _RTL_BSD_DATA * PRTL_BSD_DATA
struct _RTL_HANDLE_TABLE_ENTRY * PRTL_HANDLE_TABLE_ENTRY
USHORT ReferenceCount
Definition: rtltypes.h:1676
ULONG CompressedChunkSizes[ANYSIZE_ARRAY]
Definition: rtltypes.h:647
UCHAR LeadByte[MAXIMUM_LEADBYTES]
Definition: precomp.h:27
PRTL_HEAP_USAGE_ENTRY AddedEntries
Definition: rtltypes.h:1054
_Inout_opt_ PVOID Parameter
Definition: rtltypes.h:357
PRTL_GENERIC_COMPARE_ROUTINE CompareRoutine
Definition: rtltypes.h:477
struct _RTL_HEAP_USAGE_ENTRY * Next
Definition: rtltypes.h:1039
_In_opt_ PVOID _Out_ PLARGE_INTEGER Cookie
Definition: cmfuncs.h:13
struct _RTL_STACK_TRACE_ENTRY * HashChain
Definition: rtltypes.h:1757
struct _RTL_USER_PROCESS_PARAMETERS * PRTL_USER_PROCESS_PARAMETERS
_RTL_GENERIC_COMPARE_RESULTS
Definition: rtltypes.h:369
RTL_BSD_POWER_BUTTON_PRESS_INFO PowerButtonPressInfo
Definition: rtltypes.h:1349
ULONG WhichOrderedElement
Definition: rtltypes.h:424
ULONG NumberGenericTableElements
Definition: rtltypes.h:425
struct _RTL_HEAP_USAGE_ENTRY * PRTL_HEAP_USAGE_ENTRY
BOOLEAN AabEnabled
Definition: rtltypes.h:1336
USHORT Flags
Definition: rtltypes.h:1065
NTSTATUS(* PRTL_HEAP_COMMIT_ROUTINE)(IN PVOID Base, IN OUT PVOID *CommitAddress, IN OUT PULONG CommitSize)
Definition: nt_native.h:1660
_In_ GUID _In_ PVOID ValueData
Definition: hubbusif.h:311
#define RTL_MAX_DRIVE_LETTERS
Definition: rtltypes.h:57
struct _UNICODE_PREFIX_TABLE_ENTRY * PUNICODE_PREFIX_TABLE_ENTRY
struct _RTL_BSD_POWER_BUTTON_PRESS_INFO * PRTL_BSD_POWER_BUTTON_PRESS_INFO
struct _RTL_TRACE_BLOCK ** Buckets
Definition: rtltypes.h:1845
struct _COMPRESSED_DATA_INFO COMPRESSED_DATA_INFO
union _RTL_TRACE_DATABASE::@2668 u
_RTL_UMSCTX_FLAGS
Definition: rtltypes.h:1585
#define RTL_SIZEOF_THROUGH_FIELD(type, field)
Definition: ntbasedef.h:672
struct _RTL_CRITICAL_SECTION * PRTL_CRITICAL_SECTION
static IN LPSTR Unk1
Definition: ldrinit.c:47
PVOID PatchImageBase
Definition: rtltypes.h:1725
RTL_AVL_MATCH_FUNCTION * PRTL_AVL_MATCH_FUNCTION
Definition: rtltypes.h:411
struct _RUNTIME_FUNCTION RUNTIME_FUNCTION
RTL_PROCESS_MODULE_INFORMATION BaseInfo
Definition: rtltypes.h:1024
struct _CURDIR CURDIR
struct _ACTIVATION_CONTEXT * ActivationContext
Definition: winternl.h:250
Definition: partlist.h:33
NTKERNELAPI const PRTL_ALLOCATE_STRING_ROUTINE RtlAllocateStringRoutine
struct _MESSAGE_RESOURCE_BLOCK * PMESSAGE_RESOURCE_BLOCK
ULONG NumberOfBits
Definition: typedefs.h:97
struct _RTL_BSD_DATA_POWER_TRANSITION::@2655 Flags
struct _RTL_HEAP_PARAMETERS * PRTL_HEAP_PARAMETERS
UNICODE_STRING DosPath
Definition: rtltypes.h:1390
struct _RTL_PROCESS_MODULE_INFORMATION RTL_PROCESS_MODULE_INFORMATION
struct _RUNTIME_FUNCTION * PRUNTIME_FUNCTION
unsigned __int64 ULONG64
Definition: imports.h:198
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
Definition: wdfregistry.h:240
ULONG ExclusiveWaiters
Definition: rtltypes.h:1519
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
Definition: wdfinterrupt.h:651
unsigned char UCHAR
Definition: xmlstorage.h:181
struct _RTL_QUERY_REGISTRY_TABLE RTL_QUERY_REGISTRY_TABLE
struct _RTL_ACQUIRE_STATE RTL_ACQUIRE_STATE
PPREFIX_TABLE_ENTRY NextPrefixTree
Definition: rtltypes.h:618
ULONG NumberGenericTableElements
Definition: rtltypes.h:476
UNICODE_STRING ImagePathName
Definition: btrfs_drv.h:1901
HANDLE CriticalSectionOwnerThread
Definition: rtltypes.h:1213
struct _RTL_BSD_POWER_BUTTON_PRESS_INFO::@2656 Flags
USHORT CreatorBackTraceIndex
Definition: rtltypes.h:1120
struct _RTL_RANGE_LIST RTL_RANGE_LIST
PRTL_SPLAY_LINKS TableRoot
Definition: rtltypes.h:472
struct _RTL_HEAP_TAG RTL_HEAP_TAG
PRTL_GENERIC_FREE_ROUTINE FreeRoutine
Definition: rtltypes.h:479
ULONG_PTR UnCommittedSize
Definition: rtltypes.h:1078
#define NTSTATUS
Definition: precomp.h:20
UNICODE_STRING String
Definition: rtltypes.h:1885
struct _RTL_FLS_DATA RTL_FLS_DATA
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:454
#define VOID
Definition: acefi.h:82
struct _RTLP_RANGE_LIST_ENTRY * PRTLP_RANGE_LIST_ENTRY
ULONG SizeOfBitMap
Definition: typedefs.h:90
struct _RTL_HEAP_USAGE_ENTRY RTL_HEAP_USAGE_ENTRY
ULONG NumberOfAllocations
Definition: rtltypes.h:1032
Definition: btrfs_drv.h:1876
struct _RTL_HEAP_WALK_ENTRY::@2644::@2647 Segment
struct _RTL_PROCESS_LOCKS * PRTL_PROCESS_LOCKS
struct _RTL_PROCESS_LOCKS RTL_PROCESS_LOCKS
_IRQL_requires_same_ _In_ PVOID FirstStruct
Definition: rtltypes.h:383
#define Trace(x)
Definition: inflate.c:42
struct _RTL_STACK_TRACE_ENTRY * PRTL_STACK_TRACE_ENTRY
struct _RTL_PROCESS_HEAPS * PRTL_PROCESS_HEAPS
PRTL_AVL_COMPARE_ROUTINE CompareRoutine
Definition: rtltypes.h:429
Definition: rtltypes.h:1059
RTL_BITMAP
Definition: rtltypes.h:35
Definition: typedefs.h:119
BOOLEAN LastBootSucceeded
Definition: rtltypes.h:1338
USHORT Length
Definition: rtltypes.h:1897
UNICODE_STRING CommandLine
Definition: btrfs_drv.h:1902
struct _RTL_HEAP_ENTRY * PRTL_HEAP_ENTRY
UCHAR Attributes
Definition: rtltypes.h:1473
USHORT CompressionFormatAndEngine
Definition: rtltypes.h:641
PRTL_AVL_FREE_ROUTINE FreeRoutine
Definition: rtltypes.h:431
RTL_AVL_FREE_ROUTINE * PRTL_AVL_FREE_ROUTINE
Definition: rtltypes.h:402
PUNICODE_PREFIX_TABLE_ENTRY LastNextEntry
Definition: rtltypes.h:634
Definition: rtltypes.h:607
struct _RTL_BSD_POWER_BUTTON_PRESS_INFO RTL_BSD_POWER_BUTTON_PRESS_INFO
struct _RTL_HEAP_TAG_INFO * PRTL_HEAP_TAG_INFO
struct _RTL_USER_PROCESS_INFORMATION * PRTL_USER_PROCESS_INFORMATION
enum _RTL_BSD_ITEM_TYPE * PRTL_BSD_ITEM_TYPE
ULONG StartingIndex
Definition: typedefs.h:96
UNICODE_STRING RuntimeData
Definition: rtltypes.h:1557
struct _RTLP_CURDIR_REF * PRTLP_CURDIR_REF
struct _RTL_UNLOAD_EVENT_TRACE * PRTL_UNLOAD_EVENT_TRACE
PVOID CurrentLowerCommitLimit
Definition: rtltypes.h:1782
struct _RTL_PERTHREAD_CURDIR RTL_PERTHREAD_CURDIR
struct _RTL_HEAP_INFORMATION RTL_HEAP_INFORMATION
PUCHAR StaticBuffer
Definition: rtltypes.h:1876
RTL_UMS_CONTEXT
Definition: rtltypes.h:1665
struct _RTL_GENERIC_TABLE RTL_GENERIC_TABLE
typedef BOOLEAN(NTAPI *PRTL_CONFLICT_RANGE_CALLBACK)(PVOID Context
NTKERNELAPI const PRTL_FREE_STRING_ROUTINE RtlFreeStringRoutine
struct _RTL_SPLAY_LINKS RTL_SPLAY_LINKS
UCHAR Padding[0x68]
Definition: rtltypes.h:1452
USHORT Index
Definition: rtltypes.h:1759
RTL_CRITICAL_SECTION CriticalSection
Definition: rtltypes.h:1448
ULONG SharedWaiters
Definition: rtltypes.h:1517
struct _RTLP_RANGE_LIST_ENTRY::@2659::@2662 Merged
ULONG_PTR SIZE_T
Definition: typedefs.h:80
LIST_ENTRY ListEntry
Definition: rtltypes.h:1223
PRTL_CRITICAL_SECTION_DEBUG DebugInfo
Definition: rtltypes.h:1431
UCHAR AabTimeout
Definition: rtltypes.h:1337
ULONG SizeOfHandleTableEntry
Definition: rtltypes.h:1258
struct _PREFIX_TABLE * PPREFIX_TABLE
ULONG NumberOfAllocationFailures
Definition: rtltypes.h:1789
RTL_CRITICAL_SECTION Lock
Definition: rtltypes.h:1515
LONG NumberActive
Definition: rtltypes.h:1520
PUNICODE_STRING ImageName
Definition: rtltypes.h:1396
HANDLE OldImpersonationToken
Definition: rtltypes.h:1406
_In_ ULONG ValueType
Definition: rtltypes.h:48
struct _RTL_HEAP_USAGE RTL_HEAP_USAGE
UCHAR PublicFlags
Definition: rtltypes.h:1502
RTL_SPLAY_LINKS Links
Definition: rtltypes.h:626
LARGE_INTEGER PowerButtonTimestamp
Definition: rtltypes.h:1281
struct _RTL_PROCESS_BACKTRACE_INFORMATION RTL_PROCESS_BACKTRACE_INFORMATION
ULONG Tag
Definition: rtltypes.h:1095
struct _RTL_CRITICAL_SECTION RTL_CRITICAL_SECTION
ULONGLONG End
Definition: rtltypes.h:1470
PRTL_AVL_ALLOCATE_ROUTINE AllocateRoutine
Definition: rtltypes.h:430
_Must_inspect_result_ _In_ PHYSICAL_ADDRESS HighAddress
Definition: mmfuncs.h:226
ULONG LastSuccessfulShutdownBootId
Definition: rtltypes.h:1346
unsigned short USHORT
Definition: pedump.c:61
PRTL_PROCESS_HEAPS Heaps
Definition: rtltypes.h:1206
MESSAGE_RESOURCE_BLOCK Blocks[ANYSIZE_ARRAY]
Definition: rtltypes.h:1912
SIZE_T StaticSize
Definition: rtltypes.h:1878
struct _RTL_ATOM_TABLE_ENTRY * HashLink
Definition: rtltypes.h:1673
C_ASSERT(FIELD_OFFSET(LARGE_INTEGER, LowPart)==0)
struct _RTL_AVL_TABLE * PRTL_AVL_TABLE
_IRQL_requires_same_ _In_ PVOID _In_ PVOID MatchData
Definition: rtltypes.h:409
struct _RANGE_LIST_ITERATOR * PRTL_RANGE_LIST_ITERATOR
struct _RTL_HANDLE_TABLE_ENTRY * NextFree
Definition: rtltypes.h:1251
struct _RTL_HEAP_TAG * PRTL_HEAP_TAG
struct _TIME_FIELDS * PTIME_FIELDS
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
PRTL_HEAP_USAGE_ENTRY RemovedEntries
Definition: rtltypes.h:1055
_In_ NTSTATUS ExitStatus
Definition: psfuncs.h:859
struct _RTL_ATOM_TABLE_ENTRY RTL_ATOM_TABLE_ENTRY
RTL_BSD_DATA_POWER_TRANSITION PowerTransition
Definition: rtltypes.h:1341
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:255
PVOID Owner
Definition: rtltypes.h:1472
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:1035
PRTL_HANDLE_TABLE_ENTRY UnCommittedHandles
Definition: rtltypes.h:1262
HANDLE SharedSemaphore
Definition: rtltypes.h:1516
unsigned int * PULONG
Definition: retypes.h:1
_TABLE_SEARCH_RESULT
Definition: rtltypes.h:362
struct _MESSAGE_RESOURCE_ENTRY MESSAGE_RESOURCE_ENTRY
Definition: amd64_sup.c:13
enum _RTL_GENERIC_COMPARE_RESULTS RTL_GENERIC_COMPARE_RESULTS
struct _RTL_CRITICAL_SECTION_DEBUG RTL_CRITICAL_SECTION_DEBUG
RTLP_UNHANDLED_EXCEPTION_FILTER * PRTLP_UNHANDLED_EXCEPTION_FILTER
Definition: rtltypes.h:552
struct _RTL_RELATIVE_NAME_U RTL_RELATIVE_NAME_U
struct _NLS_FILE_HEADER * PNLS_FILE_HEADER
PLIST_ENTRY OrderedPointer
Definition: rtltypes.h:474
#define RTL_FLS_MAXIMUM_AVAILABLE
Definition: rtltypes.h:1220
struct _RTL_PROCESS_LOCK_INFORMATION RTL_PROCESS_LOCK_INFORMATION
UNICODE_STRING DosPath
Definition: rtltypes.h:1368
struct _NLS_FILE_HEADER NLS_FILE_HEADER
HANDLE Handle
Definition: rtltypes.h:1369
struct _RTL_ATOM_TABLE RTL_ATOM_TABLE
struct _RTL_RANGE_LIST * PRTL_RANGE_LIST
struct _RTL_UNLOAD_EVENT_TRACE RTL_UNLOAD_EVENT_TRACE
ULONG Flags
Definition: rtltypes.h:1250
VOID(NTAPI * WORKERCALLBACKFUNC)(_In_ PVOID Context)
Definition: rtltypes.h:513
struct _GENERATE_NAME_CONTEXT * PGENERATE_NAME_CONTEXT
SIZE_T Size
Definition: rtltypes.h:1041
_IRQL_requires_same_ _In_ PVOID UserData
Definition: rtltypes.h:409
HANDLE OwningThread
Definition: rtltypes.h:1521
USHORT AllocatorBackTraceIndex
Definition: rtltypes.h:1089
struct _RTL_BUFFER * PRTL_BUFFER
struct _RTL_TRACE_BLOCK RTL_TRACE_BLOCK
PRTL_PROCESS_MODULE_INFORMATION_EX ModulesEx
Definition: rtltypes.h:1203
ULONG LastBootId
Definition: rtltypes.h:1345
PUCHAR Buffer
Definition: rtltypes.h:1875
SIZE_T BytesAllocated
Definition: rtltypes.h:1109
struct _RTL_HEAP_WALK_ENTRY * PRTL_HEAP_WALK_ENTRY
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
Definition: wdfsync.h:124
PRTL_BALANCED_LINKS RestartKey
Definition: rtltypes.h:427
struct _STACK_TRACE_DATABASE STACK_TRACE_DATABASE
ULONG ERESOURCE
Definition: env_spec_w32.h:594
unsigned int ULONG
Definition: retypes.h:1
PUNICODE_PREFIX_TABLE_ENTRY NextPrefixTree
Definition: rtltypes.h:633
#define DUMMYUNIONNAME2
Definition: ntbasedef.h:34
Definition: rtltypes.h:1246
struct _RTL_PROCESS_VERIFIER_OPTIONS RTL_PROCESS_VERIFIER_OPTIONS
PVOID DataBuffer
Definition: rtltypes.h:1272
struct _UNICODE_PREFIX_TABLE_ENTRY UNICODE_PREFIX_TABLE_ENTRY
_In_ ULONG _In_ ULONG _In_opt_ PVOID _In_opt_ PVOID EntryContext
Definition: rtltypes.h:50
RTL_PROCESS_MODULE_INFORMATION Modules[1]
Definition: rtltypes.h:1018
ULONG ProductType
Definition: rtltypes.h:1335
RTL_SPLAY_LINKS Links
Definition: rtltypes.h:611
LIST_ENTRY InsertOrderList
Definition: rtltypes.h:473
enum _HEAP_INFORMATION_CLASS HEAP_INFORMATION_CLASS
unsigned __int64 * PULONG64
Definition: imports.h:198
VOID(NTAPI * PRTL_FREE_STRING_ROUTINE)(_In_ __drv_freesMem(Mem) _Post_invalid_ PVOID Buffer)
Definition: rtltypes.h:563
RTL_BSD_ITEM_TYPE Type
Definition: rtltypes.h:1271
UNICODE_STRING RelativeName
Definition: rtltypes.h:1380
Definition: amd64_sup.c:13
USHORT MaximumCharacterSize
Definition: precomp.h:22
PRTL_STACK_TRACE_ENTRY * EntryIndexArray
Definition: rtltypes.h:1790
RTL_HEAP_INFORMATION Heaps[1]
Definition: rtltypes.h:1135
PRTL_HANDLE_TABLE_ENTRY MaxReservedHandles
Definition: rtltypes.h:1263
RTL_AVL_ALLOCATE_ROUTINE * PRTL_AVL_ALLOCATE_ROUTINE
Definition: rtltypes.h:394
ULONG WhichOrderedElement
Definition: rtltypes.h:475
ULONG DataLength
Definition: rtltypes.h:1273
UCHAR SegmentIndex
Definition: rtltypes.h:1064
struct _UNICODE_PREFIX_TABLE_ENTRY * CaseMatch
Definition: rtltypes.h:625
CSHORT NodeTypeCode
Definition: rtltypes.h:608
PVOID UserData
Definition: rtltypes.h:1493
USHORT TransUniDefaultChar
Definition: precomp.h:26
ULONGLONG Start
Definition: rtltypes.h:1487
struct _RANGE_LIST_ITERATOR RTL_RANGE_LIST_ITERATOR
SIZE_T ReservedForAllocatedSize
Definition: rtltypes.h:1879
struct _RTL_SPLAY_LINKS * PRTL_SPLAY_LINKS
NTSTATUS(NTAPI * PHEAP_ENUMERATION_ROUTINE)(_In_ PVOID HeapHandle, _In_ PVOID UserParam)
Definition: rtltypes.h:558
_In_ HANDLE ProcessHandle
Definition: mmfuncs.h:403
Definition: rtltypes.h:1085
#define DUMMYSTRUCTNAME
Definition: ntbasedef.h:58
_In_ ULONG _In_ ULONG ValueLength
Definition: rtltypes.h:50
_IRQL_requires_same_ _In_ CLONG ByteSize
Definition: rtltypes.h:393
SIZE_T Settable
Definition: rtltypes.h:1094
struct _HOTPATCH_HEADER * HotpatchHeader
Definition: rtltypes.h:1729
short CSHORT
Definition: umtypes.h:127
ULONG HashCounter[16]
Definition: rtltypes.h:1849
KSPIN_LOCK SpinLock
Definition: rtltypes.h:1840
UCHAR CompressionUnitShift
Definition: rtltypes.h:642
struct _RTL_TRACE_DATABASE RTL_TRACE_DATABASE
struct _RTL_USER_PROCESS_PARAMETERS RTL_USER_PROCESS_PARAMETERS
struct _RTL_PATCH_HEADER RTL_PATCH_HEADER
struct _RTL_HANDLE_TABLE RTL_HANDLE_TABLE
ULONG DeCommitTotalFreeThreshold
Definition: nt_native.h:1671
struct _RTL_HEAP_ENTRY::@2648::@2650 s2
PVOID ReservedForIMalloc
Definition: rtltypes.h:1880
struct _RTL_RANGE * Range
Definition: rtltypes.h:705
Definition: rtltypes.h:992
ACE_HEADER Header
Definition: rtltypes.h:994
_Inout_opt_ PUNICODE_STRING _Inout_opt_ PUNICODE_STRING Stream
Definition: fltkernel.h:1092
PRTLP_CURDIR_REF CurDirRef
Definition: rtltypes.h:1382
struct _RTL_RANGE RTL_RANGE
ULONG ACCESS_MASK
Definition: nt_native.h:40
struct _GENERATE_NAME_CONTEXT GENERATE_NAME_CONTEXT
base of all file and directory entries
Definition: entries.h:82
struct _RTL_ACTIVATION_CONTEXT_STACK_FRAME * PRTL_ACTIVATION_CONTEXT_STACK_FRAME
struct _EXCEPTION_REGISTRATION_RECORD * PEXCEPTION_REGISTRATION_RECORD
struct _RTL_PROCESS_MODULE_INFORMATION_EX RTL_PROCESS_MODULE_INFORMATION_EX
struct _RTL_DRIVE_LETTER_CURDIR * PRTL_DRIVE_LETTER_CURDIR
SIZE_T DataSize
Definition: rtltypes.h:1062
CSHORT NameLength
Definition: rtltypes.h:617
Definition: amd64_sup.c:13
SIZE_T BytesAllocated
Definition: rtltypes.h:1049
NTSTATUS(NTAPI * PRTL_EXIT_POOL_THREAD)(_In_ NTSTATUS ExitStatus)
Definition: rtltypes.h:587
struct _RTL_CRITICAL_SECTION * CriticalSection
Definition: rtltypes.h:1422
USHORT Depth
Definition: rtltypes.h:1760
WCHAR TagName[24]
Definition: rtltypes.h:1112
struct _SYSTEM_HOTPATCH_CODE_INFORMATION * CodeInfo
Definition: rtltypes.h:1734
ERESOURCE Resource
Definition: rtltypes.h:1450
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS const char * Format
Definition: acpixf.h:1220
NTSTATUS(NTAPI * PRTL_START_POOL_THREAD)(_In_ PTHREAD_START_ROUTINE Function, _In_ PVOID Parameter, _Out_ PHANDLE ThreadHandle)
Definition: rtltypes.h:580
ULONGLONG End
Definition: rtltypes.h:1488
struct _RTL_TRACE_BLOCK * Next
Definition: rtltypes.h:1822
struct _RTL_PROCESS_BACKTRACES RTL_PROCESS_BACKTRACES