ReactOS 0.4.16-dev-336-gb667d82
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#define RTL_QUERY_REGISTRY_TYPECHECK 0x00000100
25
26#define RTL_QUERY_REGISTRY_TYPECHECK_SHIFT 24
27
28#define HASH_STRING_ALGORITHM_DEFAULT 0
29#define HASH_STRING_ALGORITHM_X65599 1
30#define HASH_STRING_ALGORITHM_INVALID 0xffffffff
31
32typedef struct _RTL_BITMAP {
33 ULONG SizeOfBitMap;
36
37typedef struct _RTL_BITMAP_RUN {
41
42_Function_class_(RTL_QUERY_REGISTRY_ROUTINE)
45typedef NTSTATUS
46(NTAPI RTL_QUERY_REGISTRY_ROUTINE)(
53typedef RTL_QUERY_REGISTRY_ROUTINE *PRTL_QUERY_REGISTRY_ROUTINE;
54
55typedef struct _RTL_QUERY_REGISTRY_TABLE {
64
65typedef struct _TIME_FIELDS {
68 CSHORT Day;
75
76/* Slist Header */
77#ifndef _SLIST_HEADER_
78#define _SLIST_HEADER_
79
80#if defined(_WIN64)
81
82typedef struct DECLSPEC_ALIGN(16) _SLIST_ENTRY {
83 struct _SLIST_ENTRY *Next;
85
86typedef struct _SLIST_ENTRY32 {
87 ULONG Next;
89
90typedef union DECLSPEC_ALIGN(16) _SLIST_HEADER {
91 _ANONYMOUS_STRUCT struct {
95 struct {
97 ULONGLONG Sequence:9;
98 ULONGLONG NextEntry:39;
99 ULONGLONG HeaderType:1;
100 ULONGLONG Init:1;
103 } Header8;
104 struct {
105 ULONGLONG Depth:16;
106 ULONGLONG Sequence:48;
107 ULONGLONG HeaderType:1;
108 ULONGLONG Init:1;
110 ULONGLONG NextEntry:60;
111 } Header16;
112 struct {
113 ULONGLONG Depth:16;
114 ULONGLONG Sequence:48;
115 ULONGLONG HeaderType:1;
117 ULONGLONG NextEntry:60;
118 } HeaderX64;
120
121typedef union _SLIST_HEADER32 {
123 _ANONYMOUS_STRUCT struct {
124 SLIST_ENTRY32 Next;
126 USHORT Sequence;
129
130#else
131
132#define SLIST_ENTRY SINGLE_LIST_ENTRY
133#define _SLIST_ENTRY _SINGLE_LIST_ENTRY
134#define PSLIST_ENTRY PSINGLE_LIST_ENTRY
135
137
138typedef union _SLIST_HEADER {
140 _ANONYMOUS_STRUCT struct {
146
148
149#endif /* defined(_WIN64) */
150
151#endif /* _SLIST_HEADER_ */
152
153/* Exception record flags */
154#define EXCEPTION_NONCONTINUABLE 0x01
155#define EXCEPTION_UNWINDING 0x02
156#define EXCEPTION_EXIT_UNWIND 0x04
157#define EXCEPTION_STACK_INVALID 0x08
158#define EXCEPTION_NESTED_CALL 0x10
159#define EXCEPTION_TARGET_UNWIND 0x20
160#define EXCEPTION_COLLIDED_UNWIND 0x40
161#define EXCEPTION_UNWIND (EXCEPTION_UNWINDING | EXCEPTION_EXIT_UNWIND | \
162 EXCEPTION_TARGET_UNWIND | EXCEPTION_COLLIDED_UNWIND)
163
164#define IS_UNWINDING(Flag) ((Flag & EXCEPTION_UNWIND) != 0)
165#define IS_DISPATCHING(Flag) ((Flag & EXCEPTION_UNWIND) == 0)
166#define IS_TARGET_UNWIND(Flag) (Flag & EXCEPTION_TARGET_UNWIND)
167
168#define EXCEPTION_MAXIMUM_PARAMETERS 15
169
170/* Exception records */
171typedef struct _EXCEPTION_RECORD {
179
180typedef struct _EXCEPTION_RECORD32 {
188
189typedef struct _EXCEPTION_RECORD64 {
198
199typedef struct _EXCEPTION_POINTERS {
203
204#ifdef _NTSYSTEM_
206#define NLS_MB_CODE_PAGE_TAG NlsMbCodePageTag
208#define NLS_MB_OEM_CODE_PAGE_TAG NlsMbOemCodePageTag
209#else
212#define NLS_MB_CODE_PAGE_TAG (*NlsMbCodePageTag)
215#define NLS_MB_OEM_CODE_PAGE_TAG (*NlsMbOemCodePageTag)
216#endif
217
218#define SHORT_LEAST_SIGNIFICANT_BIT 0
219#define SHORT_MOST_SIGNIFICANT_BIT 1
220
221#define LONG_LEAST_SIGNIFICANT_BIT 0
222#define LONG_3RD_MOST_SIGNIFICANT_BIT 1
223#define LONG_2ND_MOST_SIGNIFICANT_BIT 2
224#define LONG_MOST_SIGNIFICANT_BIT 3
225
226#define RTLVERLIB_DDI(x) Wdmlib##x
227
228typedef BOOLEAN
231
232typedef BOOLEAN
235
236typedef struct _OSVERSIONINFOA {
244
245typedef struct _OSVERSIONINFOW {
253
254typedef struct _OSVERSIONINFOEXA {
267
268typedef struct _OSVERSIONINFOEXW {
281
282#define RTL_CONDITION_VARIABLE_INIT {0}
283#define RTL_CONDITION_VARIABLE_LOCKMODE_SHARED 0x1
284
288
289#define RTL_SRWLOCK_INIT {0}
290
291typedef struct _RTL_SRWLOCK {
294
295#ifdef UNICODE
302#else
309#endif /* UNICODE */
310
313
314#ifndef _RTL_RUN_ONCE_DEF
315#define _RTL_RUN_ONCE_DEF
316
317#define RTL_RUN_ONCE_INIT {0}
318
319#define RTL_RUN_ONCE_CHECK_ONLY 0x00000001UL
320#define RTL_RUN_ONCE_ASYNC 0x00000002UL
321#define RTL_RUN_ONCE_INIT_FAILED 0x00000004UL
322
323#define RTL_RUN_ONCE_CTX_RESERVED_BITS 2
324
325typedef union _RTL_RUN_ONCE {
326 PVOID Ptr;
328
329typedef
330_Function_class_(RTL_RUN_ONCE_INIT_FN)
332ULONG
333NTAPI
334RTL_RUN_ONCE_INIT_FN(
335 _Inout_ PRTL_RUN_ONCE RunOnce,
338typedef RTL_RUN_ONCE_INIT_FN* PRTL_RUN_ONCE_INIT_FN;
339
340#endif /* _RTL_RUN_ONCE_DEF */
341
344
345#define RTL_HASH_ALLOCATED_HEADER 0x00000001
346
347#define RTL_HASH_RESERVED_SIGNATURE 0
348
349/* RtlVerifyVersionInfo() ComparisonType */
350
351#define VER_EQUAL 1
352#define VER_GREATER 2
353#define VER_GREATER_EQUAL 3
354#define VER_LESS 4
355#define VER_LESS_EQUAL 5
356#define VER_AND 6
357#define VER_OR 7
358
359#define VER_CONDITION_MASK 7
360#define VER_NUM_BITS_PER_CONDITION_MASK 3
361
362/* RtlVerifyVersionInfo() TypeMask */
363
364#define VER_MINORVERSION 0x0000001
365#define VER_MAJORVERSION 0x0000002
366#define VER_BUILDNUMBER 0x0000004
367#define VER_PLATFORMID 0x0000008
368#define VER_SERVICEPACKMINOR 0x0000010
369#define VER_SERVICEPACKMAJOR 0x0000020
370#define VER_SUITENAME 0x0000040
371#define VER_PRODUCT_TYPE 0x0000080
372
373#define VER_NT_WORKSTATION 0x0000001
374#define VER_NT_DOMAIN_CONTROLLER 0x0000002
375#define VER_NT_SERVER 0x0000003
376
377#define VER_PLATFORM_WIN32s 0
378#define VER_PLATFORM_WIN32_WINDOWS 1
379#define VER_PLATFORM_WIN32_NT 2
380
381typedef enum _TABLE_SEARCH_RESULT {
382 TableEmptyTree,
383 TableFoundNode,
384 TableInsertAsLeft,
385 TableInsertAsRight
387
393
394// Forwarder
395struct _RTL_AVL_TABLE;
396
398_Function_class_(RTL_AVL_COMPARE_ROUTINE)
400(NTAPI RTL_AVL_COMPARE_ROUTINE) (
401 _In_ struct _RTL_AVL_TABLE *Table,
404typedef RTL_AVL_COMPARE_ROUTINE *PRTL_AVL_COMPARE_ROUTINE;
405
407_Function_class_(RTL_AVL_ALLOCATE_ROUTINE)
409typedef PVOID
410(NTAPI RTL_AVL_ALLOCATE_ROUTINE) (
411 _In_ struct _RTL_AVL_TABLE *Table,
413typedef RTL_AVL_ALLOCATE_ROUTINE *PRTL_AVL_ALLOCATE_ROUTINE;
414
416_Function_class_(RTL_AVL_FREE_ROUTINE)
417typedef VOID
418(NTAPI RTL_AVL_FREE_ROUTINE) (
419 _In_ struct _RTL_AVL_TABLE *Table,
421typedef RTL_AVL_FREE_ROUTINE *PRTL_AVL_FREE_ROUTINE;
422
424_Function_class_(RTL_AVL_MATCH_FUNCTION)
425typedef NTSTATUS
426(NTAPI RTL_AVL_MATCH_FUNCTION) (
427 _In_ struct _RTL_AVL_TABLE *Table,
430typedef RTL_AVL_MATCH_FUNCTION *PRTL_AVL_MATCH_FUNCTION;
431
432typedef struct _RTL_BALANCED_LINKS {
439
440typedef struct _RTL_AVL_TABLE {
453
454typedef struct _RTL_SPLAY_LINKS {
459
460#ifndef RTL_USE_AVL_TABLES
461
462struct _RTL_GENERIC_TABLE;
463
465_Function_class_(RTL_GENERIC_COMPARE_ROUTINE)
467(NTAPI RTL_GENERIC_COMPARE_ROUTINE) (
471typedef RTL_GENERIC_COMPARE_ROUTINE *PRTL_GENERIC_COMPARE_ROUTINE;
472
474_Function_class_(RTL_GENERIC_ALLOCATE_ROUTINE)
476typedef PVOID
477(NTAPI RTL_GENERIC_ALLOCATE_ROUTINE) (
480typedef RTL_GENERIC_ALLOCATE_ROUTINE *PRTL_GENERIC_ALLOCATE_ROUTINE;
481
483_Function_class_(RTL_GENERIC_FREE_ROUTINE)
484typedef VOID
485(NTAPI RTL_GENERIC_FREE_ROUTINE) (
488typedef RTL_GENERIC_FREE_ROUTINE *PRTL_GENERIC_FREE_ROUTINE;
489
490typedef struct _RTL_GENERIC_TABLE {
501
502#endif /* !RTL_USE_AVL_TABLES */
503
504#ifdef RTL_USE_AVL_TABLES
505
506#undef RTL_GENERIC_COMPARE_ROUTINE
507#undef PRTL_GENERIC_COMPARE_ROUTINE
508#undef RTL_GENERIC_ALLOCATE_ROUTINE
509#undef PRTL_GENERIC_ALLOCATE_ROUTINE
510#undef RTL_GENERIC_FREE_ROUTINE
511#undef PRTL_GENERIC_FREE_ROUTINE
512#undef RTL_GENERIC_TABLE
513#undef PRTL_GENERIC_TABLE
514
515#define RTL_GENERIC_COMPARE_ROUTINE RTL_AVL_COMPARE_ROUTINE
516#define PRTL_GENERIC_COMPARE_ROUTINE PRTL_AVL_COMPARE_ROUTINE
517#define RTL_GENERIC_ALLOCATE_ROUTINE RTL_AVL_ALLOCATE_ROUTINE
518#define PRTL_GENERIC_ALLOCATE_ROUTINE PRTL_AVL_ALLOCATE_ROUTINE
519#define RTL_GENERIC_FREE_ROUTINE RTL_AVL_FREE_ROUTINE
520#define PRTL_GENERIC_FREE_ROUTINE PRTL_AVL_FREE_ROUTINE
521#define RTL_GENERIC_TABLE RTL_AVL_TABLE
522#define PRTL_GENERIC_TABLE PRTL_AVL_TABLE
523
524#endif /* RTL_USE_AVL_TABLES */
525
526#define RTL_HASH_ALLOCATED_HEADER 0x00000001
527
532
538
544
556
557#define HASH_ENTRY_KEY(x) ((x)->Signature)
558
560$if (_NTIFS_)
561
562#define RTL_SYSTEM_VOLUME_INFORMATION_FOLDER L"System Volume Information"
563
564_Function_class_(RTL_ALLOCATE_STRING_ROUTINE)
567typedef PVOID
568(NTAPI *PRTL_ALLOCATE_STRING_ROUTINE)(
570
571#if _WIN32_WINNT >= 0x0600
572_Function_class_(RTL_REALLOCATE_STRING_ROUTINE)
575typedef PVOID
576(NTAPI *PRTL_REALLOCATE_STRING_ROUTINE)(
578 IN PVOID Buffer);
579#endif
580
581typedef VOID
584
585extern NTKERNELAPI const PRTL_ALLOCATE_STRING_ROUTINE RtlAllocateStringRoutine;
587
588#if _WIN32_WINNT >= 0x0600
589extern NTKERNELAPI const PRTL_REALLOCATE_STRING_ROUTINE RtlReallocateStringRoutine;
590#endif
591
592_Function_class_(RTL_HEAP_COMMIT_ROUTINE)
594typedef NTSTATUS
599
600typedef struct _RTL_HEAP_PARAMETERS {
613
614#if (NTDDI_VERSION >= NTDDI_WIN2K)
615
619 _Field_range_(<=, 8) UCHAR NameLength;
621 _Field_range_(<=, 4) ULONG ExtensionLength;
625
633
634typedef struct _PREFIX_TABLE {
639
648
649typedef struct _UNICODE_PREFIX_TABLE {
655
656#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
657
658#if (NTDDI_VERSION >= NTDDI_WINXP)
659typedef struct _COMPRESSED_DATA_INFO {
666 ULONG CompressedChunkSizes[ANYSIZE_ARRAY];
668#endif
unsigned char BOOLEAN
#define VOID
Definition: acefi.h:82
LONG NTSTATUS
Definition: precomp.h:26
Definition: bufpool.h:45
#define RTL_BITMAP
Definition: dbgbitmap.h:323
#define PRTL_BITMAP
Definition: dbgbitmap.h:324
#define NTSTATUS
Definition: precomp.h:19
#define _IRQL_requires_same_
Definition: driverspecs.h:232
#define __drv_freesMem(kind)
Definition: driverspecs.h:272
#define _IRQL_requires_max_(irql)
Definition: driverspecs.h:230
#define __drv_allocatesMem(kind)
Definition: driverspecs.h:257
struct _TIME_FIELDS TIME_FIELDS
TIME_FIELDS * PTIME_FIELDS
Definition: env_spec_w32.h:720
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
Definition: fsrtlfuncs.h:898
union Alignment_ Alignment
ASMGENDATA Table[]
Definition: genincdata.c:61
_In_ GUID _In_ PVOID ValueData
Definition: hubbusif.h:312
#define _NTIFS_
Definition: ifssupp.h:20
#define PRTL_AVL_TABLE
Definition: miavl.h:27
#define PRTL_BALANCED_LINKS
Definition: miavl.h:28
unsigned __int64 ULONG64
Definition: imports.h:198
struct tagUserData UserData
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID _In_ ULONG_PTR _In_ SIZE_T CommitSize
Definition: mmfuncs.h:406
_In_ PCWSTR _Inout_ _At_ QueryTable EntryContext
Definition: rtlfuncs.h:4219
_In_opt_ ULONG Base
Definition: rtlfuncs.h:2451
#define _Inout_
Definition: no_sal2.h:162
#define _In_z_
Definition: no_sal2.h:164
#define _Post_invalid_
Definition: no_sal2.h:524
#define _Inout_opt_
Definition: no_sal2.h:216
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _Field_range_(l, h)
Definition: no_sal2.h:380
#define _Function_class_(n)
Definition: no_sal2.h:398
#define _In_reads_bytes_opt_(s)
Definition: no_sal2.h:224
struct _RTL_QUERY_REGISTRY_TABLE * PRTL_QUERY_REGISTRY_TABLE
Definition: reg.c:122
struct _RTL_HEAP_PARAMETERS * PRTL_HEAP_PARAMETERS
struct _RTL_QUERY_REGISTRY_TABLE RTL_QUERY_REGISTRY_TABLE
NTSTATUS(* PRTL_HEAP_COMMIT_ROUTINE)(IN PVOID Base, IN OUT PVOID *CommitAddress, IN OUT PULONG CommitSize)
Definition: nt_native.h:1660
struct _RTL_HEAP_PARAMETERS RTL_HEAP_PARAMETERS
#define DECLSPEC_ALIGN(x)
Definition: ntbasedef.h:259
#define DUMMYSTRUCTNAME
Definition: ntbasedef.h:58
#define _ANONYMOUS_STRUCT
Definition: ntbasedef.h:56
#define _NTDDK_
#define BOOLEAN
Definition: pedump.c:73
unsigned short USHORT
Definition: pedump.c:61
UCHAR CompressionUnitShift
Definition: rtltypes.h:661
USHORT CompressionFormatAndEngine
Definition: rtltypes.h:660
PEXCEPTION_RECORD ExceptionRecord
Definition: rtltypes.h:200
PCONTEXT ContextRecord
Definition: rtltypes.h:201
NTSTATUS ExceptionCode
Definition: rtltypes.h:181
ULONG ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]
Definition: rtltypes.h:186
ULONG ExceptionAddress
Definition: rtltypes.h:184
ULONG NumberParameters
Definition: rtltypes.h:185
NTSTATUS ExceptionCode
Definition: rtltypes.h:190
ULONG64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]
Definition: rtltypes.h:196
ULONG NumberParameters
Definition: rtltypes.h:194
ULONG64 ExceptionRecord
Definition: rtltypes.h:192
ULONG64 ExceptionAddress
Definition: rtltypes.h:193
ULONG __unusedAlignment
Definition: rtltypes.h:195
struct _EXCEPTION_RECORD * ExceptionRecord
Definition: compat.h:210
ULONG NumberParameters
Definition: rtltypes.h:176
NTSTATUS ExceptionCode
Definition: rtltypes.h:172
ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]
Definition: compat.h:213
ULONG ExceptionFlags
Definition: rtltypes.h:173
PVOID ExceptionAddress
Definition: compat.h:211
BOOLEAN CheckSumInserted
Definition: rtltypes.h:618
WCHAR ExtensionBuffer[4]
Definition: rtltypes.h:622
_Field_range_(<=, 8) UCHAR NameLength
Definition: typedefs.h:120
CHAR szCSDVersion[128]
Definition: rtltypes.h:242
ULONG dwPlatformId
Definition: rtltypes.h:241
ULONG dwOSVersionInfoSize
Definition: rtltypes.h:237
ULONG dwMajorVersion
Definition: rtltypes.h:238
ULONG dwBuildNumber
Definition: rtltypes.h:240
ULONG dwMinorVersion
Definition: rtltypes.h:239
ULONG dwMajorVersion
Definition: rtltypes.h:256
ULONG dwMinorVersion
Definition: rtltypes.h:257
ULONG dwOSVersionInfoSize
Definition: rtltypes.h:255
ULONG dwBuildNumber
Definition: rtltypes.h:258
USHORT wServicePackMajor
Definition: rtltypes.h:261
CHAR szCSDVersion[128]
Definition: rtltypes.h:260
USHORT wSuiteMask
Definition: rtltypes.h:263
UCHAR wProductType
Definition: rtltypes.h:264
USHORT wServicePackMinor
Definition: rtltypes.h:262
ULONG dwPlatformId
Definition: rtltypes.h:259
WCHAR szCSDVersion[128]
Definition: rtltypes.h:274
ULONG dwMajorVersion
Definition: rtltypes.h:270
ULONG dwMinorVersion
Definition: rtltypes.h:271
ULONG dwOSVersionInfoSize
Definition: rtltypes.h:269
USHORT wServicePackMinor
Definition: rtltypes.h:276
ULONG dwPlatformId
Definition: rtltypes.h:273
UCHAR wProductType
Definition: rtltypes.h:278
USHORT wSuiteMask
Definition: rtltypes.h:277
ULONG dwBuildNumber
Definition: rtltypes.h:272
USHORT wServicePackMajor
Definition: rtltypes.h:275
ULONG dwMinorVersion
Definition: rtltypes.h:248
ULONG dwPlatformId
Definition: rtltypes.h:250
ULONG dwOSVersionInfoSize
Definition: rtltypes.h:246
ULONG dwMajorVersion
Definition: rtltypes.h:247
ULONG dwBuildNumber
Definition: rtltypes.h:249
WCHAR szCSDVersion[128]
Definition: rtltypes.h:251
Definition: rtltypes.h:626
CSHORT NodeTypeCode
Definition: rtltypes.h:627
RTL_SPLAY_LINKS Links
Definition: rtltypes.h:630
PSTRING Prefix
Definition: rtltypes.h:631
struct _PREFIX_TABLE_ENTRY * NextPrefixTree
Definition: rtltypes.h:629
CSHORT NameLength
Definition: rtltypes.h:628
PPREFIX_TABLE_ENTRY NextPrefixTree
Definition: rtltypes.h:637
CSHORT NodeTypeCode
Definition: rtltypes.h:635
CSHORT NameLength
Definition: rtltypes.h:636
ULONG DeleteCount
Definition: rtltypes.h:447
PRTL_AVL_ALLOCATE_ROUTINE AllocateRoutine
Definition: rtltypes.h:449
ULONG DepthOfTree
Definition: rtltypes.h:445
ULONG NumberGenericTableElements
Definition: rtltypes.h:444
RTL_BALANCED_LINKS BalancedRoot
Definition: rtltypes.h:441
PRTL_AVL_COMPARE_ROUTINE CompareRoutine
Definition: rtltypes.h:448
ULONG WhichOrderedElement
Definition: rtltypes.h:443
PRTL_AVL_FREE_ROUTINE FreeRoutine
Definition: rtltypes.h:450
PVOID OrderedPointer
Definition: rtltypes.h:442
PVOID TableContext
Definition: rtltypes.h:451
PRTL_BALANCED_LINKS RestartKey
Definition: rtltypes.h:446
ULONG NumberOfBits
Definition: typedefs.h:97
ULONG StartingIndex
Definition: typedefs.h:96
Definition: rtltypes.h:528
ULONG_PTR Signature
Definition: rtltypes.h:530
LIST_ENTRY Linkage
Definition: rtltypes.h:529
RTL_DYNAMIC_HASH_TABLE_ENTRY HashEntry
Definition: rtltypes.h:540
ULONG WhichOrderedElement
Definition: rtltypes.h:494
PLIST_ENTRY OrderedPointer
Definition: rtltypes.h:493
PRTL_GENERIC_FREE_ROUTINE FreeRoutine
Definition: rtltypes.h:498
LIST_ENTRY InsertOrderList
Definition: rtltypes.h:492
PRTL_GENERIC_ALLOCATE_ROUTINE AllocateRoutine
Definition: rtltypes.h:497
PRTL_GENERIC_COMPARE_ROUTINE CompareRoutine
Definition: rtltypes.h:496
PRTL_SPLAY_LINKS TableRoot
Definition: rtltypes.h:491
ULONG NumberGenericTableElements
Definition: rtltypes.h:495
SIZE_T VirtualMemoryThreshold
Definition: rtltypes.h:607
SIZE_T DeCommitTotalFreeThreshold
Definition: rtltypes.h:605
SIZE_T MaximumAllocationSize
Definition: rtltypes.h:606
PRTL_HEAP_COMMIT_ROUTINE CommitRoutine
Definition: nt_native.h:1676
SIZE_T DeCommitFreeBlockThreshold
Definition: rtltypes.h:604
PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine
Definition: nt_native.h:109
PVOID Ptr
Definition: rtltypes.h:292
USHORT Milliseconds
Definition: env_spec_w32.h:717
USHORT Weekday
Definition: env_spec_w32.h:718
Definition: rtltypes.h:640
struct _UNICODE_PREFIX_TABLE_ENTRY * CaseMatch
Definition: rtltypes.h:644
PUNICODE_STRING Prefix
Definition: rtltypes.h:646
struct _UNICODE_PREFIX_TABLE_ENTRY * NextPrefixTree
Definition: rtltypes.h:643
CSHORT NameLength
Definition: rtltypes.h:642
RTL_SPLAY_LINKS Links
Definition: rtltypes.h:645
CSHORT NodeTypeCode
Definition: rtltypes.h:641
PUNICODE_PREFIX_TABLE_ENTRY LastNextEntry
Definition: rtltypes.h:653
PUNICODE_PREFIX_TABLE_ENTRY NextPrefixTree
Definition: rtltypes.h:652
ULONG_PTR * PSIZE_T
Definition: typedefs.h:80
uint16_t * PWSTR
Definition: typedefs.h:56
uint32_t * PULONG
Definition: typedefs.h:59
const uint16_t * PCWSTR
Definition: typedefs.h:57
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
#define NTAPI
Definition: typedefs.h:36
void * PVOID
Definition: typedefs.h:50
ULONG_PTR SIZE_T
Definition: typedefs.h:80
struct _RTL_BITMAP_RUN RTL_BITMAP_RUN
struct _RTL_BITMAP_RUN * PRTL_BITMAP_RUN
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
ULONG CLONG
Definition: umtypes.h:126
short CSHORT
Definition: umtypes.h:127
ULONGLONG Alignment
Definition: rtltypes.h:139
_ANONYMOUS_STRUCT struct _SLIST_HEADER::@4183 DUMMYSTRUCTNAME
USHORT Sequence
Definition: rtltypes.h:143
SLIST_ENTRY Next
Definition: rtltypes.h:141
USHORT Depth
Definition: rtltypes.h:142
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
Definition: wdffdo.h:469
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_opt_ PULONG _Out_opt_ PULONG ValueType
Definition: wdfregistry.h:282
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
Definition: wdfregistry.h:243
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG ValueLength
Definition: wdfregistry.h:275
#define __CREATE_NTOS_DATA_IMPORT_ALIAS(_Name)
#define _WDMDDK_
Definition: wdm.template.h:26
#define NTKERNELAPI
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
#define _WINNT_
#define SLIST_ENTRY
Definition: winnt_old.h:2722
#define EXCEPTION_MAXIMUM_PARAMETERS
Definition: winnt_old.h:2378
_In_opt_ PALLOCATE_FUNCTION _In_opt_ PFREE_FUNCTION _In_ ULONG _In_ SIZE_T _In_ ULONG _In_ USHORT Depth
Definition: exfuncs.h:819
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:1036
struct _UNICODE_PREFIX_TABLE_ENTRY UNICODE_PREFIX_TABLE_ENTRY
RTL_AVL_FREE_ROUTINE * PRTL_AVL_FREE_ROUTINE
Definition: rtltypes.h:421
struct _RTL_DYNAMIC_HASH_TABLE_ENUMERATOR * PRTL_DYNAMIC_HASH_TABLE_ENUMERATOR
struct _RTL_DYNAMIC_HASH_TABLE_CONTEXT RTL_DYNAMIC_HASH_TABLE_CONTEXT
LPOSVERSIONINFOA LPOSVERSIONINFO
Definition: rtltypes.h:308
OSVERSIONINFOEXA OSVERSIONINFOEX
Definition: rtltypes.h:303
TABLE_SEARCH_RESULT
Definition: rtltypes.h:386
struct _PREFIX_TABLE * PPREFIX_TABLE
struct _OSVERSIONINFOA OSVERSIONINFOA
struct _COMPRESSED_DATA_INFO COMPRESSED_DATA_INFO
struct _EXCEPTION_RECORD64 * PEXCEPTION_RECORD64
#define SLIST_ENTRY
Definition: rtltypes.h:132
struct _PREFIX_TABLE PREFIX_TABLE
SLIST_ENTRY SLIST_ENTRY32
Definition: rtltypes.h:136
struct _EXCEPTION_RECORD32 * PEXCEPTION_RECORD32
struct _RTL_DYNAMIC_HASH_TABLE_ENTRY RTL_DYNAMIC_HASH_TABLE_ENTRY
SLIST_ENTRY * PSLIST_ENTRY32
Definition: rtltypes.h:136
_IRQL_requires_same_ _In_ PVOID _In_ PVOID MatchData
Definition: rtltypes.h:429
union _SLIST_HEADER SLIST_HEADER
struct _UNICODE_PREFIX_TABLE_ENTRY * PUNICODE_PREFIX_TABLE_ENTRY
struct _RTL_DYNAMIC_HASH_TABLE * PRTL_DYNAMIC_HASH_TABLE
struct _RTL_AVL_TABLE RTL_AVL_TABLE
RTL_QUERY_REGISTRY_ROUTINE * PRTL_QUERY_REGISTRY_ROUTINE
Definition: rtltypes.h:53
struct _OSVERSIONINFOEXW * POSVERSIONINFOEXW
struct _RTL_DYNAMIC_HASH_TABLE_ENTRY * PRTL_DYNAMIC_HASH_TABLE_ENTRY
NTKERNELAPI const PRTL_ALLOCATE_STRING_ROUTINE RtlAllocateStringRoutine
BOOLEAN * NlsMbCodePageTag
Definition: nlsboot.c:17
struct _OSVERSIONINFOW * LPOSVERSIONINFOW
struct _OSVERSIONINFOW RTL_OSVERSIONINFOW
RTL_GENERIC_FREE_ROUTINE * PRTL_GENERIC_FREE_ROUTINE
Definition: rtltypes.h:488
struct _OSVERSIONINFOEXA OSVERSIONINFOEXA
#define PSLIST_ENTRY
Definition: rtltypes.h:134
struct _EXCEPTION_POINTERS EXCEPTION_POINTERS
struct _EXCEPTION_RECORD EXCEPTION_RECORD
struct _OSVERSIONINFOW * POSVERSIONINFOW
struct _OSVERSIONINFOEXW * PRTL_OSVERSIONINFOEXW
RTL_AVL_MATCH_FUNCTION * PRTL_AVL_MATCH_FUNCTION
Definition: rtltypes.h:430
_Inout_opt_ PVOID Parameter
Definition: rtltypes.h:336
BOOLEAN(* PFN_RTL_IS_SERVICE_PACK_VERSION_INSTALLED)(_In_ ULONG Version)
Definition: rtltypes.h:233
struct _RTL_DYNAMIC_HASH_TABLE_CONTEXT * PRTL_DYNAMIC_HASH_TABLE_CONTEXT
struct _OSVERSIONINFOEXA * LPOSVERSIONINFOEXA
struct _OSVERSIONINFOEXA * POSVERSIONINFOEXA
struct _RTL_GENERIC_TABLE RTL_GENERIC_TABLE
struct _RTL_DYNAMIC_HASH_TABLE RTL_DYNAMIC_HASH_TABLE
struct _RTL_BALANCED_LINKS RTL_BALANCED_LINKS
SLIST_HEADER * PSLIST_HEADER32
Definition: rtltypes.h:147
struct _COMPRESSED_DATA_INFO * PCOMPRESSED_DATA_INFO
NTKERNELAPI const PRTL_FREE_STRING_ROUTINE RtlFreeStringRoutine
_IRQL_requires_same_ _In_ PVOID _In_ PVOID SecondStruct
Definition: rtltypes.h:403
#define _SLIST_ENTRY
Definition: rtltypes.h:133
struct _OSVERSIONINFOW * PRTL_OSVERSIONINFOW
union _SLIST_HEADER * PSLIST_HEADER
struct _RTL_SPLAY_LINKS * PRTL_SPLAY_LINKS
RTL_AVL_ALLOCATE_ROUTINE * PRTL_AVL_ALLOCATE_ROUTINE
Definition: rtltypes.h:413
RTL_GENERIC_COMPARE_ROUTINE * PRTL_GENERIC_COMPARE_ROUTINE
Definition: rtltypes.h:471
RTL_RUN_ONCE
Definition: rtltypes.h:327
VOID(NTAPI * PRTL_FREE_STRING_ROUTINE)(_In_ __drv_freesMem(Mem) _Post_invalid_ PVOID Buffer)
Definition: rtltypes.h:582
struct _RTL_CONDITION_VARIABLE * PRTL_CONDITION_VARIABLE
struct _OSVERSIONINFOW OSVERSIONINFOW
struct _RTL_GENERIC_TABLE * PRTL_GENERIC_TABLE
POSVERSIONINFOA POSVERSIONINFO
Definition: rtltypes.h:307
$endif(_WDMDDK_) $if(_NTDDK_||_WINNT_) typedef union _RTL_RUN_ONCE
Definition: rtltypes.h:311
_IRQL_requires_same_ _In_ CLONG ByteSize
Definition: rtltypes.h:412
struct _RTL_DYNAMIC_HASH_TABLE_ENUMERATOR RTL_DYNAMIC_HASH_TABLE_ENUMERATOR
BOOLEAN(* PFN_RTL_IS_NTDDI_VERSION_AVAILABLE)(_In_ ULONG Version)
Definition: rtltypes.h:229
OSVERSIONINFOA OSVERSIONINFO
Definition: rtltypes.h:306
$if(_WDMDDK_) typedef struct _RTL_BITMAP
Definition: rtltypes.h:5
struct _PREFIX_TABLE_ENTRY PREFIX_TABLE_ENTRY
struct _RTL_SRWLOCK RTL_SRWLOCK
struct _RTL_CONDITION_VARIABLE RTL_CONDITION_VARIABLE
struct _UNICODE_PREFIX_TABLE * PUNICODE_PREFIX_TABLE
* PRTL_RUN_ONCE
Definition: rtltypes.h:327
struct _EXCEPTION_RECORD32 EXCEPTION_RECORD32
POSVERSIONINFOEXA POSVERSIONINFOEX
Definition: rtltypes.h:304
struct _OSVERSIONINFOEXW OSVERSIONINFOEXW
struct _OSVERSIONINFOEXW * LPOSVERSIONINFOEXW
struct _OSVERSIONINFOA * POSVERSIONINFOA
struct _UNICODE_PREFIX_TABLE UNICODE_PREFIX_TABLE
struct _EXCEPTION_POINTERS * PEXCEPTION_POINTERS
struct _OSVERSIONINFOA * LPOSVERSIONINFOA
struct _RTL_SPLAY_LINKS RTL_SPLAY_LINKS
SLIST_HEADER SLIST_HEADER32
Definition: rtltypes.h:147
_IRQL_requires_same_ _In_ PVOID FirstStruct
Definition: rtltypes.h:402
LPOSVERSIONINFOEXA LPOSVERSIONINFOEX
Definition: rtltypes.h:305
BOOLEAN * NlsMbOemCodePageTag
Definition: nlsboot.c:19
struct _EXCEPTION_RECORD * PEXCEPTION_RECORD
RTL_GENERIC_ALLOCATE_ROUTINE * PRTL_GENERIC_ALLOCATE_ROUTINE
Definition: rtltypes.h:480
_RTL_GENERIC_COMPARE_RESULTS
Definition: rtltypes.h:388
@ GenericLessThan
Definition: rtltypes.h:389
@ GenericEqual
Definition: rtltypes.h:391
@ GenericGreaterThan
Definition: rtltypes.h:390
struct _PREFIX_TABLE_ENTRY * PPREFIX_TABLE_ENTRY
struct _RTL_SRWLOCK * PRTL_SRWLOCK
struct _EXCEPTION_RECORD64 EXCEPTION_RECORD64
RTL_AVL_COMPARE_ROUTINE * PRTL_AVL_COMPARE_ROUTINE
Definition: rtltypes.h:404
RTL_RUN_ONCE_INIT_FN * PRTL_RUN_ONCE_INIT_FN
Definition: rtltypes.h:338
struct _OSVERSIONINFOEXW RTL_OSVERSIONINFOEXW
_Inout_ PVOID * CommitAddress
Definition: rtltypes.h:597
enum _RTL_GENERIC_COMPARE_RESULTS RTL_GENERIC_COMPARE_RESULTS
unsigned char UCHAR
Definition: xmlstorage.h:181
__wchar_t WCHAR
Definition: xmlstorage.h:180
char CHAR
Definition: xmlstorage.h:175