ReactOS 0.4.15-dev-7958-gcd0bb1a
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 {
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#ifdef UNICODE
289#else
296#endif /* UNICODE */
297
300
301#ifndef _RTL_RUN_ONCE_DEF
302#define _RTL_RUN_ONCE_DEF
303
304#define RTL_RUN_ONCE_INIT {0}
305
306#define RTL_RUN_ONCE_CHECK_ONLY 0x00000001UL
307#define RTL_RUN_ONCE_ASYNC 0x00000002UL
308#define RTL_RUN_ONCE_INIT_FAILED 0x00000004UL
309
310#define RTL_RUN_ONCE_CTX_RESERVED_BITS 2
311
312typedef union _RTL_RUN_ONCE {
313 PVOID Ptr;
315
316typedef
317_Function_class_(RTL_RUN_ONCE_INIT_FN)
319ULONG
320NTAPI
321RTL_RUN_ONCE_INIT_FN(
322 _Inout_ PRTL_RUN_ONCE RunOnce,
325typedef RTL_RUN_ONCE_INIT_FN* PRTL_RUN_ONCE_INIT_FN;
326
327#endif /* _RTL_RUN_ONCE_DEF */
328
331
332#define RTL_HASH_ALLOCATED_HEADER 0x00000001
333
334#define RTL_HASH_RESERVED_SIGNATURE 0
335
336/* RtlVerifyVersionInfo() ComparisonType */
337
338#define VER_EQUAL 1
339#define VER_GREATER 2
340#define VER_GREATER_EQUAL 3
341#define VER_LESS 4
342#define VER_LESS_EQUAL 5
343#define VER_AND 6
344#define VER_OR 7
345
346#define VER_CONDITION_MASK 7
347#define VER_NUM_BITS_PER_CONDITION_MASK 3
348
349/* RtlVerifyVersionInfo() TypeMask */
350
351#define VER_MINORVERSION 0x0000001
352#define VER_MAJORVERSION 0x0000002
353#define VER_BUILDNUMBER 0x0000004
354#define VER_PLATFORMID 0x0000008
355#define VER_SERVICEPACKMINOR 0x0000010
356#define VER_SERVICEPACKMAJOR 0x0000020
357#define VER_SUITENAME 0x0000040
358#define VER_PRODUCT_TYPE 0x0000080
359
360#define VER_NT_WORKSTATION 0x0000001
361#define VER_NT_DOMAIN_CONTROLLER 0x0000002
362#define VER_NT_SERVER 0x0000003
363
364#define VER_PLATFORM_WIN32s 0
365#define VER_PLATFORM_WIN32_WINDOWS 1
366#define VER_PLATFORM_WIN32_NT 2
367
368typedef enum _TABLE_SEARCH_RESULT {
369 TableEmptyTree,
370 TableFoundNode,
371 TableInsertAsLeft,
372 TableInsertAsRight
374
380
381// Forwarder
382struct _RTL_AVL_TABLE;
383
385_Function_class_(RTL_AVL_COMPARE_ROUTINE)
387(NTAPI RTL_AVL_COMPARE_ROUTINE) (
388 _In_ struct _RTL_AVL_TABLE *Table,
391typedef RTL_AVL_COMPARE_ROUTINE *PRTL_AVL_COMPARE_ROUTINE;
392
394_Function_class_(RTL_AVL_ALLOCATE_ROUTINE)
396typedef PVOID
397(NTAPI RTL_AVL_ALLOCATE_ROUTINE) (
398 _In_ struct _RTL_AVL_TABLE *Table,
400typedef RTL_AVL_ALLOCATE_ROUTINE *PRTL_AVL_ALLOCATE_ROUTINE;
401
403_Function_class_(RTL_AVL_FREE_ROUTINE)
404typedef VOID
405(NTAPI RTL_AVL_FREE_ROUTINE) (
406 _In_ struct _RTL_AVL_TABLE *Table,
408typedef RTL_AVL_FREE_ROUTINE *PRTL_AVL_FREE_ROUTINE;
409
411_Function_class_(RTL_AVL_MATCH_FUNCTION)
412typedef NTSTATUS
413(NTAPI RTL_AVL_MATCH_FUNCTION) (
414 _In_ struct _RTL_AVL_TABLE *Table,
417typedef RTL_AVL_MATCH_FUNCTION *PRTL_AVL_MATCH_FUNCTION;
418
419typedef struct _RTL_BALANCED_LINKS {
426
427typedef struct _RTL_AVL_TABLE {
440
441typedef struct _RTL_SPLAY_LINKS {
446
447#ifndef RTL_USE_AVL_TABLES
448
449struct _RTL_GENERIC_TABLE;
450
452_Function_class_(RTL_GENERIC_COMPARE_ROUTINE)
454(NTAPI RTL_GENERIC_COMPARE_ROUTINE) (
458typedef RTL_GENERIC_COMPARE_ROUTINE *PRTL_GENERIC_COMPARE_ROUTINE;
459
461_Function_class_(RTL_GENERIC_ALLOCATE_ROUTINE)
463typedef PVOID
464(NTAPI RTL_GENERIC_ALLOCATE_ROUTINE) (
467typedef RTL_GENERIC_ALLOCATE_ROUTINE *PRTL_GENERIC_ALLOCATE_ROUTINE;
468
470_Function_class_(RTL_GENERIC_FREE_ROUTINE)
471typedef VOID
472(NTAPI RTL_GENERIC_FREE_ROUTINE) (
475typedef RTL_GENERIC_FREE_ROUTINE *PRTL_GENERIC_FREE_ROUTINE;
476
477typedef struct _RTL_GENERIC_TABLE {
488
489#endif /* !RTL_USE_AVL_TABLES */
490
491#ifdef RTL_USE_AVL_TABLES
492
493#undef RTL_GENERIC_COMPARE_ROUTINE
494#undef PRTL_GENERIC_COMPARE_ROUTINE
495#undef RTL_GENERIC_ALLOCATE_ROUTINE
496#undef PRTL_GENERIC_ALLOCATE_ROUTINE
497#undef RTL_GENERIC_FREE_ROUTINE
498#undef PRTL_GENERIC_FREE_ROUTINE
499#undef RTL_GENERIC_TABLE
500#undef PRTL_GENERIC_TABLE
501
502#define RTL_GENERIC_COMPARE_ROUTINE RTL_AVL_COMPARE_ROUTINE
503#define PRTL_GENERIC_COMPARE_ROUTINE PRTL_AVL_COMPARE_ROUTINE
504#define RTL_GENERIC_ALLOCATE_ROUTINE RTL_AVL_ALLOCATE_ROUTINE
505#define PRTL_GENERIC_ALLOCATE_ROUTINE PRTL_AVL_ALLOCATE_ROUTINE
506#define RTL_GENERIC_FREE_ROUTINE RTL_AVL_FREE_ROUTINE
507#define PRTL_GENERIC_FREE_ROUTINE PRTL_AVL_FREE_ROUTINE
508#define RTL_GENERIC_TABLE RTL_AVL_TABLE
509#define PRTL_GENERIC_TABLE PRTL_AVL_TABLE
510
511#endif /* RTL_USE_AVL_TABLES */
512
513#define RTL_HASH_ALLOCATED_HEADER 0x00000001
514
519
525
531
543
544#define HASH_ENTRY_KEY(x) ((x)->Signature)
545
547$if (_NTIFS_)
548
549#define RTL_SYSTEM_VOLUME_INFORMATION_FOLDER L"System Volume Information"
550
551_Function_class_(RTL_ALLOCATE_STRING_ROUTINE)
554typedef PVOID
555(NTAPI *PRTL_ALLOCATE_STRING_ROUTINE)(
557
558#if _WIN32_WINNT >= 0x0600
559_Function_class_(RTL_REALLOCATE_STRING_ROUTINE)
562typedef PVOID
563(NTAPI *PRTL_REALLOCATE_STRING_ROUTINE)(
565 IN PVOID Buffer);
566#endif
567
568typedef VOID
571
572extern NTKERNELAPI const PRTL_ALLOCATE_STRING_ROUTINE RtlAllocateStringRoutine;
574
575#if _WIN32_WINNT >= 0x0600
576extern NTKERNELAPI const PRTL_REALLOCATE_STRING_ROUTINE RtlReallocateStringRoutine;
577#endif
578
579_Function_class_(RTL_HEAP_COMMIT_ROUTINE)
581typedef NTSTATUS
586
587typedef struct _RTL_HEAP_PARAMETERS {
600
601#if (NTDDI_VERSION >= NTDDI_WIN2K)
602
606 _Field_range_(<=, 8) UCHAR NameLength;
608 _Field_range_(<=, 4) ULONG ExtensionLength;
612
620
621typedef struct _PREFIX_TABLE {
626
635
636typedef struct _UNICODE_PREFIX_TABLE {
642
643#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
644
645#if (NTDDI_VERSION >= NTDDI_WINXP)
646typedef struct _COMPRESSED_DATA_INFO {
653 ULONG CompressedChunkSizes[ANYSIZE_ARRAY];
655#endif
unsigned char BOOLEAN
#define VOID
Definition: acefi.h:82
LONG NTSTATUS
Definition: precomp.h:26
Definition: bufpool.h:45
#define NTSTATUS
Definition: precomp.h:21
#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
#define _Function_class_(x)
Definition: ms_sal.h:2946
#define _Inout_
Definition: ms_sal.h:378
#define _In_z_
Definition: ms_sal.h:313
#define _Post_invalid_
Definition: ms_sal.h:695
#define _Inout_opt_
Definition: ms_sal.h:379
#define _Field_range_(min, max)
Definition: ms_sal.h:609
#define _In_
Definition: ms_sal.h:308
#define _In_reads_bytes_opt_(size)
Definition: ms_sal.h:322
#define _In_opt_
Definition: ms_sal.h:309
_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:4207
_In_opt_ ULONG Base
Definition: rtlfuncs.h:2439
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:251
#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:648
USHORT CompressionFormatAndEngine
Definition: rtltypes.h:647
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:605
WCHAR ExtensionBuffer[4]
Definition: rtltypes.h:609
_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:613
CSHORT NodeTypeCode
Definition: rtltypes.h:614
RTL_SPLAY_LINKS Links
Definition: rtltypes.h:617
PSTRING Prefix
Definition: rtltypes.h:618
struct _PREFIX_TABLE_ENTRY * NextPrefixTree
Definition: rtltypes.h:616
CSHORT NameLength
Definition: rtltypes.h:615
PPREFIX_TABLE_ENTRY NextPrefixTree
Definition: rtltypes.h:624
CSHORT NodeTypeCode
Definition: rtltypes.h:622
CSHORT NameLength
Definition: rtltypes.h:623
ULONG DeleteCount
Definition: rtltypes.h:434
PRTL_AVL_ALLOCATE_ROUTINE AllocateRoutine
Definition: rtltypes.h:436
ULONG DepthOfTree
Definition: rtltypes.h:432
ULONG NumberGenericTableElements
Definition: rtltypes.h:431
RTL_BALANCED_LINKS BalancedRoot
Definition: rtltypes.h:428
PRTL_AVL_COMPARE_ROUTINE CompareRoutine
Definition: rtltypes.h:435
ULONG WhichOrderedElement
Definition: rtltypes.h:430
PRTL_AVL_FREE_ROUTINE FreeRoutine
Definition: rtltypes.h:437
PVOID OrderedPointer
Definition: rtltypes.h:429
PVOID TableContext
Definition: rtltypes.h:438
PRTL_BALANCED_LINKS RestartKey
Definition: rtltypes.h:433
ULONG NumberOfBits
Definition: typedefs.h:97
ULONG StartingIndex
Definition: typedefs.h:96
ULONG SizeOfBitMap
Definition: typedefs.h:90
PULONG Buffer
Definition: typedefs.h:91
Definition: rtltypes.h:515
ULONG_PTR Signature
Definition: rtltypes.h:517
LIST_ENTRY Linkage
Definition: rtltypes.h:516
RTL_DYNAMIC_HASH_TABLE_ENTRY HashEntry
Definition: rtltypes.h:527
ULONG WhichOrderedElement
Definition: rtltypes.h:481
PLIST_ENTRY OrderedPointer
Definition: rtltypes.h:480
PRTL_GENERIC_FREE_ROUTINE FreeRoutine
Definition: rtltypes.h:485
LIST_ENTRY InsertOrderList
Definition: rtltypes.h:479
PRTL_GENERIC_ALLOCATE_ROUTINE AllocateRoutine
Definition: rtltypes.h:484
PRTL_GENERIC_COMPARE_ROUTINE CompareRoutine
Definition: rtltypes.h:483
PRTL_SPLAY_LINKS TableRoot
Definition: rtltypes.h:478
ULONG NumberGenericTableElements
Definition: rtltypes.h:482
SIZE_T VirtualMemoryThreshold
Definition: rtltypes.h:594
SIZE_T DeCommitTotalFreeThreshold
Definition: rtltypes.h:592
SIZE_T MaximumAllocationSize
Definition: rtltypes.h:593
PRTL_HEAP_COMMIT_ROUTINE CommitRoutine
Definition: nt_native.h:1676
SIZE_T DeCommitFreeBlockThreshold
Definition: rtltypes.h:591
PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine
Definition: nt_native.h:109
USHORT Milliseconds
Definition: env_spec_w32.h:717
USHORT Weekday
Definition: env_spec_w32.h:718
Definition: rtltypes.h:627
struct _UNICODE_PREFIX_TABLE_ENTRY * CaseMatch
Definition: rtltypes.h:631
PUNICODE_STRING Prefix
Definition: rtltypes.h:633
struct _UNICODE_PREFIX_TABLE_ENTRY * NextPrefixTree
Definition: rtltypes.h:630
CSHORT NameLength
Definition: rtltypes.h:629
RTL_SPLAY_LINKS Links
Definition: rtltypes.h:632
CSHORT NodeTypeCode
Definition: rtltypes.h:628
PUNICODE_PREFIX_TABLE_ENTRY LastNextEntry
Definition: rtltypes.h:640
PUNICODE_PREFIX_TABLE_ENTRY NextPrefixTree
Definition: rtltypes.h:639
ULONG_PTR * PSIZE_T
Definition: typedefs.h:80
uint16_t * PWSTR
Definition: typedefs.h:56
struct _RTL_BITMAP * PRTL_BITMAP
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
struct _RTL_BITMAP RTL_BITMAP
ULONG CLONG
Definition: umtypes.h:126
short CSHORT
Definition: umtypes.h:127
ULONGLONG Alignment
Definition: rtltypes.h:139
USHORT Sequence
Definition: rtltypes.h:143
SLIST_ENTRY Next
Definition: rtltypes.h:141
_ANONYMOUS_STRUCT struct _SLIST_HEADER::@4181 DUMMYSTRUCTNAME
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:2693
#define EXCEPTION_MAXIMUM_PARAMETERS
Definition: winnt_old.h:2349
_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:408
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:295
OSVERSIONINFOEXA OSVERSIONINFOEX
Definition: rtltypes.h:290
TABLE_SEARCH_RESULT
Definition: rtltypes.h:373
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:416
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:475
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:417
_Inout_opt_ PVOID Parameter
Definition: rtltypes.h:323
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:390
#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:400
RTL_GENERIC_COMPARE_ROUTINE * PRTL_GENERIC_COMPARE_ROUTINE
Definition: rtltypes.h:458
RTL_RUN_ONCE
Definition: rtltypes.h:314
VOID(NTAPI * PRTL_FREE_STRING_ROUTINE)(_In_ __drv_freesMem(Mem) _Post_invalid_ PVOID Buffer)
Definition: rtltypes.h:569
struct _OSVERSIONINFOW OSVERSIONINFOW
struct _RTL_GENERIC_TABLE * PRTL_GENERIC_TABLE
POSVERSIONINFOA POSVERSIONINFO
Definition: rtltypes.h:294
$endif(_WDMDDK_) $if(_NTDDK_||_WINNT_) typedef union _RTL_RUN_ONCE
Definition: rtltypes.h:298
_IRQL_requires_same_ _In_ CLONG ByteSize
Definition: rtltypes.h:399
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:293
$if(_WDMDDK_) typedef struct _RTL_BITMAP
Definition: rtltypes.h:5
struct _PREFIX_TABLE_ENTRY PREFIX_TABLE_ENTRY
struct _UNICODE_PREFIX_TABLE * PUNICODE_PREFIX_TABLE
* PRTL_RUN_ONCE
Definition: rtltypes.h:314
struct _EXCEPTION_RECORD32 EXCEPTION_RECORD32
POSVERSIONINFOEXA POSVERSIONINFOEX
Definition: rtltypes.h:291
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:389
LPOSVERSIONINFOEXA LPOSVERSIONINFOEX
Definition: rtltypes.h:292
BOOLEAN * NlsMbOemCodePageTag
Definition: nlsboot.c:19
struct _EXCEPTION_RECORD * PEXCEPTION_RECORD
RTL_GENERIC_ALLOCATE_ROUTINE * PRTL_GENERIC_ALLOCATE_ROUTINE
Definition: rtltypes.h:467
_RTL_GENERIC_COMPARE_RESULTS
Definition: rtltypes.h:375
@ GenericLessThan
Definition: rtltypes.h:376
@ GenericEqual
Definition: rtltypes.h:378
@ GenericGreaterThan
Definition: rtltypes.h:377
struct _PREFIX_TABLE_ENTRY * PPREFIX_TABLE_ENTRY
struct _EXCEPTION_RECORD64 EXCEPTION_RECORD64
RTL_AVL_COMPARE_ROUTINE * PRTL_AVL_COMPARE_ROUTINE
Definition: rtltypes.h:391
RTL_RUN_ONCE_INIT_FN * PRTL_RUN_ONCE_INIT_FN
Definition: rtltypes.h:325
struct _OSVERSIONINFOEXW RTL_OSVERSIONINFOEXW
_Inout_ PVOID * CommitAddress
Definition: rtltypes.h:584
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