ReactOS  r74227
rtltypes.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Runtime Library Types *
3  ******************************************************************************/
4 
6 #define RTL_REGISTRY_ABSOLUTE 0
7 #define RTL_REGISTRY_SERVICES 1
8 #define RTL_REGISTRY_CONTROL 2
9 #define RTL_REGISTRY_WINDOWS_NT 3
10 #define RTL_REGISTRY_DEVICEMAP 4
11 #define RTL_REGISTRY_USER 5
12 #define RTL_REGISTRY_MAXIMUM 6
13 #define RTL_REGISTRY_HANDLE 0x40000000
14 #define RTL_REGISTRY_OPTIONAL 0x80000000
15 
16 /* RTL_QUERY_REGISTRY_TABLE.Flags */
17 #define RTL_QUERY_REGISTRY_SUBKEY 0x00000001
18 #define RTL_QUERY_REGISTRY_TOPKEY 0x00000002
19 #define RTL_QUERY_REGISTRY_REQUIRED 0x00000004
20 #define RTL_QUERY_REGISTRY_NOVALUE 0x00000008
21 #define RTL_QUERY_REGISTRY_NOEXPAND 0x00000010
22 #define RTL_QUERY_REGISTRY_DIRECT 0x00000020
23 #define RTL_QUERY_REGISTRY_DELETE 0x00000040
24 
25 #define HASH_STRING_ALGORITHM_DEFAULT 0
26 #define HASH_STRING_ALGORITHM_X65599 1
27 #define HASH_STRING_ALGORITHM_INVALID 0xffffffff
28 
29 typedef struct _RTL_BITMAP {
31  PULONG Buffer;
33 
34 typedef struct _RTL_BITMAP_RUN {
38 
39 _Function_class_(RTL_QUERY_REGISTRY_ROUTINE)
42 typedef NTSTATUS
50 
53  ULONG Flags;
56  ULONG DefaultType;
57  PVOID DefaultData;
58  ULONG DefaultLength;
60 
61 typedef struct _TIME_FIELDS {
62  CSHORT Year;
63  CSHORT Month;
64  CSHORT Day;
65  CSHORT Hour;
66  CSHORT Minute;
67  CSHORT Second;
71 
72 /* Slist Header */
73 #ifndef _SLIST_HEADER_
74 #define _SLIST_HEADER_
75 
76 #if defined(_WIN64)
77 
78 typedef struct DECLSPEC_ALIGN(16) _SLIST_ENTRY {
79  struct _SLIST_ENTRY *Next;
81 
82 typedef struct _SLIST_ENTRY32 {
83  ULONG Next;
85 
86 typedef union DECLSPEC_ALIGN(16) _SLIST_HEADER {
87  _ANONYMOUS_STRUCT struct {
91  struct {
92  ULONGLONG Depth:16;
93  ULONGLONG Sequence:9;
94  ULONGLONG NextEntry:39;
95  ULONGLONG HeaderType:1;
96  ULONGLONG Init:1;
98  ULONGLONG Region:3;
99  } Header8;
100  struct {
101  ULONGLONG Depth:16;
102  ULONGLONG Sequence:48;
103  ULONGLONG HeaderType:1;
104  ULONGLONG Init:1;
106  ULONGLONG NextEntry:60;
107  } Header16;
108  struct {
109  ULONGLONG Depth:16;
110  ULONGLONG Sequence:48;
111  ULONGLONG HeaderType:1;
113  ULONGLONG NextEntry:60;
114  } HeaderX64;
116 
117 typedef union _SLIST_HEADER32 {
119  _ANONYMOUS_STRUCT struct {
120  SLIST_ENTRY32 Next;
121  USHORT Depth;
122  USHORT Sequence;
123  } DUMMYSTRUCTNAME;
125 
126 #else
127 
128 #define SLIST_ENTRY SINGLE_LIST_ENTRY
129 #define _SLIST_ENTRY _SINGLE_LIST_ENTRY
130 #define PSLIST_ENTRY PSINGLE_LIST_ENTRY
131 
133 
134 typedef union _SLIST_HEADER {
136  _ANONYMOUS_STRUCT struct {
140  } DUMMYSTRUCTNAME;
142 
144 
145 #endif /* defined(_WIN64) */
146 
147 #endif /* _SLIST_HEADER_ */
148 
149 /* Exception record flags */
150 #define EXCEPTION_NONCONTINUABLE 0x01
151 #define EXCEPTION_UNWINDING 0x02
152 #define EXCEPTION_EXIT_UNWIND 0x04
153 #define EXCEPTION_STACK_INVALID 0x08
154 #define EXCEPTION_NESTED_CALL 0x10
155 #define EXCEPTION_TARGET_UNWIND 0x20
156 #define EXCEPTION_COLLIDED_UNWIND 0x40
157 #define EXCEPTION_UNWIND (EXCEPTION_UNWINDING | EXCEPTION_EXIT_UNWIND | \
158  EXCEPTION_TARGET_UNWIND | EXCEPTION_COLLIDED_UNWIND)
159 
160 #define IS_UNWINDING(Flag) ((Flag & EXCEPTION_UNWIND) != 0)
161 #define IS_DISPATCHING(Flag) ((Flag & EXCEPTION_UNWIND) == 0)
162 #define IS_TARGET_UNWIND(Flag) (Flag & EXCEPTION_TARGET_UNWIND)
163 
164 #define EXCEPTION_MAXIMUM_PARAMETERS 15
165 
166 /* Exception records */
167 typedef struct _EXCEPTION_RECORD {
175 
176 typedef struct _EXCEPTION_RECORD32 {
184 
185 typedef struct _EXCEPTION_RECORD64 {
194 
195 typedef struct _EXCEPTION_POINTERS {
196  PEXCEPTION_RECORD ExceptionRecord;
199 
200 #ifdef _NTSYSTEM_
202 #define NLS_MB_CODE_PAGE_TAG NlsMbCodePageTag
204 #define NLS_MB_OEM_CODE_PAGE_TAG NlsMbOemCodePageTag
205 #else
206 __CREATE_NTOS_DATA_IMPORT_ALIAS(NlsMbCodePageTag)
207 extern BOOLEAN *NlsMbCodePageTag;
208 #define NLS_MB_CODE_PAGE_TAG (*NlsMbCodePageTag)
209 __CREATE_NTOS_DATA_IMPORT_ALIAS(NlsMbOemCodePageTag)
210 extern BOOLEAN *NlsMbOemCodePageTag;
211 #define NLS_MB_OEM_CODE_PAGE_TAG (*NlsMbOemCodePageTag)
212 #endif
213 
214 #define SHORT_LEAST_SIGNIFICANT_BIT 0
215 #define SHORT_MOST_SIGNIFICANT_BIT 1
216 
217 #define LONG_LEAST_SIGNIFICANT_BIT 0
218 #define LONG_3RD_MOST_SIGNIFICANT_BIT 1
219 #define LONG_2ND_MOST_SIGNIFICANT_BIT 2
220 #define LONG_MOST_SIGNIFICANT_BIT 3
221 
222 #define RTLVERLIB_DDI(x) Wdmlib##x
223 
224 typedef BOOLEAN
226  _In_ ULONG Version);
227 
228 typedef BOOLEAN
230  _In_ ULONG Version);
231 
232 typedef struct _OSVERSIONINFOA {
240 
241 typedef struct _OSVERSIONINFOW {
249 
250 typedef struct _OSVERSIONINFOEXA {
263 
264 typedef struct _OSVERSIONINFOEXW {
277 
278 #ifdef UNICODE
280 typedef POSVERSIONINFOEXW POSVERSIONINFOEX;
281 typedef LPOSVERSIONINFOEXW LPOSVERSIONINFOEX;
283 typedef POSVERSIONINFOW POSVERSIONINFO;
284 typedef LPOSVERSIONINFOW LPOSVERSIONINFO;
285 #else
287 typedef POSVERSIONINFOEXA POSVERSIONINFOEX;
288 typedef LPOSVERSIONINFOEXA LPOSVERSIONINFOEX;
290 typedef POSVERSIONINFOA POSVERSIONINFO;
291 typedef LPOSVERSIONINFOA LPOSVERSIONINFO;
292 #endif /* UNICODE */
293 
295 $if (_NTDDK_)
296 
297 #ifndef _RTL_RUN_ONCE_DEF
298 #define _RTL_RUN_ONCE_DEF
299 
300 #define RTL_RUN_ONCE_INIT {0}
301 
302 #define RTL_RUN_ONCE_CHECK_ONLY 0x00000001UL
303 #define RTL_RUN_ONCE_ASYNC 0x00000002UL
304 #define RTL_RUN_ONCE_INIT_FAILED 0x00000004UL
305 
306 #define RTL_RUN_ONCE_CTX_RESERVED_BITS 2
307 
308 #define RTL_HASH_ALLOCATED_HEADER 0x00000001
309 
310 #define RTL_HASH_RESERVED_SIGNATURE 0
311 
312 /* RtlVerifyVersionInfo() ComparisonType */
313 
314 #define VER_EQUAL 1
315 #define VER_GREATER 2
316 #define VER_GREATER_EQUAL 3
317 #define VER_LESS 4
318 #define VER_LESS_EQUAL 5
319 #define VER_AND 6
320 #define VER_OR 7
321 
322 #define VER_CONDITION_MASK 7
323 #define VER_NUM_BITS_PER_CONDITION_MASK 3
324 
325 /* RtlVerifyVersionInfo() TypeMask */
326 
327 #define VER_MINORVERSION 0x0000001
328 #define VER_MAJORVERSION 0x0000002
329 #define VER_BUILDNUMBER 0x0000004
330 #define VER_PLATFORMID 0x0000008
331 #define VER_SERVICEPACKMINOR 0x0000010
332 #define VER_SERVICEPACKMAJOR 0x0000020
333 #define VER_SUITENAME 0x0000040
334 #define VER_PRODUCT_TYPE 0x0000080
335 
336 #define VER_NT_WORKSTATION 0x0000001
337 #define VER_NT_DOMAIN_CONTROLLER 0x0000002
338 #define VER_NT_SERVER 0x0000003
339 
340 #define VER_PLATFORM_WIN32s 0
341 #define VER_PLATFORM_WIN32_WINDOWS 1
342 #define VER_PLATFORM_WIN32_NT 2
343 
344 typedef union _RTL_RUN_ONCE {
345  PVOID Ptr;
347 
350 typedef ULONG /* LOGICAL */
352  _Inout_ PRTL_RUN_ONCE RunOnce,
355 
356 #endif /* _RTL_RUN_ONCE_DEF */
357 
358 typedef enum _TABLE_SEARCH_RESULT {
364 
370 
371 // Forwarder
372 struct _RTL_AVL_TABLE;
373 
375 _Function_class_(RTL_AVL_COMPARE_ROUTINE)
377 (NTAPI RTL_AVL_COMPARE_ROUTINE) (
381 typedef RTL_AVL_COMPARE_ROUTINE *PRTL_AVL_COMPARE_ROUTINE;
382 
384 _Function_class_(RTL_AVL_ALLOCATE_ROUTINE)
386 typedef PVOID
387 (NTAPI RTL_AVL_ALLOCATE_ROUTINE) (
388  _In_ struct _RTL_AVL_TABLE *Table,
390 typedef RTL_AVL_ALLOCATE_ROUTINE *PRTL_AVL_ALLOCATE_ROUTINE;
391 
393 _Function_class_(RTL_AVL_FREE_ROUTINE)
394 typedef VOID
395 (NTAPI RTL_AVL_FREE_ROUTINE) (
396  _In_ struct _RTL_AVL_TABLE *Table,
398 typedef RTL_AVL_FREE_ROUTINE *PRTL_AVL_FREE_ROUTINE;
399 
401 _Function_class_(RTL_AVL_MATCH_FUNCTION)
402 typedef NTSTATUS
403 (NTAPI RTL_AVL_MATCH_FUNCTION) (
404  _In_ struct _RTL_AVL_TABLE *Table,
407 typedef RTL_AVL_MATCH_FUNCTION *PRTL_AVL_MATCH_FUNCTION;
408 
410  struct _RTL_BALANCED_LINKS *Parent;
411  struct _RTL_BALANCED_LINKS *LeftChild;
412  struct _RTL_BALANCED_LINKS *RightChild;
416 
417 typedef struct _RTL_AVL_TABLE {
423  PRTL_BALANCED_LINKS RestartKey;
430 
431 typedef struct _RTL_SPLAY_LINKS {
436 
437 #ifndef RTL_USE_AVL_TABLES
438 
439 struct _RTL_GENERIC_TABLE;
440 
442 _Function_class_(RTL_GENERIC_COMPARE_ROUTINE)
444 (NTAPI RTL_GENERIC_COMPARE_ROUTINE) (
448 typedef RTL_GENERIC_COMPARE_ROUTINE *PRTL_GENERIC_COMPARE_ROUTINE;
449 
451 _Function_class_(RTL_GENERIC_ALLOCATE_ROUTINE)
453 typedef PVOID
454 (NTAPI RTL_GENERIC_ALLOCATE_ROUTINE) (
457 typedef RTL_GENERIC_ALLOCATE_ROUTINE *PRTL_GENERIC_ALLOCATE_ROUTINE;
458 
460 _Function_class_(RTL_GENERIC_FREE_ROUTINE)
461 typedef VOID
462 (NTAPI RTL_GENERIC_FREE_ROUTINE) (
465 typedef RTL_GENERIC_FREE_ROUTINE *PRTL_GENERIC_FREE_ROUTINE;
466 
468  PRTL_SPLAY_LINKS TableRoot;
473  PRTL_GENERIC_COMPARE_ROUTINE CompareRoutine;
474  PRTL_GENERIC_ALLOCATE_ROUTINE AllocateRoutine;
475  PRTL_GENERIC_FREE_ROUTINE FreeRoutine;
478 
479 #endif /* !RTL_USE_AVL_TABLES */
480 
481 #ifdef RTL_USE_AVL_TABLES
482 
483 #undef RTL_GENERIC_COMPARE_ROUTINE
484 #undef PRTL_GENERIC_COMPARE_ROUTINE
485 #undef RTL_GENERIC_ALLOCATE_ROUTINE
486 #undef PRTL_GENERIC_ALLOCATE_ROUTINE
487 #undef RTL_GENERIC_FREE_ROUTINE
488 #undef PRTL_GENERIC_FREE_ROUTINE
489 #undef RTL_GENERIC_TABLE
490 #undef PRTL_GENERIC_TABLE
491 
492 #define RTL_GENERIC_COMPARE_ROUTINE RTL_AVL_COMPARE_ROUTINE
493 #define PRTL_GENERIC_COMPARE_ROUTINE PRTL_AVL_COMPARE_ROUTINE
494 #define RTL_GENERIC_ALLOCATE_ROUTINE RTL_AVL_ALLOCATE_ROUTINE
495 #define PRTL_GENERIC_ALLOCATE_ROUTINE PRTL_AVL_ALLOCATE_ROUTINE
496 #define RTL_GENERIC_FREE_ROUTINE RTL_AVL_FREE_ROUTINE
497 #define PRTL_GENERIC_FREE_ROUTINE PRTL_AVL_FREE_ROUTINE
498 #define RTL_GENERIC_TABLE RTL_AVL_TABLE
499 #define PRTL_GENERIC_TABLE PRTL_AVL_TABLE
500 
501 #endif /* RTL_USE_AVL_TABLES */
502 
503 #define RTL_HASH_ALLOCATED_HEADER 0x00000001
504 
509 
515 
521 
522 typedef struct _RTL_DYNAMIC_HASH_TABLE {
533 
534 #define HASH_ENTRY_KEY(x) ((x)->Signature)
535 
536 $endif (_NTDDK_)
537 $if (_NTIFS_)
538 
539 #define RTL_SYSTEM_VOLUME_INFORMATION_FOLDER L"System Volume Information"
540 
541 _Function_class_(RTL_ALLOCATE_STRING_ROUTINE)
544 typedef PVOID
545 (NTAPI *PRTL_ALLOCATE_STRING_ROUTINE)(
547 
548 #if _WIN32_WINNT >= 0x0600
549 _Function_class_(RTL_REALLOCATE_STRING_ROUTINE)
552 typedef PVOID
553 (NTAPI *PRTL_REALLOCATE_STRING_ROUTINE)(
554  _In_ SIZE_T NumberOfBytes,
555  IN PVOID Buffer);
556 #endif
557 
558 typedef VOID
561 
562 extern NTKERNELAPI const PRTL_ALLOCATE_STRING_ROUTINE RtlAllocateStringRoutine;
563 extern NTKERNELAPI const PRTL_FREE_STRING_ROUTINE RtlFreeStringRoutine;
564 
565 #if _WIN32_WINNT >= 0x0600
566 extern NTKERNELAPI const PRTL_REALLOCATE_STRING_ROUTINE RtlReallocateStringRoutine;
567 #endif
568 
569 _Function_class_(RTL_HEAP_COMMIT_ROUTINE)
571 typedef NTSTATUS
573  _In_ PVOID Base,
576 
578  ULONG Length;
587  PRTL_HEAP_COMMIT_ROUTINE CommitRoutine;
590 
591 #if (NTDDI_VERSION >= NTDDI_WIN2K)
592 
593 typedef struct _GENERATE_NAME_CONTEXT {
596  _Field_range_(<=, 8) UCHAR NameLength;
598  _Field_range_(<=, 4) ULONG ExtensionLength;
602 
606  struct _PREFIX_TABLE_ENTRY *NextPrefixTree;
610 
611 typedef struct _PREFIX_TABLE {
616 
625 
626 typedef struct _UNICODE_PREFIX_TABLE {
632 
633 #endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
634 
635 #if (NTDDI_VERSION >= NTDDI_WINXP)
636 typedef struct _COMPRESSED_DATA_INFO {
643  ULONG CompressedChunkSizes[ANYSIZE_ARRAY];
645 #endif
646 $endif (_NTIFS_)
NTSTATUS ExceptionCode
Definition: rtltypes.h:177
DWORD *typedef PVOID
Definition: winlogon.h:52
USHORT Weekday
Definition: env_spec_w32.h:718
ULONG dwBuildNumber
Definition: rtltypes.h:268
#define _SLIST_ENTRY
Definition: rtltypes.h:129
BOOLEAN CheckSumInserted
Definition: rtltypes.h:595
#define SLIST_ENTRY
Definition: rtltypes.h:128
PULONG Buffer
Definition: typedefs.h:90
struct _RTL_BALANCED_LINKS * PRTL_BALANCED_LINKS
PSTRING Prefix
Definition: rtltypes.h:608
RTL_GENERIC_COMPARE_ROUTINE * PRTL_GENERIC_COMPARE_ROUTINE
Definition: rtltypes.h:448
ULONG dwOSVersionInfoSize
Definition: rtltypes.h:265
UCHAR wProductType
Definition: rtltypes.h:274
SLIST_HEADER SLIST_HEADER32
Definition: rtltypes.h:143
struct _EXCEPTION_RECORD * PEXCEPTION_RECORD
#define _IRQL_requires_same_
Definition: no_sal2.h:652
SIZE_T DeCommitTotalFreeThreshold
Definition: rtltypes.h:582
const uint16_t * PCWSTR
Definition: typedefs.h:56
#define IN
Definition: typedefs.h:39
NTSTATUS(* PRTL_QUERY_REGISTRY_ROUTINE)(IN PWSTR ValueName, IN ULONG ValueType, IN PVOID ValueData, IN ULONG ValueLength, IN PVOID Context, IN PVOID EntryContext)
Definition: nt_native.h:99
_In_opt_ PALLOCATE_FUNCTION _In_opt_ PFREE_FUNCTION _In_ ULONG _In_ SIZE_T _In_ ULONG _In_ USHORT Depth
Definition: exfuncs.h:656
RTL_AVL_COMPARE_ROUTINE * PRTL_AVL_COMPARE_ROUTINE
Definition: rtltypes.h:381
Definition: rtltypes.h:505
ULONGLONG Alignment
Definition: rtltypes.h:135
ULONG NumberParameters
Definition: rtltypes.h:181
#define __CREATE_NTOS_DATA_IMPORT_ALIAS(_Name)
BOOLEAN * NlsMbCodePageTag
Definition: nls.c:22
ULONG dwMajorVersion
Definition: rtltypes.h:234
ULONG ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]
Definition: rtltypes.h:182
struct _RTL_DYNAMIC_HASH_TABLE RTL_DYNAMIC_HASH_TABLE
RTL_GENERIC_ALLOCATE_ROUTINE * PRTL_GENERIC_ALLOCATE_ROUTINE
Definition: rtltypes.h:457
POSVERSIONINFOA POSVERSIONINFO
Definition: rtltypes.h:290
struct _RTL_QUERY_REGISTRY_TABLE * PRTL_QUERY_REGISTRY_TABLE
#define _Post_invalid_
Definition: no_sal2.h:457
struct _UNICODE_PREFIX_TABLE_ENTRY * NextPrefixTree
Definition: rtltypes.h:620
USHORT wSuiteMask
Definition: rtltypes.h:259
ULONG dwPlatformId
Definition: rtltypes.h:269
CSHORT NodeTypeCode
Definition: rtltypes.h:612
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
struct _OSVERSIONINFOEXW * POSVERSIONINFOEXW
struct _UNICODE_PREFIX_TABLE * PUNICODE_PREFIX_TABLE
ULONG dwMinorVersion
Definition: rtltypes.h:267
#define _IRQL_requires_max_(irql)
Definition: no_sal2.h:650
struct _PREFIX_TABLE PREFIX_TABLE
__wchar_t WCHAR
Definition: xmlstorage.h:180
_Inout_ PVOID _Inout_ PSIZE_T CommitSize
Definition: rtltypes.h:574
ULONG DepthOfTree
Definition: rtltypes.h:422
struct _RTL_BALANCED_LINKS RTL_BALANCED_LINKS
PUNICODE_STRING Prefix
Definition: rtltypes.h:623
RTL_DYNAMIC_HASH_TABLE_ENTRY HashEntry
Definition: rtltypes.h:517
char CHAR
Definition: xmlstorage.h:175
struct DECLSPEC_ALIGN(16) _RTL_UMS_CONTEXT
Definition: rtltypes.h:1469
struct _OSVERSIONINFOW * POSVERSIONINFOW
enum _TABLE_SEARCH_RESULT TABLE_SEARCH_RESULT
SLIST_ENTRY SLIST_ENTRY32
Definition: rtltypes.h:132
struct _EXCEPTION_RECORD64 EXCEPTION_RECORD64
_In_opt_ ULONG Base
Definition: rtlfuncs.h:2327
#define _NTIFS_
Definition: ifssupp.h:20
WCHAR szCSDVersion[128]
Definition: rtltypes.h:247
PVOID *typedef PWSTR
Definition: winlogon.h:57
NTSTATUS ExceptionCode
Definition: rtltypes.h:186
ULONG DeleteCount
Definition: rtltypes.h:424
struct _RTL_BITMAP_RUN * PRTL_BITMAP_RUN
_Field_range_(<=, 8) UCHAR NameLength
struct _RTL_DYNAMIC_HASH_TABLE * PRTL_DYNAMIC_HASH_TABLE
#define _WDMDDK_
Definition: wdm.template.h:26
struct _PREFIX_TABLE_ENTRY * NextPrefixTree
Definition: rtltypes.h:606
* PRTL_BITMAP
Definition: rtltypes.h:32
ULONG64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]
Definition: rtltypes.h:192
IN PVOID IN PVOID IN USHORT Version
Definition: pci.h:359
USHORT Sequence
Definition: rtltypes.h:139
_In_ PVOID Parameter
Definition: ldrtypes.h:239
USHORT wSuiteMask
Definition: rtltypes.h:273
struct _EXCEPTION_POINTERS EXCEPTION_POINTERS
ULONG dwMajorVersion
Definition: rtltypes.h:252
ULONG NumberParameters
Definition: rtltypes.h:190
#define _In_opt_
Definition: no_sal2.h:213
PVOID ExceptionAddress
Definition: compat.h:199
PVOID TableContext
Definition: rtltypes.h:428
ULONG dwMajorVersion
Definition: rtltypes.h:266
uint32_t ULONG_PTR
Definition: typedefs.h:64
OSVERSIONINFOA OSVERSIONINFO
Definition: rtltypes.h:289
struct _EXCEPTION_POINTERS * PEXCEPTION_POINTERS
PVOID OrderedPointer
Definition: rtltypes.h:419
struct _RTL_GENERIC_TABLE * PRTL_GENERIC_TABLE
RTL_BALANCED_LINKS BalancedRoot
Definition: rtltypes.h:418
ULONG CLONG
Definition: umtypes.h:114
_In_ PUNICODE_STRING ValueName
Definition: cmfuncs.h:264
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
struct _RTL_BITMAP_RUN RTL_BITMAP_RUN
struct _COMPRESSED_DATA_INFO * PCOMPRESSED_DATA_INFO
struct _OSVERSIONINFOEXW * LPOSVERSIONINFOEXW
ULONG_PTR * PSIZE_T
Definition: typedefs.h:79
WCHAR ExtensionBuffer[4]
Definition: rtltypes.h:599
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
struct _PREFIX_TABLE_ENTRY * PPREFIX_TABLE_ENTRY
struct _RTL_DYNAMIC_HASH_TABLE_ENTRY * PRTL_DYNAMIC_HASH_TABLE_ENTRY
ULONG ExceptionFlags
Definition: rtltypes.h:169
RTL_GENERIC_FREE_ROUTINE * PRTL_GENERIC_FREE_ROUTINE
Definition: rtltypes.h:465
uint64_t ULONG64
Definition: typedefs.h:66
USHORT wServicePackMinor
Definition: rtltypes.h:258
struct _UNICODE_PREFIX_TABLE UNICODE_PREFIX_TABLE
Definition: rtltypes.h:617
struct _PREFIX_TABLE_ENTRY PREFIX_TABLE_ENTRY
union Alignment_ Alignment
struct _OSVERSIONINFOA * LPOSVERSIONINFOA
struct _OSVERSIONINFOEXW RTL_OSVERSIONINFOEXW
#define NTKERNELAPI
struct _OSVERSIONINFOW * LPOSVERSIONINFOW
SIZE_T VirtualMemoryThreshold
Definition: rtltypes.h:584
struct _RTL_AVL_TABLE RTL_AVL_TABLE
Definition: bufpool.h:45
USHORT Milliseconds
Definition: env_spec_w32.h:717
BOOLEAN(* PFN_RTL_IS_SERVICE_PACK_VERSION_INSTALLED)(_In_ ULONG Version)
Definition: rtltypes.h:229
CSHORT NameLength
Definition: rtltypes.h:619
struct _OSVERSIONINFOW RTL_OSVERSIONINFOW
ULONG dwOSVersionInfoSize
Definition: rtltypes.h:233
ULONG dwBuildNumber
Definition: rtltypes.h:236
struct _OSVERSIONINFOEXA OSVERSIONINFOEXA
ULONG ExceptionAddress
Definition: rtltypes.h:180
struct _RTL_DYNAMIC_HASH_TABLE_ENTRY RTL_DYNAMIC_HASH_TABLE_ENTRY
PRTL_GENERIC_ALLOCATE_ROUTINE AllocateRoutine
Definition: rtltypes.h:474
ULONG dwMinorVersion
Definition: rtltypes.h:253
PCONTEXT ContextRecord
Definition: rtltypes.h:197
BOOLEAN * NlsMbOemCodePageTag
Definition: nls.c:29
struct _TIME_FIELDS TIME_FIELDS
unsigned char BOOLEAN
BOOLEAN(* PFN_RTL_IS_NTDDI_VERSION_AVAILABLE)(_In_ ULONG Version)
Definition: rtltypes.h:225
#define const
Definition: zconf.h:230
#define __drv_allocatesMem(kind)
Definition: driverspecs.h:239
ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]
Definition: compat.h:201
ULONG64 ExceptionAddress
Definition: rtltypes.h:189
ULONG dwMajorVersion
Definition: rtltypes.h:243
VOID(NTAPI * PRTL_FREE_STRING_ROUTINE)(_In_ __drv_freesMem(Mem) _Post_invalid_ PVOID Buffer)
Definition: rtltypes.h:559
ULONG dwOSVersionInfoSize
Definition: rtltypes.h:251
SLIST_ENTRY Next
Definition: rtltypes.h:137
_IRQL_requires_same_ _In_ PVOID _In_ PVOID SecondStruct
Definition: rtltypes.h:379
CSHORT NodeTypeCode
Definition: rtltypes.h:618
CSHORT NameLength
Definition: rtltypes.h:605
_ANONYMOUS_STRUCT struct _SLIST_HEADER::@3377 DUMMYSTRUCTNAME
_Inout_ PVOID * CommitAddress
Definition: rtltypes.h:574
uint64_t ULONGLONG
Definition: typedefs.h:66
SLIST_HEADER * PSLIST_HEADER32
Definition: rtltypes.h:143
ULONG dwOSVersionInfoSize
Definition: rtltypes.h:242
PRTL_GENERIC_COMPARE_ROUTINE CompareRoutine
Definition: rtltypes.h:473
_RTL_GENERIC_COMPARE_RESULTS
Definition: rtltypes.h:365
ULONG WhichOrderedElement
Definition: rtltypes.h:420
ULONG NumberGenericTableElements
Definition: rtltypes.h:421
ULONG __unusedAlignment
Definition: rtltypes.h:191
_In_ GUID _In_ PVOID ValueData
Definition: hubbusif.h:311
RTL_RUN_ONCE_INIT_FN * PRTL_RUN_ONCE_INIT_FN
Definition: winnt_old.h:2461
ULONG_PTR Signature
Definition: rtltypes.h:507
struct _UNICODE_PREFIX_TABLE_ENTRY * PUNICODE_PREFIX_TABLE_ENTRY
struct _COMPRESSED_DATA_INFO COMPRESSED_DATA_INFO
#define PSLIST_ENTRY
Definition: rtltypes.h:130
#define _Inout_
Definition: no_sal2.h:244
RTL_AVL_MATCH_FUNCTION * PRTL_AVL_MATCH_FUNCTION
Definition: rtltypes.h:407
NTKERNELAPI const PRTL_ALLOCATE_STRING_ROUTINE RtlAllocateStringRoutine
ULONG NumberOfBits
Definition: typedefs.h:96
struct _OSVERSIONINFOW OSVERSIONINFOW
struct _RTL_HEAP_PARAMETERS * PRTL_HEAP_PARAMETERS
ULONG dwBuildNumber
Definition: rtltypes.h:245
RTL_RUN_ONCE
Definition: rtltypes.h:346
$endif(_WDMDDK_) $if(_NTDDK_) typedef union _RTL_RUN_ONCE
Definition: rtltypes.h:294
unsigned char UCHAR
Definition: xmlstorage.h:181
$if(_WDMDDK_) typedef struct _RTL_BITMAP
Definition: rtltypes.h:5
struct _RTL_QUERY_REGISTRY_TABLE RTL_QUERY_REGISTRY_TABLE
PPREFIX_TABLE_ENTRY NextPrefixTree
Definition: rtltypes.h:614
ULONG NumberGenericTableElements
Definition: rtltypes.h:472
VOID UINTN Length
Definition: acefiex.h:718
PRTL_SPLAY_LINKS TableRoot
Definition: rtltypes.h:468
PRTL_GENERIC_FREE_ROUTINE FreeRoutine
Definition: rtltypes.h:475
IN SIZE_T NumberOfBytes
Definition: ndis.h:3914
NTSTATUS ExceptionCode
Definition: rtltypes.h:168
USHORT wServicePackMajor
Definition: rtltypes.h:257
WCHAR szCSDVersion[128]
Definition: rtltypes.h:270
#define VOID
Definition: acefi.h:69
ULONG SizeOfBitMap
Definition: typedefs.h:89
DWORD WINAPI RTL_RUN_ONCE_INIT_FN(PRTL_RUN_ONCE, PVOID, PVOID *)
Definition: winnt_old.h:2460
ULONG dwMinorVersion
Definition: rtltypes.h:235
_IRQL_requires_same_ _In_ PVOID FirstStruct
Definition: rtltypes.h:379
_In_ ULONG _In_reads_bytes_opt_(ValueLength) PVOID ValueData
struct _RTL_DYNAMIC_HASH_TABLE_CONTEXT RTL_DYNAMIC_HASH_TABLE_CONTEXT
PRTL_AVL_COMPARE_ROUTINE CompareRoutine
Definition: rtltypes.h:425
RTL_BITMAP
Definition: rtltypes.h:32
Definition: typedefs.h:118
struct _EXCEPTION_RECORD32 * PEXCEPTION_RECORD32
SIZE_T DeCommitFreeBlockThreshold
Definition: rtltypes.h:581
USHORT CompressionFormatAndEngine
Definition: rtltypes.h:637
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
PRTL_AVL_FREE_ROUTINE FreeRoutine
Definition: rtltypes.h:427
CHAR szCSDVersion[128]
Definition: rtltypes.h:256
RTL_AVL_FREE_ROUTINE * PRTL_AVL_FREE_ROUTINE
Definition: rtltypes.h:398
PUNICODE_PREFIX_TABLE_ENTRY LastNextEntry
Definition: rtltypes.h:630
struct _OSVERSIONINFOEXW OSVERSIONINFOEXW
Definition: rtltypes.h:603
ULONG PVOID Reserved
Definition: ntimage.h:533
ULONG StartingIndex
Definition: typedefs.h:95
ULONG dwPlatformId
Definition: rtltypes.h:246
#define _ANONYMOUS_STRUCT
Definition: ntbasedef.h:56
struct _RTL_DYNAMIC_HASH_TABLE_ENUMERATOR RTL_DYNAMIC_HASH_TABLE_ENUMERATOR
_IRQL_requires_same_ _In_ __drv_freesMem(Mem) _Post_invalid_ PVOID Buffer)
Definition: exfuncs.h:1315
union _SLIST_HEADER * PSLIST_HEADER
struct _RTL_DYNAMIC_HASH_TABLE_ENUMERATOR * PRTL_DYNAMIC_HASH_TABLE_ENUMERATOR
struct _EXCEPTION_RECORD * ExceptionRecord
Definition: compat.h:198
struct _RTL_GENERIC_TABLE RTL_GENERIC_TABLE
NTKERNELAPI const PRTL_FREE_STRING_ROUTINE RtlFreeStringRoutine
struct _RTL_SPLAY_LINKS RTL_SPLAY_LINKS
#define _In_
Definition: no_sal2.h:204
ULONG_PTR SIZE_T
Definition: typedefs.h:79
#define EXCEPTION_MAXIMUM_PARAMETERS
Definition: rtltypes.h:164
struct _PREFIX_TABLE * PPREFIX_TABLE
ULONG NumberParameters
Definition: rtltypes.h:172
LONG NTSTATUS
Definition: DriverTester.h:11
_In_ ULONG ValueType
Definition: rtltypes.h:45
RTL_SPLAY_LINKS Links
Definition: rtltypes.h:622
struct _OSVERSIONINFOEXA * LPOSVERSIONINFOEXA
struct _OSVERSIONINFOA OSVERSIONINFOA
PRTL_AVL_ALLOCATE_ROUTINE AllocateRoutine
Definition: rtltypes.h:426
unsigned short USHORT
Definition: pedump.c:61
struct _OSVERSIONINFOA * POSVERSIONINFOA
struct _OSVERSIONINFOW * PRTL_OSVERSIONINFOW
#define _In_z_
Definition: no_sal2.h:239
* PRTL_RUN_ONCE
Definition: rtltypes.h:346
struct _RTL_AVL_TABLE * PRTL_AVL_TABLE
ULONG dwPlatformId
Definition: rtltypes.h:237
_IRQL_requires_same_ _In_ PVOID _In_ PVOID MatchData
Definition: rtltypes.h:405
struct _TIME_FIELDS * PTIME_FIELDS
USHORT wServicePackMajor
Definition: rtltypes.h:271
struct _EXCEPTION_RECORD64 * PEXCEPTION_RECORD64
struct _OSVERSIONINFOEXW * PRTL_OSVERSIONINFOEXW
union _SLIST_HEADER SLIST_HEADER
unsigned int * PULONG
Definition: retypes.h:1
struct _EXCEPTION_RECORD32 EXCEPTION_RECORD32
SLIST_ENTRY * PSLIST_ENTRY32
Definition: rtltypes.h:132
_TABLE_SEARCH_RESULT
Definition: rtltypes.h:358
static NTSTATUS NTAPI QueryRoutine(_In_ PWSTR ValueName, _In_ ULONG ValueType, _In_ PVOID ValueData, _In_ ULONG ValueLength, _In_ PVOID Context, _In_ PVOID EntryContext)
Definition: RtlRegistry.c:34
enum _RTL_GENERIC_COMPARE_RESULTS RTL_GENERIC_COMPARE_RESULTS
struct _OSVERSIONINFOEXA * POSVERSIONINFOEXA
PLIST_ENTRY OrderedPointer
Definition: rtltypes.h:470
LPOSVERSIONINFOA LPOSVERSIONINFO
Definition: rtltypes.h:291
OSVERSIONINFOEXA OSVERSIONINFOEX
Definition: rtltypes.h:286
ULONG dwMinorVersion
Definition: rtltypes.h:244
ULONG dwPlatformId
Definition: rtltypes.h:255
#define BOOLEAN
Definition: pedump.c:73
PRTL_BALANCED_LINKS RestartKey
Definition: rtltypes.h:423
unsigned int ULONG
Definition: retypes.h:1
PUNICODE_PREFIX_TABLE_ENTRY NextPrefixTree
Definition: rtltypes.h:629
struct _UNICODE_PREFIX_TABLE_ENTRY UNICODE_PREFIX_TABLE_ENTRY
_In_ ULONG _In_ ULONG _In_opt_ PVOID _In_opt_ PVOID EntryContext
Definition: rtltypes.h:47
UCHAR wProductType
Definition: rtltypes.h:260
RTL_SPLAY_LINKS Links
Definition: rtltypes.h:607
USHORT Depth
Definition: rtltypes.h:138
LIST_ENTRY InsertOrderList
Definition: rtltypes.h:469
struct _RTL_DYNAMIC_HASH_TABLE_CONTEXT * PRTL_DYNAMIC_HASH_TABLE_CONTEXT
PEXCEPTION_RECORD ExceptionRecord
Definition: rtltypes.h:196
SIZE_T MaximumAllocationSize
Definition: rtltypes.h:583
RTL_AVL_ALLOCATE_ROUTINE * PRTL_AVL_ALLOCATE_ROUTINE
Definition: rtltypes.h:390
LIST_ENTRY Linkage
Definition: rtltypes.h:506
ULONG WhichOrderedElement
Definition: rtltypes.h:471
struct _UNICODE_PREFIX_TABLE_ENTRY * CaseMatch
Definition: rtltypes.h:621
CHAR szCSDVersion[128]
Definition: rtltypes.h:238
CSHORT NodeTypeCode
Definition: rtltypes.h:604
struct _RTL_SPLAY_LINKS * PRTL_SPLAY_LINKS
POSVERSIONINFOEXA POSVERSIONINFOEX
Definition: rtltypes.h:287
_Function_class_(RTL_QUERY_REGISTRY_ROUTINE) _IRQL_requires_max_(PASSIVE_LEVEL) _IRQL_requires_same_ typedef NTSTATUS(NTAPI *PRTL_QUERY_REGISTRY_ROUTINE)(_In_z_ PWSTR ValueName
#define DUMMYSTRUCTNAME
Definition: ntbasedef.h:58
_In_ ULONG _In_ ULONG ValueLength
Definition: rtltypes.h:47
_IRQL_requires_same_ _In_ CLONG ByteSize
Definition: rtltypes.h:389
short CSHORT
Definition: umtypes.h:115
UCHAR CompressionUnitShift
Definition: rtltypes.h:638
NTSTATUS(* PRTL_HEAP_COMMIT_ROUTINE)(IN PVOID Base, IN OUT PVOID *CommitAddress, IN OUT PULONG CommitSize)
Definition: nt_native.h:1660
ULONG64 ExceptionRecord
Definition: rtltypes.h:188
ULONG dwBuildNumber
Definition: rtltypes.h:254
#define _NTDDK_
USHORT wServicePackMinor
Definition: rtltypes.h:272
struct _EXCEPTION_RECORD EXCEPTION_RECORD
CSHORT NameLength
Definition: rtltypes.h:613
#define _Inout_opt_
Definition: no_sal2.h:258
LPOSVERSIONINFOEXA LPOSVERSIONINFOEX
Definition: rtltypes.h:288