ReactOS 0.4.16-dev-975-g3b8cfa4
rtlfuncs.h
Go to the documentation of this file.
1/*++ NDK Version: 0098
2
3Copyright (c) Alex Ionescu. All rights reserved.
4
5Header Name:
6
7 rtlfuncs.h
8
9Abstract:
10
11 Function definitions for the Run-Time Library
12
13Author:
14
15 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16
17--*/
18
19#ifndef _RTLFUNCS_H
20#define _RTLFUNCS_H
21
22//
23// Dependencies
24//
25#include <umtypes.h>
26#include <ntnls.h>
27#include <rtltypes.h>
28#include <pstypes.h>
29#include <extypes.h>
30#include "in6addr.h"
31#include "inaddr.h"
32
33#ifdef __cplusplus
34extern "C" {
35#endif
36
37#ifdef NTOS_MODE_USER
38
39//
40// List Functions
41//
42
45VOID
46RtlFailFast(
48{
50}
51
52#define RTL_STATIC_LIST_HEAD(x) LIST_ENTRY x = { &x, &x }
53
55VOID
57 _Out_ PLIST_ENTRY ListHead
58)
59{
60 ListHead->Flink = ListHead->Blink = ListHead;
61}
62
64VOID
66 _Inout_ PLIST_ENTRY ListHead,
68)
69{
70 PLIST_ENTRY OldFlink;
71 OldFlink = ListHead->Flink;
72 Entry->Flink = OldFlink;
73 Entry->Blink = ListHead;
74 OldFlink->Blink = Entry;
75 ListHead->Flink = Entry;
76}
77
79VOID
81 _Inout_ PLIST_ENTRY ListHead,
83)
84{
85 PLIST_ENTRY OldBlink;
86 OldBlink = ListHead->Blink;
87 Entry->Flink = ListHead;
88 Entry->Blink = OldBlink;
89 OldBlink->Flink = Entry;
90 ListHead->Blink = Entry;
91}
92
97 _In_ const LIST_ENTRY * ListHead
98)
99{
100 return (BOOLEAN)(ListHead->Flink == ListHead);
101}
102
107)
108{
109 PSINGLE_LIST_ENTRY FirstEntry;
110 FirstEntry = ListHead->Next;
111 if (FirstEntry != NULL) {
112 ListHead->Next = FirstEntry->Next;
113 }
114
115 return FirstEntry;
116}
117
119VOID
123)
124{
125 Entry->Next = ListHead->Next;
126 ListHead->Next = Entry;
127}
128
133{
134 PLIST_ENTRY OldFlink;
135 PLIST_ENTRY OldBlink;
136
137 OldFlink = Entry->Flink;
138 OldBlink = Entry->Blink;
139 OldFlink->Blink = OldBlink;
140 OldBlink->Flink = OldFlink;
141 return (BOOLEAN)(OldFlink == OldBlink);
142}
143
147 _Inout_ PLIST_ENTRY ListHead)
148{
149 PLIST_ENTRY Flink;
151
152 Entry = ListHead->Flink;
153 Flink = Entry->Flink;
154 ListHead->Flink = Flink;
155 Flink->Blink = ListHead;
156 return Entry;
157}
158
162 _Inout_ PLIST_ENTRY ListHead)
163{
164 PLIST_ENTRY Blink;
166
167 Entry = ListHead->Blink;
168 Blink = Entry->Blink;
169 ListHead->Blink = Blink;
170 Blink->Flink = ListHead;
171 return Entry;
172}
173
174//
175// Unicode string macros
176//
181VOID
182RtlInitEmptyUnicodeString(
186{
187 UnicodeString->Length = 0;
188 UnicodeString->MaximumLength = BufferSize;
189 UnicodeString->Buffer = Buffer;
190}
191
196VOID
197RtlInitEmptyAnsiString(
201{
202 AnsiString->Length = 0;
203 AnsiString->MaximumLength = BufferSize;
204 AnsiString->Buffer = Buffer;
205}
206
207//
208// LUID Macros
209//
210#define RtlEqualLuid(L1, L2) (((L1)->HighPart == (L2)->HighPart) && \
211 ((L1)->LowPart == (L2)->LowPart))
213LUID
217{
218 LUID TempLuid;
219
220 TempLuid.LowPart = Ulong;
221 TempLuid.HighPart = 0;
222 return TempLuid;
223}
224
228NTAPI
234 _In_reads_bytes_(UTF8StringByteCount) PCCH UTF8StringSource,
236
237//
238// ASSERT Macros
239//
240#ifndef ASSERT
241#if DBG
242
243#define ASSERT( exp ) \
244 ((void)((!(exp)) ? \
245 (RtlAssert( (PVOID)#exp, (PVOID)__FILE__, __LINE__, NULL ),FALSE) : \
246 TRUE))
247
248#define ASSERTMSG( msg, exp ) \
249 ((void)((!(exp)) ? \
250 (RtlAssert( (PVOID)#exp, (PVOID)__FILE__, __LINE__, (PCHAR)msg ),FALSE) : \
251 TRUE))
252
253#else
254
255#define ASSERT( exp ) ((void) 0)
256#define ASSERTMSG( msg, exp ) ((void) 0)
257
258#endif
259#endif
260
261#ifdef NTOS_KERNEL_RUNTIME
262
263//
264// Executing RTL functions at DISPATCH_LEVEL or higher will result in a
265// bugcheck.
266//
267#define RTL_PAGED_CODE PAGED_CODE
268
269#else
270
271//
272// This macro does nothing in user mode
273//
274#define RTL_PAGED_CODE()
275
276#endif
277
278//
279// RTL Splay Tree Functions
280//
281#ifndef RTL_USE_AVL_TABLES
282
284VOID
285NTAPI
292);
293
295PVOID
296NTAPI
301 _Out_opt_ PBOOLEAN NewElement
302);
303
305PVOID
306NTAPI
311 _Out_opt_ PBOOLEAN NewElement,
312 _In_ PVOID NodeOrParent,
313 _In_ TABLE_SEARCH_RESULT SearchResult
314);
315
318NTAPI
322);
323
326PVOID
327NTAPI
331);
332
334PVOID
335NTAPI
339 _Out_ PVOID *NodeOrParent,
340 _Out_ TABLE_SEARCH_RESULT *SearchResult
341);
342
345PVOID
346NTAPI
350);
351
354PVOID
355NTAPI
358 _Inout_ PVOID *RestartKey
359);
360
363PVOID
364NTAPI
367 _In_ ULONG I
368);
369
371ULONG
372NTAPI
375);
376
380NTAPI
383);
384
385#endif /* !RTL_USE_AVL_TABLES */
386
389NTAPI
392);
393
396NTAPI
399);
400
402VOID
403NTAPI
407);
408
412NTAPI
415);
416
420NTAPI
423);
424
428NTAPI
431);
432
436NTAPI
439);
440
441#define RtlIsLeftChild(Links) \
442 (RtlLeftChild(RtlParent(Links)) == (PRTL_SPLAY_LINKS)(Links))
443
444#define RtlIsRightChild(Links) \
445 (RtlRightChild(RtlParent(Links)) == (PRTL_SPLAY_LINKS)(Links))
446
447#define RtlRightChild(Links) \
448 ((PRTL_SPLAY_LINKS)(Links))->RightChild
449
450#define RtlIsRoot(Links) \
451 (RtlParent(Links) == (PRTL_SPLAY_LINKS)(Links))
452
453#define RtlLeftChild(Links) \
454 ((PRTL_SPLAY_LINKS)(Links))->LeftChild
455
456#define RtlParent(Links) \
457 ((PRTL_SPLAY_LINKS)(Links))->Parent
458
459// FIXME: use inline function
460
461#define RtlInitializeSplayLinks(Links) \
462 { \
463 PRTL_SPLAY_LINKS _SplayLinks; \
464 _SplayLinks = (PRTL_SPLAY_LINKS)(Links); \
465 _SplayLinks->Parent = _SplayLinks; \
466 _SplayLinks->LeftChild = NULL; \
467 _SplayLinks->RightChild = NULL; \
468 }
469
470#define RtlInsertAsLeftChild(ParentLinks,ChildLinks) \
471 { \
472 PRTL_SPLAY_LINKS _SplayParent; \
473 PRTL_SPLAY_LINKS _SplayChild; \
474 _SplayParent = (PRTL_SPLAY_LINKS)(ParentLinks); \
475 _SplayChild = (PRTL_SPLAY_LINKS)(ChildLinks); \
476 _SplayParent->LeftChild = _SplayChild; \
477 _SplayChild->Parent = _SplayParent; \
478 }
479
480#define RtlInsertAsRightChild(ParentLinks,ChildLinks) \
481 { \
482 PRTL_SPLAY_LINKS _SplayParent; \
483 PRTL_SPLAY_LINKS _SplayChild; \
484 _SplayParent = (PRTL_SPLAY_LINKS)(ParentLinks); \
485 _SplayChild = (PRTL_SPLAY_LINKS)(ChildLinks); \
486 _SplayParent->RightChild = _SplayChild; \
487 _SplayChild->Parent = _SplayParent; \
488 }
489
490//
491// RTL AVL Tree Functions
492//
494VOID
495NTAPI
502);
503
505PVOID
506NTAPI
511 _Out_opt_ PBOOLEAN NewElement
512);
513
515PVOID
516NTAPI
521 _Out_opt_ PBOOLEAN NewElement,
522 _In_ PVOID NodeOrParent,
523 _In_ TABLE_SEARCH_RESULT SearchResult
524);
525
528NTAPI
532);
533
536PVOID
537NTAPI
541);
542
544PVOID
545NTAPI
549 _Out_ PVOID *NodeOrParent,
550 _Out_ TABLE_SEARCH_RESULT *SearchResult
551);
552
555PVOID
556NTAPI
560);
561
564PVOID
565NTAPI
568 _Inout_ PVOID *RestartKey
569);
570
573PVOID
574NTAPI
578 _Out_ PVOID *RestartKey
579);
580
583PVOID
584NTAPI
587 _In_opt_ PRTL_AVL_MATCH_FUNCTION MatchFunction,
589 _In_ ULONG NextFlag,
590 _Inout_ PVOID *RestartKey,
591 _Inout_ PULONG DeleteCount,
593);
594
597PVOID
598NTAPI
601 _In_ ULONG I
602);
603
605ULONG
606NTAPI
609);
610
614NTAPI
617);
618
619#ifdef RTL_USE_AVL_TABLES
620
621#define RtlInitializeGenericTable RtlInitializeGenericTableAvl
622#define RtlInsertElementGenericTable RtlInsertElementGenericTableAvl
623#define RtlInsertElementGenericTableFull RtlInsertElementGenericTableFullAvl
624#define RtlDeleteElementGenericTable RtlDeleteElementGenericTableAvl
625#define RtlLookupElementGenericTable RtlLookupElementGenericTableAvl
626#define RtlLookupElementGenericTableFull RtlLookupElementGenericTableFullAvl
627#define RtlEnumerateGenericTable RtlEnumerateGenericTableAvl
628#define RtlEnumerateGenericTableWithoutSplaying RtlEnumerateGenericTableWithoutSplayingAvl
629#define RtlGetElementGenericTable RtlGetElementGenericTableAvl
630#define RtlNumberGenericTableElements RtlNumberGenericTableElementsAvl
631#define RtlIsGenericTableEmpty RtlIsGenericTableEmptyAvl
632
633#endif /* RTL_USE_AVL_TABLES */
634
635//
636// Exception and Error Functions
637//
639PVOID
640NTAPI
642 _In_ ULONG FirstHandler,
643 _In_ PVECTORED_EXCEPTION_HANDLER VectoredHandler
644);
645
647ULONG
648NTAPI
650 _In_ PVOID VectoredHandlerHandle
651);
652
654PVOID
655NTAPI
657 _In_ ULONG FirstHandler,
658 _In_ PVECTORED_EXCEPTION_HANDLER VectoredHandler
659);
660
662ULONG
663NTAPI
665 _In_ PVOID VectoredHandlerHandle
666);
667
669VOID
670NTAPI
672 _In_ PRTLP_UNHANDLED_EXCEPTION_FILTER TopLevelExceptionFilter
673);
674
676LONG
677NTAPI
679 _In_ struct _EXCEPTION_POINTERS* ExceptionInfo
680);
681
684VOID
685NTAPI
687 _In_ PVOID FailedAssertion,
691);
692
694PVOID
695NTAPI
697 _In_ PVOID Pointer
698);
699
701PVOID
702NTAPI
704 _In_ PVOID Pointer
705);
706
708PVOID
709NTAPI
711 _In_ PVOID Pointer
712);
713
715PVOID
716NTAPI
718 _In_ PVOID Pointer
719);
720
723NTAPI
725 VOID
726);
727
729ULONG
730NTAPI
732 VOID
733);
734
736VOID
737NTAPI
739 _In_ ULONG LastError
740);
741
743VOID
744NTAPI
747);
748
751NTAPI
753 _In_ ULONG NewMode,
754 _Out_opt_ PULONG OldMode
755);
756
758ULONG
759NTAPI
761 VOID
762);
763
764#endif /* NTOS_MODE_USER */
765
767VOID
768NTAPI
771);
772
775NTAPI
777 _In_ PEXCEPTION_RECORD ExceptionRecord,
779);
780
783_When_(Status >= 0, _Out_range_(==, 0))
785ULONG
786NTAPI
789);
790
792_When_(Status >= 0, _Out_range_(==, 0))
794ULONG
795NTAPI
798);
799
802NTAPI
804 _In_ ULONG SecurityError
805);
806
808VOID
809NTAPI
811 _In_ PEXCEPTION_RECORD ExceptionRecord
812);
813
816VOID
817NTAPI
820);
821
823VOID
824NTAPI
826 _In_opt_ PVOID TargetFrame,
827 _In_opt_ PVOID TargetIp,
828 _In_opt_ PEXCEPTION_RECORD ExceptionRecord,
830);
831
832#define RTL_STACK_WALKING_MODE_FRAMES_TO_SKIP_SHIFT 8
833
834#ifdef _M_AMD64
835
837PRUNTIME_FUNCTION
838NTAPI
840 _In_ DWORD64 ControlPc,
841 _Out_ PDWORD64 ImageBase,
842 _Inout_opt_ PUNWIND_HISTORY_TABLE HistoryTable
843);
844
847NTAPI
850 _In_ ULONG64 ImageBase,
851 _In_ ULONG64 ControlPc,
852 _In_ PRUNTIME_FUNCTION FunctionEntry,
854 _Out_ PVOID* HandlerData,
856 _Inout_opt_ PKNONVOLATILE_CONTEXT_POINTERS ContextPointers
857);
858
859#endif // _M_AMD64
860
861//
862// Tracing Functions
863//
865ULONG
866NTAPI
871);
872
874USHORT
875NTAPI
877 VOID
878);
879
880#ifdef NTOS_MODE_USER
881//
882// Heap Functions
883//
888PVOID
889NTAPI
891 _In_ PVOID HeapHandle,
894);
895
898PVOID
899NTAPI
903 _In_opt_ SIZE_T SizeToReserve,
904 _In_opt_ SIZE_T SizeToCommit,
907);
908
910ULONG
911NTAPI
913 _In_ HANDLE HeapHandle,
915 _In_opt_ PWSTR TagName,
916 _In_ PWSTR TagSubName
917);
918
919ULONG
920NTAPI
922 _In_ HANDLE Heap,
924);
925
928PVOID
929NTAPI
933 _In_opt_ SIZE_T SizeToReserve,
934 _In_opt_ SIZE_T SizeToCommit,
937);
938
940HANDLE
941NTAPI
944);
945
947ULONG
948NTAPI
950 _In_ HANDLE Heap,
952 _In_ PVOID P,
954);
955
956_Success_(return != 0)
959NTAPI
961 _In_ HANDLE HeapHandle,
964);
965
966ULONG
967NTAPI
969 _In_ ULONG HeapCount,
970 _Out_cap_(HeapCount) HANDLE *HeapArray
971);
972
973_Success_(return != 0)
975NTAPI
977 _In_ PVOID HeapHandle,
980 _Inout_opt_ PVOID *UserValue,
981 _Out_opt_ PULONG UserFlags
982);
983
985PVOID
986NTAPI
988 _In_ PVOID HeapHandle,
990);
991
994NTAPI
996 _In_ PVOID HeapHandle,
997 _In_ HEAP_INFORMATION_CLASS HeapInformationClass,
998 _Out_ PVOID HeapInformation,
999 _In_ SIZE_T HeapInformationLength,
1002);
1003
1006PWSTR
1007NTAPI
1009 _In_ PVOID HeapHandle,
1011 _In_ USHORT TagIndex,
1012 _In_ BOOLEAN ResetCounters,
1013 _Out_ PRTL_HEAP_TAG_INFO HeapTagInfo
1014);
1015
1020PVOID
1021NTAPI
1023 _In_ HANDLE Heap,
1027);
1028
1031NTAPI
1033 _In_ PVOID HeapHandle,
1034 _In_ HEAP_INFORMATION_CLASS HeapInformationClass,
1035 _When_(HeapInformationClass==HeapCompatibilityInformation,_In_) PVOID HeapInformation,
1036 _In_ SIZE_T HeapInformationLength
1037);
1038
1040BOOLEAN
1041NTAPI
1043 _In_ HANDLE Heap
1044);
1045
1047ULONG
1048NTAPI
1050 _In_ HANDLE HeapHandle,
1055);
1056
1058ULONG
1059NTAPI
1061 _In_ HANDLE HeapHandle,
1064 _In_count_(Count) /* _Deref_ _Post_invalid_ */ PVOID * Array
1065);
1066
1069NTAPI
1071 _In_ HANDLE Heap,
1074);
1075
1077BOOLEAN
1078NTAPI
1080 _In_ HANDLE Heap
1081);
1082
1083BOOLEAN
1084NTAPI
1086 _In_ PVOID HeapHandle,
1089 _In_ PVOID UserValue
1090);
1091
1092BOOLEAN
1093NTAPI
1095 _In_ PVOID HeapHandle,
1098 _In_ ULONG UserFlagsReset,
1099 _In_ ULONG UserFlagsSet
1100);
1101
1103BOOLEAN
1104NTAPI
1106 _In_ HANDLE Heap,
1109);
1110
1113NTAPI
1115 _In_ HANDLE HeapHandle,
1116 _In_ PVOID HeapEntry
1117);
1118
1119#define RtlGetProcessHeap() (NtCurrentPeb()->ProcessHeap)
1120
1121#endif // NTOS_MODE_USER
1122
1123#define NtCurrentPeb() (NtCurrentTeb()->ProcessEnvironmentBlock)
1124
1126SIZE_T
1127NTAPI
1129 _In_ PVOID HeapHandle,
1131 _In_ PVOID MemoryPointer
1132);
1133
1134
1135//
1136// Security Functions
1137//
1141NTAPI
1146);
1147
1151NTAPI
1153 _Inout_ PACL Acl,
1157);
1158
1162NTAPI
1164 _Inout_ PACL pAcl,
1169);
1170
1173NTAPI
1175 _Inout_ PACL pAcl,
1179 _In_opt_ GUID *ObjectTypeGuid,
1180 _In_opt_ GUID *InheritedObjectTypeGuid,
1181 _In_ PSID pSid
1182);
1183
1186NTAPI
1188 _Inout_ PACL Acl,
1191 _In_ PSID Sid
1192);
1193
1196NTAPI
1198 _Inout_ PACL Acl,
1202 _In_ PSID Sid
1203);
1204
1207NTAPI
1209 _Inout_ PACL pAcl,
1213 _In_opt_ GUID *ObjectTypeGuid,
1214 _In_opt_ GUID *InheritedObjectTypeGuid,
1215 _In_ PSID pSid
1216);
1217
1220NTAPI
1222 _Inout_ PACL Acl,
1227);
1228
1231NTAPI
1233 _Inout_ PACL Acl,
1236 _In_ PSID Sid,
1238 _In_ BOOLEAN Failure
1239);
1240
1243NTAPI
1246 _In_ ULONG NumPriv,
1248 _Out_ PVOID *ReturnedState
1249);
1250
1253NTAPI
1255 _Inout_ PACL Acl,
1259 _In_ PSID Sid,
1261 _In_ BOOLEAN Failure
1262);
1263
1266NTAPI
1268 _Inout_ PACL Acl,
1272 _In_opt_ GUID *ObjectTypeGuid,
1273 _In_opt_ GUID *InheritedObjectTypeGuid,
1274 _In_ PSID Sid,
1276 _In_ BOOLEAN Failure
1277);
1278
1281NTAPI
1283 _Inout_ PACL Acl,
1286 _In_ ULONG MandatoryFlags,
1288 _In_ PSID LabelSid);
1289
1292NTAPI
1295 _In_ BOOLEAN NewValue,
1296 _In_ BOOLEAN ForThread,
1297 _Out_ PBOOLEAN OldValue
1298);
1299
1303NTAPI
1307 _In_ ULONG SubAuthority0,
1308 _In_ ULONG SubAuthority1,
1309 _In_ ULONG SubAuthority2,
1310 _In_ ULONG SubAuthority3,
1311 _In_ ULONG SubAuthority4,
1312 _In_ ULONG SubAuthority5,
1313 _In_ ULONG SubAuthority6,
1314 _In_ ULONG SubAuthority7,
1316);
1317
1319BOOLEAN
1320NTAPI
1324);
1325
1327BOOLEAN
1328NTAPI
1332);
1333
1336VOID
1337NTAPI
1339 _Out_ PLUID DestinationLuid,
1341 );
1342
1344VOID
1345NTAPI
1347 ULONG Count,
1350);
1351
1354NTAPI
1358 _In_ ULONG SidAreaSize,
1360 _In_ PSID SidArea,
1361 _Out_ PSID* RemainingSidArea,
1362 _Out_ PULONG RemainingSidAreaSize
1363);
1364
1368NTAPI
1371 _In_ PSID Sid,
1373);
1374
1378NTAPI
1380 _In_ ULONG DestinationSidLength,
1381 _Out_writes_bytes_(DestinationSidLength) PSID DestinationSid,
1383);
1384
1387NTAPI
1389 PACL Acl,
1390 ULONG AclSize,
1392);
1393
1396NTAPI
1400);
1401
1404NTAPI
1408);
1409
1412NTAPI
1414 _In_ PSECURITY_DESCRIPTOR pSourceSecurityDescriptor,
1415 _Out_ PSECURITY_DESCRIPTOR *pDestinationSecurityDescriptor
1416);
1417
1420NTAPI
1422 PACL Acl,
1424);
1425
1427BOOLEAN
1428NTAPI
1430 PSID Sid1,
1431 PSID Sid2
1432);
1433
1435BOOLEAN
1436NTAPI
1438 _In_ PSID Sid1,
1439 _In_ PSID Sid2
1440);
1441
1443BOOLEAN
1444NTAPI
1446 PACL Acl,
1447 PACE* Ace
1448);
1449
1451PVOID
1452NTAPI
1455);
1456
1459NTAPI
1461 PACL Acl,
1463 PVOID *Ace
1464);
1465
1468NTAPI
1473);
1474
1477NTAPI
1481 _Out_ PACL *Dacl,
1483);
1484
1487NTAPI
1491 _Out_ PACL* Sacl,
1493);
1494
1497NTAPI
1500 _Out_ PSID *Group,
1502);
1503
1506NTAPI
1509 _Out_ PSID *Owner,
1511);
1512
1514BOOLEAN
1515NTAPI
1518 _Out_ PUCHAR RMControl
1519);
1520
1523NTAPI
1525
1528NTAPI
1530
1534NTAPI
1536 _Out_ PSID Sid,
1539);
1540
1542ULONG
1543NTAPI
1545
1548ULONG
1549NTAPI
1552
1554ULONG
1555NTAPI
1557
1560NTAPI
1562 _In_ PSECURITY_DESCRIPTOR AbsoluteSD,
1563 _Out_ PSECURITY_DESCRIPTOR SelfRelativeSD,
1565
1567VOID
1568NTAPI
1572);
1573
1574#ifdef NTOS_MODE_USER
1575
1578NTAPI
1580 PACL Acl,
1582 ULONG InformationLength,
1584);
1585
1586#endif
1587
1589VOID
1590NTAPI
1592 _In_ PVOID ReturnedState
1593);
1594
1595#if (NTDDI_VERSION >= NTDDI_VISTA)
1596
1599NTAPI
1602 _In_reads_opt_(PrivilegeCount) _When_(PrivilegeCount != 0, _Notnull_)
1603 PULONG PrivilegesToKeep,
1604 _In_ ULONG PrivilegeCount
1605);
1606
1607#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
1608
1612NTAPI
1625);
1626
1629NTAPI
1631 _Inout_ PSECURITY_DESCRIPTOR SelfRelativeSD,
1633);
1634
1637NTAPI
1642);
1643
1646NTAPI
1649 _In_ SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest,
1650 _In_ SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet
1651);
1652
1656NTAPI
1662);
1663
1667NTAPI
1672);
1673
1674#ifdef NTOS_MODE_USER
1675
1678NTAPI
1680 PACL Acl,
1682 ULONG InformationLength,
1684);
1685
1686#endif
1687
1691NTAPI
1696);
1697
1700NTAPI
1704 _In_ PACL Sacl,
1706);
1707
1709VOID
1710NTAPI
1713 _In_ PUCHAR RMControl
1714);
1715
1717PUCHAR
1718NTAPI
1720 _In_ PSID Sid
1721);
1722
1724PULONG
1725NTAPI
1727 _In_ PSID Sid,
1728 _In_ ULONG SubAuthority
1729);
1730
1734BOOLEAN
1735NTAPI
1740);
1741
1743BOOLEAN
1744NTAPI
1746
1748BOOLEAN
1749NTAPI
1751
1753BOOLEAN
1754NTAPI
1756
1759NTAPI
1761 _In_ PSECURITY_DESCRIPTOR *ObjectDescriptor
1762);
1763
1766NTAPI
1768 _In_ PSECURITY_DESCRIPTOR ParentDescriptor,
1769 _In_ PSECURITY_DESCRIPTOR CreatorDescriptor,
1774);
1775
1778NTAPI
1780 _In_ PSECURITY_DESCRIPTOR ObjectDescriptor,
1782 _Out_ PSECURITY_DESCRIPTOR ResultantDescriptor,
1783 _In_ ULONG DescriptorLength,
1785);
1786
1789NTAPI
1792 _In_ PSECURITY_DESCRIPTOR ModificationDescriptor,
1793 _Out_ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
1796);
1797
1798//
1799// Single-Character Functions
1800//
1803NTAPI
1806 _In_ ULONG Base,
1809);
1810
1812CHAR
1813NTAPI
1815
1817WCHAR
1818NTAPI
1820
1822WCHAR
1823NTAPI
1825
1828NTAPI
1831 _In_ ULONG Base,
1834);
1835
1838NTAPI
1844);
1845
1847_At_(String->MaximumLength, _Const_)
1850NTAPI
1855);
1856
1859NTAPI
1861 PCSZ String,
1862 ULONG Base,
1864);
1865
1866//
1867// Byte Swap Functions
1868//
1869#ifdef NTOS_MODE_USER
1870
1872unsigned short
1873__cdecl
1875 _In_ unsigned short _Short);
1876
1878unsigned long
1879__cdecl
1881 _In_ unsigned long _Long);
1882
1884unsigned __int64
1885__cdecl
1887 _In_ unsigned __int64 _Int64);
1888
1889#ifdef _MSC_VER
1890#pragma intrinsic(_byteswap_ushort)
1891#pragma intrinsic(_byteswap_ulong)
1892#pragma intrinsic(_byteswap_uint64)
1893#endif // _MSC_VER
1894#define RtlUshortByteSwap(_x) _byteswap_ushort((USHORT)(_x))
1895#define RtlUlongByteSwap(_x) _byteswap_ulong((_x))
1896#define RtlUlonglongByteSwap(_x) _byteswap_uint64((_x))
1897
1898#endif // NTOS_MODE_USER
1899
1900//
1901// Unicode->Ansi String Functions
1902//
1904ULONG
1905NTAPI
1907
1908#ifdef NTOS_MODE_USER
1909
1910#define RtlUnicodeStringToAnsiSize(STRING) ( \
1911 NLS_MB_CODE_PAGE_TAG ? \
1912 RtlxUnicodeStringToAnsiSize(STRING) : \
1913 ((STRING)->Length + sizeof(UNICODE_NULL)) / sizeof(WCHAR) \
1914)
1915
1916#endif
1917
1920NTAPI
1925);
1926
1927//
1928// Unicode->OEM String Functions
1929//
1932NTAPI
1937);
1938
1941//_At_(DestinationString->Buffer, _Post_bytecount_(DestinationString->Length))
1944NTAPI
1951);
1952
1955NTAPI
1960);
1961
1966NTAPI
1967RtlUnicodeStringToCountedOemString(
1973);
1974
1977NTAPI
1980 ULONG OemSize,
1981 PULONG ResultSize,
1983 ULONG UnicodeSize
1984);
1985
1987ULONG
1988NTAPI
1990
1991#ifdef NTOS_MODE_USER
1992
1993#define RtlUnicodeStringToOemSize(STRING) ( \
1994 NLS_MB_OEM_CODE_PAGE_TAG ? \
1995 RtlxUnicodeStringToOemSize(STRING) : \
1996 ((STRING)->Length + sizeof(UNICODE_NULL)) / sizeof(WCHAR) \
1997)
1998
1999#define RtlUnicodeStringToCountedOemSize(STRING) ( \
2000 (ULONG)(RtlUnicodeStringToOemSize(STRING) - sizeof(ANSI_NULL)) \
2001)
2002
2003#endif
2004
2007NTAPI
2010 ULONG OemSize,
2011 PULONG ResultSize,
2013 ULONG UnicodeSize
2014);
2015
2016//
2017// Unicode->MultiByte String Functions
2018//
2021NTAPI
2023 PCHAR MbString,
2024 ULONG MbSize,
2025 PULONG ResultSize,
2027 ULONG UnicodeSize
2028);
2029
2032NTAPI
2034 PCHAR MbString,
2035 ULONG MbSize,
2036 PULONG ResultSize,
2038 ULONG UnicodeSize
2039);
2040
2043NTAPI
2045 PULONG MbSize,
2047 ULONG UnicodeSize
2048);
2049
2051ULONG
2052NTAPI
2054
2055//
2056// OEM to Unicode Functions
2057//
2060NTAPI
2065);
2066
2070NTAPI
2077);
2078
2079#ifdef NTOS_MODE_USER
2080
2081#define RtlOemStringToUnicodeSize(STRING) ( \
2082 NLS_MB_OEM_CODE_PAGE_TAG ? \
2083 RtlxOemStringToUnicodeSize(STRING) : \
2084 ((STRING)->Length + sizeof(ANSI_NULL)) * sizeof(WCHAR) \
2085)
2086
2087#define RtlOemStringToCountedUnicodeSize(STRING) ( \
2088 (ULONG)(RtlOemStringToUnicodeSize(STRING) - sizeof(UNICODE_NULL)) \
2089)
2090
2091#endif
2092
2093//
2094// Ansi->Unicode String Functions
2095//
2098WCHAR
2099NTAPI
2101 _Inout_ PUCHAR *SourceCharacter);
2102
2105NTAPI
2110);
2111
2113ULONG
2114NTAPI
2117);
2118
2119#ifdef NTOS_MODE_USER
2120
2121#define RtlAnsiStringToUnicodeSize(STRING) ( \
2122 NLS_MB_CODE_PAGE_TAG ? \
2123 RtlxAnsiStringToUnicodeSize(STRING) : \
2124 ((STRING)->Length + sizeof(ANSI_NULL)) * sizeof(WCHAR) \
2125)
2126
2127#endif
2128
2130BOOLEAN
2131NTAPI
2135);
2136
2137//
2138// Unicode String Functions
2139//
2142NTAPI
2146);
2147
2150NTAPI
2154);
2155
2157LONG
2158NTAPI
2160 PCUNICODE_STRING String1,
2163);
2164
2167LONG
2168NTAPI
2175);
2176
2178VOID
2179NTAPI
2183);
2184
2186BOOLEAN
2187NTAPI
2191);
2192
2193#ifdef NTOS_MODE_USER
2194
2197NTAPI
2199 _Inout_ PUNICODE_STRING UniDest,
2200 _In_ PCUNICODE_STRING UniSource,
2202);
2203
2206NTAPI
2211);
2212
2215NTAPI
2218 _In_ PCUNICODE_STRING SearchString,
2221);
2222
2223//
2224// Memory Functions
2225//
2226#if defined(_M_AMD64)
2227
2229VOID
2233 _In_ ULONG Pattern)
2234{
2236 if ((Length /= 4) != 0) {
2237 if (((ULONG64)Address & 4) != 0) {
2238 *Address = Pattern;
2239 if ((Length -= 1) == 0) {
2240 return;
2241 }
2242 Address += 1;
2243 }
2244 __stosq((PULONG64)(Address), Pattern | ((ULONG64)Pattern << 32), Length / 2);
2245 if ((Length & 1) != 0) Address[Length - 1] = Pattern;
2246 }
2247 return;
2248}
2249
2250#define RtlFillMemoryUlonglong(Destination, Length, Pattern) \
2251 __stosq((PULONG64)(Destination), Pattern, (Length) / 8)
2252
2253#else
2254
2256VOID
2257NTAPI
2261 _In_ ULONG Pattern
2262);
2263
2265VOID
2266NTAPI
2270 _In_ ULONGLONG Pattern
2271);
2272
2273#endif
2274
2277NTAPI
2282);
2283
2285SIZE_T
2286NTAPI
2290 _In_ ULONG Pattern
2291);
2292
2293#ifndef RtlEqualMemory
2294#define RtlEqualMemory(Destination, Source, Length) \
2295 (!memcmp(Destination, Source, Length))
2296#endif
2297
2298#define RtlCopyBytes RtlCopyMemory
2299#define RtlFillBytes RtlFillMemory
2300#define RtlZeroBytes RtlZeroMemory
2301
2302#endif
2303
2305BOOLEAN
2306NTAPI
2308 PCUNICODE_STRING String1,
2311);
2312
2315VOID
2316NTAPI
2320);
2321
2323VOID
2324NTAPI
2327);
2328
2331NTAPI
2337);
2338
2348VOID
2349NTAPI
2353);
2354
2364VOID
2365NTAPI
2369);
2370
2374NTAPI
2378);
2379
2381BOOLEAN
2382NTAPI
2385 _In_ INT Size,
2387);
2388
2392BOOLEAN
2393NTAPI
2395 _In_ const STRING *String1,
2398);
2399
2403BOOLEAN
2404NTAPI
2406 _In_ PCUNICODE_STRING String1,
2409);
2410
2413VOID
2414NTAPI
2418);
2419
2423LONG
2424NTAPI
2426 _In_ const STRING *String1,
2429);
2430
2432VOID
2433NTAPI
2437);
2438
2442BOOLEAN
2443NTAPI
2445 _In_ const STRING *String1,
2448);
2449
2453NTAPI
2457);
2458
2463NTAPI
2470);
2471
2475NTAPI
2480);
2481
2484NTAPI
2488);
2489
2490#define RTL_SKIP_BUFFER_COPY 0x00000001
2491
2494NTAPI
2499);
2500
2501#ifdef NTOS_MODE_USER
2502
2504VOID
2505RtlInitBuffer(
2509)
2510{
2511 Buffer->Buffer = Buffer->StaticBuffer = Data;
2512 Buffer->Size = Buffer->StaticSize = DataSize;
2513 Buffer->ReservedForAllocatedSize = 0;
2514 Buffer->ReservedForIMalloc = NULL;
2515}
2516
2519RtlEnsureBufferSize(
2523)
2524{
2525 if (Buffer && RequiredSize <= Buffer->Size)
2526 return STATUS_SUCCESS;
2528}
2529
2531VOID
2532RtlFreeBuffer(
2534)
2535{
2536 if (Buffer->Buffer != Buffer->StaticBuffer && Buffer->Buffer)
2537 RtlFreeHeap(RtlGetProcessHeap(), 0, Buffer->Buffer);
2538 Buffer->Buffer = Buffer->StaticBuffer;
2539 Buffer->Size = Buffer->StaticSize;
2540}
2541
2543VOID
2544NTAPI
2548);
2549
2551VOID
2552NTAPI
2554 _In_ UCHAR Hash,
2556);
2557
2558#endif /* NTOS_MODE_USER */
2559
2560//
2561// Ansi String Functions
2562//
2565VOID
2566NTAPI
2568 _Inout_ _At_(AnsiString->Buffer, __drv_freesMem(Mem))
2570);
2571
2574VOID
2575NTAPI
2579);
2580
2584NTAPI
2588);
2589
2590//
2591// OEM String Functions
2592//
2595VOID
2596NTAPI
2598 _Inout_ _At_(OemString->Buffer, __drv_freesMem(Mem))
2600);
2601
2602//
2603// MultiByte->Unicode String Functions
2604//
2608NTAPI
2615);
2616
2620NTAPI
2625);
2626
2627//
2628// Atom Functions
2629//
2632NTAPI
2634 _In_ PRTL_ATOM_TABLE AtomTable,
2635 _In_ PWSTR AtomName,
2637);
2638
2641NTAPI
2644 _Inout_ PRTL_ATOM_TABLE *AtomTable
2645);
2646
2649NTAPI
2651 _In_ PRTL_ATOM_TABLE AtomTable,
2653);
2654
2657NTAPI
2659
2662NTAPI
2664 _In_ PRTL_ATOM_TABLE AtomTable,
2666 _Out_opt_ PULONG RefCount,
2668 _Out_opt_z_bytecap_(*NameLength) PWSTR AtomName,
2669 _Inout_opt_ PULONG NameLength
2670);
2671
2674NTAPI
2676 _In_ PRTL_ATOM_TABLE AtomTable,
2678);
2679
2682NTAPI
2684 _In_ PRTL_ATOM_TABLE AtomTable,
2685 _In_ PWSTR AtomName,
2687);
2688
2689//
2690// Process Management Functions
2691//
2693PPEB
2694NTAPI
2696 VOID
2697);
2698
2700VOID
2701NTAPI
2703
2706NTAPI
2708 _Out_ PRTL_USER_PROCESS_PARAMETERS *ProcessParameters,
2709 _In_ PUNICODE_STRING ImagePathName,
2712 _In_opt_ PUNICODE_STRING CommandLine,
2714 _In_opt_ PUNICODE_STRING WindowTitle,
2715 _In_opt_ PUNICODE_STRING DesktopInfo,
2716 _In_opt_ PUNICODE_STRING ShellInfo,
2717 _In_opt_ PUNICODE_STRING RuntimeInfo
2718);
2719
2722NTAPI
2724 _In_ PUNICODE_STRING ImageFileName,
2726 _In_ PRTL_USER_PROCESS_PARAMETERS ProcessParameters,
2727 _In_opt_ PSECURITY_DESCRIPTOR ProcessSecutityDescriptor,
2728 _In_opt_ PSECURITY_DESCRIPTOR ThreadSecurityDescriptor,
2729 _In_opt_ HANDLE ParentProcess,
2731 _In_opt_ HANDLE DebugPort,
2732 _In_opt_ HANDLE ExceptionPort,
2734);
2735
2736#if (NTDDI_VERSION >= NTDDI_WIN7)
2739NTAPI
2741 _In_ PVOID ThreadContext,
2742 _Out_ HANDLE *OutThreadHandle,
2748 _Reserved_ PVOID Reserved6,
2750 _Reserved_ PVOID Reserved8
2751);
2752#else
2755NTAPI
2759 _In_ BOOLEAN CreateSuspended,
2760 _In_ ULONG StackZeroBits,
2761 _In_ SIZE_T StackReserve,
2762 _In_ SIZE_T StackCommit,
2763 _In_ PTHREAD_START_ROUTINE StartAddress,
2765 _Out_opt_ PHANDLE ThreadHandle,
2767);
2768#endif
2769
2772NTAPI
2774 _In_ PRTL_USER_PROCESS_PARAMETERS ProcessParameters);
2775
2778NTAPI
2780 _In_ PRTL_USER_PROCESS_PARAMETERS ProcessParameters);
2781
2783VOID
2784NTAPI
2787
2789VOID
2790NTAPI
2793 _Out_ PCONTEXT ThreadContext,
2794 _In_opt_ PVOID ThreadStartParam,
2795 _In_ PTHREAD_START_ROUTINE ThreadStartAddress,
2796 _In_ PINITIAL_TEB InitialTeb
2797);
2798
2799#ifdef _M_AMD64
2800typedef struct _WOW64_CONTEXT *PWOW64_CONTEXT;
2801
2804NTAPI
2805RtlWow64GetThreadContext(
2806 _In_ HANDLE ThreadHandle,
2807 _Inout_ PWOW64_CONTEXT ThreadContext
2808);
2809
2810
2813NTAPI
2814RtlWow64SetThreadContext(
2815 _In_ HANDLE ThreadHandle,
2816 _In_ PWOW64_CONTEXT ThreadContext
2817);
2818#endif
2819
2821BOOLEAN
2822NTAPI
2824
2827NTAPI
2829 _In_ PRTL_USER_PROCESS_PARAMETERS ProcessParameters);
2830
2832VOID
2833NTAPI
2835
2838NTAPI
2842 _In_ PVOID CallSite,
2843 _In_ ULONG ArgumentCount,
2844 _In_ PULONG Arguments,
2845 _In_ BOOLEAN PassContext,
2846 _In_ BOOLEAN AlreadySuspended
2847);
2848
2851__cdecl
2853 _In_ BOOLEAN NewValue,
2854 _Out_opt_ PBOOLEAN OldValue,
2855 _In_ BOOLEAN NeedBreaks
2856);
2857
2860__cdecl
2862 _In_ BOOLEAN NewValue,
2863 _Out_opt_ PBOOLEAN OldValue,
2864 _In_ BOOLEAN NeedBreaks
2865);
2866
2868ULONG
2869NTAPI
2871 VOID
2872);
2873
2874
2875//
2876// Thread Pool Functions
2877//
2878//
2880NTAPI
2882 _In_ PRTL_START_POOL_THREAD StartPoolThread,
2883 _In_ PRTL_EXIT_POOL_THREAD ExitPoolThread
2884);
2885
2888NTAPI
2890 _In_ HANDLE hWaitHandle,
2891 _In_opt_ HANDLE hCompletionEvent
2892);
2893
2896NTAPI
2898 _In_ HANDLE hWaitHandle
2899);
2900
2903NTAPI
2908);
2909
2912NTAPI
2917);
2918
2921NTAPI
2923 _In_ PHANDLE phNewWaitObject,
2924 _In_ HANDLE hObject,
2926 _In_ PVOID pvContext,
2927 _In_ ULONG ulMilliseconds,
2928 _In_ ULONG ulFlags
2929);
2930
2931//
2932// Environment/Path Functions
2933//
2936NTAPI
2938 _In_ BOOLEAN Inherit,
2940);
2941
2944NTAPI
2946 _In_ PUNICODE_STRING DllName,
2947 _Inout_ PUNICODE_STRING RealName,
2948 _Inout_ PUNICODE_STRING LocalName
2949);
2950
2952VOID
2953NTAPI
2956);
2957
2959BOOLEAN
2960NTAPI
2963);
2964
2967NTAPI
2970);
2971
2973ULONG
2974NTAPI
2981 _Out_ PWSTR *PartName
2982);
2983
2986NTAPI
2989 _In_ PUNICODE_STRING PathString,
2990 _In_ PUNICODE_STRING FileNameString,
2991 _In_ PUNICODE_STRING ExtensionString,
2992 _In_ PUNICODE_STRING CallerBuffer,
2994 _Out_opt_ PUNICODE_STRING* FullNameOut,
2995 _Out_opt_ PSIZE_T FilePartSize,
2997);
2998
3000BOOLEAN
3001NTAPI
3003 _In_opt_z_ PCWSTR DosPathName,
3004 _Out_ PUNICODE_STRING NtPathName,
3005 _Out_opt_ PCWSTR *NtFileNamePart,
3006 _Out_opt_ PRTL_RELATIVE_NAME_U DirectoryInfo
3007);
3008
3009
3010#define RTL_UNCHANGED_UNK_PATH 1
3011#define RTL_CONVERTED_UNC_PATH 2
3012#define RTL_CONVERTED_NT_PATH 3
3013#define RTL_UNCHANGED_DOS_PATH 4
3014
3017NTAPI
3023);
3024
3025
3027BOOLEAN
3028NTAPI
3031 _Out_ PUNICODE_STRING NtName,
3032 _Out_ PCWSTR *PartName,
3033 _Out_ PRTL_RELATIVE_NAME_U RelativeName
3034);
3035
3039NTAPI
3045);
3046
3048ULONG
3049NTAPI
3053);
3054
3056ULONG
3057NTAPI
3060 _In_ ULONG Size,
3063);
3064
3065#if (NTDDI_VERSION >= NTDDI_WIN7)
3068NTAPI
3073 _Out_opt_ PWSTR *FilePart,
3074 _Out_opt_ RTL_PATH_TYPE *InputPathType
3075 );
3076#endif
3077
3079NTAPI
3085 _Out_opt_ PSIZE_T FilePartSize,
3089);
3090
3093NTAPI
3096 _In_ PCUNICODE_STRING PathString,
3098);
3099
3101ULONG
3102NTAPI
3104 VOID
3105);
3106
3108ULONG
3109NTAPI
3112);
3113
3115ULONG
3116NTAPI
3119);
3120
3124BOOLEAN
3125NTAPI
3130);
3131
3134NTAPI
3139);
3140
3141VOID
3142NTAPI
3144 _In_ PRTL_RELATIVE_NAME_U RelativeName
3145);
3146
3149NTAPI
3152);
3153
3156NTAPI
3161);
3162
3163//
3164// Critical Section/Resource Functions
3165//
3168NTAPI
3171);
3172
3175NTAPI
3178);
3179
3182NTAPI
3185);
3186
3189NTAPI
3192 _In_ ULONG SpinCount
3193);
3194
3196ULONG
3197NTAPI
3200);
3201
3203ULONG
3204NTAPI
3207);
3208
3211NTAPI
3214);
3215
3217BOOLEAN
3218NTAPI
3221);
3222
3224VOID
3225NTAPI
3228);
3229
3232NTAPI
3235);
3236
3238BOOLEAN
3239NTAPI
3243);
3244
3246BOOLEAN
3247NTAPI
3251);
3252
3254VOID
3255NTAPI
3258);
3259
3261VOID
3262NTAPI
3265);
3266
3268VOID
3269NTAPI
3272);
3273
3275VOID
3276NTAPI
3279);
3280
3282VOID
3283NTAPI
3286);
3287
3289VOID
3290NTAPI
3293);
3294
3295//
3296// Compression Functions
3297//
3298NTSYSAPI //NT_RTL_COMPRESS_API
3300NTAPI
3302 _In_ USHORT CompressionFormatAndEngine,
3307 _In_ ULONG UncompressedChunkSize,
3308 _Out_ PULONG FinalCompressedSize,
3310);
3311
3313NTSYSAPI //NT_RTL_COMPRESS_API
3315NTAPI
3317 _In_ USHORT CompressionFormat,
3323);
3324
3327NTAPI
3329 _In_ USHORT CompressionFormatAndEngine,
3330 _Out_ PULONG CompressBufferWorkSpaceSize,
3331 _Out_ PULONG CompressFragmentWorkSpaceSize
3332);
3333
3334//
3335// Frame Functions
3336//
3338VOID
3339NTAPI
3342);
3343
3345VOID
3346NTAPI
3349);
3350
3353NTAPI
3355 VOID
3356);
3357
3358//
3359// Debug Info Functions
3360//
3363NTAPI
3365 _In_ ULONG Size,
3366 _In_ BOOLEAN EventPair
3367);
3368
3371NTAPI
3373
3376NTAPI
3379 _In_ ULONG DebugInfoClassMask,
3381);
3382
3383//
3384// Bitmap Functions
3385//
3386#ifdef NTOS_MODE_USER
3387
3389BOOLEAN
3390NTAPI
3392 _In_ PRTL_BITMAP BitMapHeader,
3395);
3396
3398BOOLEAN
3399NTAPI
3401 _In_ PRTL_BITMAP BitMapHeader,
3404);
3405
3407VOID
3408NTAPI
3410 _In_ PRTL_BITMAP BitMapHeader
3411);
3412
3414VOID
3415NTAPI
3417 _In_ PRTL_BITMAP BitMapHeader,
3418 _In_range_(<, BitMapHeader->SizeOfBitMap) ULONG BitNumber
3419);
3420
3422VOID
3423NTAPI
3425 _In_ PRTL_BITMAP BitMapHeader,
3426 _In_range_(0, BitMapHeader->SizeOfBitMap - NumberToClear) ULONG StartingIndex,
3427 _In_range_(0, BitMapHeader->SizeOfBitMap - StartingIndex) ULONG NumberToClear
3428);
3429
3431ULONG
3432NTAPI
3434 _In_ PRTL_BITMAP BitMapHeader,
3437);
3438
3440ULONG
3441NTAPI
3443 _In_ PRTL_BITMAP BitMapHeader,
3446);
3447
3449ULONG
3450NTAPI
3452 _In_ PRTL_BITMAP BitMapHeader,
3454);
3455
3457ULONG
3458NTAPI
3460 _In_ PRTL_BITMAP BitMapHeader,
3461 _Out_writes_to_(SizeOfRunArray, return) PRTL_BITMAP_RUN RunArray,
3462 _In_range_(>, 0) ULONG SizeOfRunArray,
3463 _In_ BOOLEAN LocateLongestRuns
3464);
3465
3467ULONG
3468NTAPI
3470 _In_ PRTL_BITMAP BitMapHeader,
3471 _In_ ULONG FromIndex,
3472 _Out_ PULONG StartingRunIndex
3473);
3474
3476CCHAR
3477NTAPI
3480);
3481
3483ULONG
3484NTAPI
3486 _In_ PRTL_BITMAP BitMapHeader,
3488);
3489
3491CCHAR
3492NTAPI
3495);
3496
3498ULONG
3499NTAPI
3501 _In_ PRTL_BITMAP BitMapHeader,
3502 _In_ ULONG FromIndex,
3503 _Out_ PULONG StartingRunIndex
3504);
3505
3507ULONG
3508NTAPI
3510 _In_ PRTL_BITMAP BitMapHeader,
3511 _In_ ULONG FromIndex,
3512 _Out_ PULONG StartingRunIndex
3513);
3514
3516ULONG
3517NTAPI
3519 _In_ PRTL_BITMAP BitMapHeader,
3522);
3523
3525ULONG
3526NTAPI
3528 _In_ PRTL_BITMAP BitMapHeader,
3531);
3532
3533#ifdef __REACTOS__ // ReactOS improvement
3534_At_(BitMapHeader->SizeOfBitMap, _Post_equal_to_(SizeOfBitMap))
3535_At_(BitMapHeader->Buffer, _Post_equal_to_(BitMapBuffer))
3536#endif
3538VOID
3539NTAPI
3541 _Out_ PRTL_BITMAP BitMapHeader,
3542 _In_opt_ __drv_aliasesMem PULONG BitMapBuffer,
3543 _In_opt_ ULONG SizeOfBitMap
3544);
3545
3547ULONG
3548NTAPI
3550 _In_ PRTL_BITMAP BitMapHeader
3551);
3552
3554ULONG
3555NTAPI
3557 _In_ PRTL_BITMAP BitMapHeader
3558);
3559
3561VOID
3562NTAPI
3563RtlSetBit(
3564 _In_ PRTL_BITMAP BitMapHeader,
3565 _In_range_(<, BitMapHeader->SizeOfBitMap) ULONG BitNumber
3566);
3567
3569VOID
3570NTAPI
3572 _In_ PRTL_BITMAP BitMapHeader,
3573 _In_range_(0, BitMapHeader->SizeOfBitMap - NumberToSet) ULONG StartingIndex,
3574 _In_range_(0, BitMapHeader->SizeOfBitMap - StartingIndex) ULONG NumberToSet
3575);
3576
3578VOID
3579NTAPI
3581 _In_ PRTL_BITMAP BitMapHeader
3582);
3583
3586BOOLEAN
3587NTAPI
3589 _In_ PRTL_BITMAP BitMapHeader,
3590 _In_range_(<, BitMapHeader->SizeOfBitMap) ULONG BitNumber
3591);
3592
3593#if defined(_M_AMD64)
3596BOOLEAN
3598 _In_ PRTL_BITMAP BitMapHeader,
3599 _In_range_(<, BitMapHeader->SizeOfBitMap) ULONG BitPosition)
3600{
3601 return BitTest64((LONG64 CONST*)BitMapHeader->Buffer, (LONG64)BitPosition);
3602}
3603#else
3604#define RtlCheckBit(BMH,BP) (((((PLONG)(BMH)->Buffer)[(BP)/32]) >> ((BP)%32)) & 0x1)
3605#endif /* defined(_M_AMD64) */
3606
3607#endif // NTOS_MODE_USER
3608
3609
3610//
3611// Timer Functions
3612//
3615NTAPI
3617 _In_ HANDLE TimerQueue,
3618 _In_ PHANDLE phNewTimer,
3624);
3625
3628NTAPI
3629RtlCreateTimerQueue(PHANDLE TimerQueue);
3630
3633NTAPI
3635 _In_ HANDLE TimerQueue,
3637 _In_ HANDLE CompletionEvent
3638);
3639
3642NTAPI
3644 _In_ HANDLE TimerQueue,
3648);
3649
3652NTAPI
3654 _In_ HANDLE TimerQueue,
3655 _In_opt_ HANDLE CompletionEvent
3656);
3657
3660NTAPI
3661RtlDeleteTimerQueue(HANDLE TimerQueue);
3662
3663//
3664// SList functions
3665//
3669 _Inout_ PSLIST_HEADER ListHead,
3673);
3674
3675//
3676// Range List functions
3677//
3679VOID
3680NTAPI
3682 _Out_ PRTL_RANGE_LIST RangeList
3683);
3684
3686VOID
3687NTAPI
3689 _In_ PRTL_RANGE_LIST RangeList
3690);
3691
3694NTAPI
3696 _Out_ PRTL_RANGE_LIST CopyRangeList,
3697 _In_ PRTL_RANGE_LIST RangeList
3698);
3699
3702NTAPI
3704 _Out_ PRTL_RANGE_LIST MergedRangeList,
3705 _In_ PRTL_RANGE_LIST RangeList1,
3706 _In_ PRTL_RANGE_LIST RangeList2,
3708);
3709
3712NTAPI
3714 _Out_ PRTL_RANGE_LIST InvertedRangeList,
3715 _In_ PRTL_RANGE_LIST RangeList
3716);
3717
3720NTAPI
3722 _Inout_ PRTL_RANGE_LIST RangeList,
3724 _In_ ULONGLONG End,
3729);
3730
3733NTAPI
3735 _Inout_ PRTL_RANGE_LIST RangeList,
3737 _In_ ULONGLONG End,
3739);
3740
3743NTAPI
3745 _Inout_ PRTL_RANGE_LIST RangeList,
3747);
3748
3751NTAPI
3753 _In_ PRTL_RANGE_LIST RangeList,
3754 _In_ ULONGLONG Minimum,
3755 _In_ ULONGLONG Maximum,
3759 _In_ UCHAR AttributeAvailableMask,
3763);
3764
3767NTAPI
3769 _In_ PRTL_RANGE_LIST RangeList,
3771 _In_ ULONGLONG End,
3773 _In_ UCHAR AttributeAvailableMask,
3776 _Out_ PBOOLEAN Available
3777);
3778
3781NTAPI
3783 _In_ PRTL_RANGE_LIST RangeList,
3786);
3787
3790NTAPI
3794 _In_ BOOLEAN MoveForwards
3795);
3796
3797//
3798// Debug Functions
3799//
3800ULONG
3801__cdecl
3804 ...
3805);
3806
3808ULONG
3809__cdecl
3814 ...
3815);
3816
3818ULONG
3819NTAPI
3821 _In_z_ PCCH Prompt,
3824);
3825
3826#undef DbgBreakPoint
3827VOID
3828NTAPI
3830 VOID
3831);
3832
3833VOID
3834NTAPI
3837 _In_ PVOID Base,
3839);
3840
3841VOID
3842NTAPI
3845 _In_ PVOID Base,
3847);
3848
3849VOID
3850NTAPI
3852 _In_ PCCH Name,
3854);
3855
3856//
3857// Handle Table Functions
3858//
3861NTAPI
3865);
3866
3868VOID
3869NTAPI
3872
3874BOOLEAN
3875NTAPI
3879);
3880
3882VOID
3883NTAPI
3886 _In_ ULONG HandleSize,
3888);
3889
3891BOOLEAN
3892NTAPI
3896);
3897
3898_Success_(return!=FALSE)
3900BOOLEAN
3901NTAPI
3906);
3907
3908//
3909// PE Functions
3910//
3913NTAPI
3916 _In_ ULONG Type,
3917 _In_ ULONG Language,
3918 _In_ ULONG MessageId,
3919 _Out_ PMESSAGE_RESOURCE_ENTRY *MessageResourceEntry
3920);
3921
3923ULONG
3924NTAPI
3926
3927_Success_(return!=NULL)
3929PVOID
3930NTAPI
3936);
3937
3939PVOID
3940NTAPI
3942 _In_ PIMAGE_NT_HEADERS NtHeader,
3944 _In_ ULONG Rva,
3945 _Inout_opt_ PIMAGE_SECTION_HEADER *SectionHeader
3946);
3947
3950NTAPI
3953
3956NTAPI
3961 _Out_ PIMAGE_NT_HEADERS *NtHeader
3962);
3963
3966NTAPI
3968 _In_ PIMAGE_NT_HEADERS NtHeader,
3970 _In_ ULONG Rva
3971);
3972
3973ULONG
3974NTAPI
3977 _In_ LONGLONG AdditionalBias,
3978 _In_opt_ PCSTR LoaderName,
3980 _In_ ULONG Conflict,
3982);
3983
3984//
3985// Activation Context Functions
3986//
3987#ifdef NTOS_MODE_USER
3990NTAPI
3993 _In_ PTEB Teb,
3996);
3997
4000NTAPI
4005);
4006
4008VOID
4009NTAPI
4012);
4013
4017RtlActivateActivationContextUnsafeFast(
4018 _In_ PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED Frame,
4020);
4021
4024NTAPI
4025RtlAllocateActivationContextStack(
4027);
4028
4031NTAPI
4034 _In_ PACTIVATION_CONTEXT_DATA ActivationContextData,
4035 _In_ ULONG ExtraBytes,
4036 _In_ PVOID NotificationRoutine,
4039);
4040
4043NTAPI
4046);
4047
4049VOID
4050NTAPI
4053);
4054
4057NTAPI
4060 _In_ ULONG_PTR ulCookie
4061);
4062
4064VOID
4065NTAPI
4066RtlFreeActivationContextStack(
4068);
4069
4071VOID
4072NTAPI
4074
4078RtlDeactivateActivationContextUnsafeFast(
4079 _In_ PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED Frame
4080);
4081
4084NTAPI
4087 _In_ PUNICODE_STRING OriginalName,
4092 _In_ PULONG NewFlags,
4093 _In_ PSIZE_T FileNameSize,
4095);
4096
4099NTAPI
4102 _In_ const GUID *ExtensionGuid,
4103 _In_ ULONG SectionType,
4104 _In_ const UNICODE_STRING *SectionName,
4105 _Inout_ PVOID ReturnedData
4106);
4107
4110NTAPI
4114 _In_opt_ PVOID pvSubInstance,
4115 _In_ ULONG ulInfoClass,
4116 _Out_bytecap_(cbBuffer) PVOID pvBuffer,
4117 _In_opt_ SIZE_T cbBuffer,
4118 _Out_opt_ SIZE_T *pcbWrittenOrRequired
4119);
4120
4123NTAPI
4124RtlQueryInformationActiveActivationContext(
4125 _In_ ULONG ulInfoClass,
4126 _Out_bytecap_(cbBuffer) PVOID pvBuffer,
4127 _In_opt_ SIZE_T cbBuffer,
4128 _Out_opt_ SIZE_T *pcbWrittenOrRequired
4129);
4130
4133NTAPI
4136);
4137
4138//
4139// WOW64 Functions
4140//
4143NTAPI
4145 _In_ BOOLEAN Wow64FsEnableRedirection
4146);
4147
4150NTAPI
4152 _In_ PVOID Wow64FsEnableRedirection,
4153 _Out_ PVOID *OldFsRedirectionLevel
4154);
4155
4156#endif
4157
4158//
4159// Registry Functions
4160//
4165NTAPI
4167 _In_ ULONG RelativeTo,
4169);
4170
4173NTAPI
4175 _In_ ULONG RelativeTo,
4177);
4178
4181NTAPI
4183 _Out_ _At_(KeyPath->Buffer, __drv_allocatesMem(Mem) _Post_bytecap_(KeyPath->MaximumLength) _Post_bytecount_(KeyPath->Length))
4184 PUNICODE_STRING KeyPath
4185);
4186
4189NTAPI
4193);
4194
4198NTAPI
4200 _In_ ULONG RelativeTo,
4202 _Inout_ _At_(*(*QueryTable).EntryContext, _Pre_unknown_)
4206);
4207
4211NTAPI
4213 _In_ ULONG RelativeTo,
4219);
4220
4221#ifdef NTOS_MODE_USER
4224NTAPI
4232);
4233
4236NTAPI
4242);
4243
4246NTAPI
4249);
4250
4253NTAPI
4259);
4260
4263NTAPI
4270);
4271
4274NTAPI
4277 _In_ ULONG Type,
4278 _In_ PVOID Data,
4280);
4281#endif
4282
4283//
4284// NLS Functions
4285//
4287VOID
4288NTAPI
4292);
4293
4295VOID
4296NTAPI
4298 _In_ PUSHORT AnsiTableBase,
4299 _In_ PUSHORT OemTableBase,
4300 _In_ PUSHORT CaseTableBase,
4301 _Out_ PNLSTABLEINFO NlsTable
4302);
4303
4306VOID
4307NTAPI
4309 _In_ PUSHORT TableBase,
4311);
4312
4314VOID
4315NTAPI
4317 _In_ PNLSTABLEINFO NlsTable);
4318
4319#if defined(NTOS_MODE_USER) && !defined(NO_RTL_INLINES)
4320
4321//
4322// Misc conversion functions
4323//
4324static __inline
4328 _In_ LONG SignedInteger
4329)
4330{
4332
4333 Result.QuadPart = SignedInteger;
4334 return Result;
4335}
4336
4337static __inline
4341 _In_ LONG Multiplicand,
4342 _In_ LONG Multiplier
4343)
4344{
4345 LARGE_INTEGER Product;
4346
4347 Product.QuadPart = (LONGLONG)Multiplicand * (ULONGLONG)Multiplier;
4348 return Product;
4349}
4350
4351static __inline
4352ULONG
4355 _In_ ULARGE_INTEGER Dividend,
4358)
4359{
4360 ULONG Quotient;
4361
4362 Quotient = (ULONG)(Dividend.QuadPart / Divisor);
4363 if (Remainder) {
4364 *Remainder = (ULONG)(Dividend.QuadPart % Divisor);
4365 }
4366
4367 return Quotient;
4368}
4369
4370static __inline
4374 _In_ ULONG Multiplicand,
4375 _In_ ULONG Multiplier
4376)
4377{
4378 LARGE_INTEGER Product;
4379
4380 Product.QuadPart = (ULONGLONG)Multiplicand * (ULONGLONG)Multiplier;
4381 return Product;
4382}
4383
4384#if defined(_AMD64_) || defined(_IA64_)
4385static __inline
4389 _In_ LARGE_INTEGER Dividend,
4392{
4394 ret.QuadPart = (ULONG64)Dividend.QuadPart / Divisor;
4395 if (Remainder)
4396 *Remainder = (ULONG)(Dividend.QuadPart % Divisor);
4397 return ret;
4398}
4399
4400#else
4403NTAPI
4405 _In_ LARGE_INTEGER Dividend,
4408);
4409
4410#endif /* defined(_AMD64_) || defined(_IA64_) */
4411
4412#endif
4413
4414
4416ULONG
4417NTAPI
4419 _In_ PULONG Seed
4420);
4421
4423ULONG
4424NTAPI
4426 _Inout_ PULONG Seed
4427);
4428
4430ULONG
4431NTAPI
4433 _In_ ULONG InitialCrc,
4434 _In_ const UCHAR *Buffer,
4436);
4437
4438//
4439// Network Functions
4440//
4442PSTR
4443NTAPI
4445 _In_ const struct in_addr *Addr,
4446 _Out_writes_(16) PCHAR S
4447);
4448
4450PWSTR
4451NTAPI
4453 _In_ const struct in_addr *Addr,
4455);
4456
4459NTAPI
4461 _In_ const struct in_addr *Address,
4463 _Out_writes_to_(*AddressStringLength, *AddressStringLength) PCHAR AddressString,
4464 _Inout_ PULONG AddressStringLength
4465);
4466
4468NTAPI
4470 _In_ const struct in_addr *Address,
4472 _Out_writes_to_(*AddressStringLength, *AddressStringLength) PWCHAR AddressString,
4473 _Inout_ PULONG AddressStringLength
4474);
4475
4478NTAPI
4481 _In_ BOOLEAN Strict,
4482 _Out_ PCSTR *Terminator,
4483 _Out_ struct in_addr *Addr
4484);
4485
4488NTAPI
4491 _In_ BOOLEAN Strict,
4492 _Out_ PCWSTR *Terminator,
4493 _Out_ struct in_addr *Addr
4494);
4495
4498NTAPI
4500 _In_ PCSTR AddressString,
4501 _In_ BOOLEAN Strict,
4502 _Out_ struct in_addr *Address,
4504);
4505
4508NTAPI
4510 _In_ PCWSTR AddressString,
4511 _In_ BOOLEAN Strict,
4512 _Out_ struct in_addr *Address,
4514);
4515
4517PSTR
4518NTAPI
4520 _In_ const struct in6_addr *Addr,
4521 _Out_writes_(46) PSTR S
4522);
4523
4525PWSTR
4526NTAPI
4528 _In_ const struct in6_addr *Addr,
4529 _Out_writes_(46) PWSTR S
4530);
4531
4534NTAPI
4536 _In_ const struct in6_addr *Address,
4537 _In_ ULONG ScopeId,
4539 _Out_writes_to_(*AddressStringLength, *AddressStringLength) PSTR AddressString,
4540 _Inout_ PULONG AddressStringLength
4541);
4542
4545NTAPI
4547 _In_ const struct in6_addr *Address,
4548 _In_ ULONG ScopeId,
4550 _Out_writes_to_(*AddressStringLength, *AddressStringLength) PWCHAR AddressString,
4551 _Inout_ PULONG AddressStringLength
4552);
4553
4556NTAPI
4559 _Out_ PCSTR *Terminator,
4560 _Out_ struct in6_addr *Addr
4561);
4562
4565NTAPI
4568 _Out_ PCWSTR *Terminator,
4569 _Out_ struct in6_addr *Addr
4570);
4571
4574NTAPI
4576 _In_ PCSTR AddressString,
4577 _Out_ struct in6_addr *Address,
4578 _Out_ PULONG ScopeId,
4580);
4581
4584NTAPI
4586 _In_ PCWSTR AddressString,
4587 _Out_ struct in6_addr *Address,
4588 _Out_ PULONG ScopeId,
4590);
4591
4592
4593//
4594// Time Functions
4595//
4597BOOLEAN
4598NTAPI
4600 _In_ PTIME_FIELDS CutoverTimeFields,
4601 _Out_ PLARGE_INTEGER SystemTime,
4602 _In_ PLARGE_INTEGER CurrentTime,
4603 _In_ BOOLEAN ThisYearsCutoverOnly);
4604
4607NTAPI
4609 _Out_ PRTL_TIME_ZONE_INFORMATION TimeZoneInformation);
4610
4612VOID
4613NTAPI
4615 _In_ ULONG SecondsSince1970,
4617);
4618
4621NTAPI
4623 _In_ PRTL_TIME_ZONE_INFORMATION TimeZoneInformation);
4624
4625_Success_(return != FALSE)
4627BOOLEAN
4628NTAPI
4632);
4633
4634_Success_(return != FALSE)
4636BOOLEAN
4637NTAPI
4641);
4642
4644VOID
4645NTAPI
4649);
4650
4653NTAPI
4655 _In_ PLARGE_INTEGER SystemTime,
4656 _Out_ PLARGE_INTEGER LocalTime
4657);
4658
4659//
4660// Version Functions
4661//
4666NTAPI
4671);
4672
4676NTAPI
4678 _Out_
4679 _At_(lpVersionInformation->dwOSVersionInfoSize, _Pre_ _Valid_)
4680 _When_(lpVersionInformation->dwOSVersionInfoSize == sizeof(RTL_OSVERSIONINFOEXW),
4681 _At_((PRTL_OSVERSIONINFOEXW)lpVersionInformation, _Out_))
4682 PRTL_OSVERSIONINFOW lpVersionInformation
4683);
4684
4687BOOLEAN
4688NTAPI
4690
4691#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
4692//
4693// Synchronization functions
4694//
4696VOID
4697NTAPI
4699 _Out_ PRTL_CONDITION_VARIABLE ConditionVariable);
4700
4702VOID
4703NTAPI
4705 _Inout_ PRTL_CONDITION_VARIABLE ConditionVariable);
4706
4708VOID
4709NTAPI
4711 _Inout_ PRTL_CONDITION_VARIABLE ConditionVariable);
4712
4715NTAPI
4717 _Inout_ PRTL_CONDITION_VARIABLE ConditionVariable,
4719 _In_opt_ PLARGE_INTEGER TimeOut);
4720
4723NTAPI
4725 _Inout_ PRTL_CONDITION_VARIABLE ConditionVariable,
4726 _Inout_ PRTL_SRWLOCK SRWLock,
4727 _In_opt_ PLARGE_INTEGER TimeOut,
4728 _In_ ULONG Flags);
4729#endif
4730
4731//
4732// Synchronization functions
4733//
4735VOID
4736NTAPI
4738
4740VOID
4741NTAPI
4743
4745VOID
4746NTAPI
4748
4751NTAPI
4754 IN const PLARGE_INTEGER TimeOut OPTIONAL);
4755
4758NTAPI
4760 IN OUT PRTL_SRWLOCK SRWLock,
4761 IN PLARGE_INTEGER TimeOut OPTIONAL,
4762 IN ULONG Flags);
4763
4764VOID
4765NTAPI
4767
4768VOID
4769NTAPI
4771
4772VOID
4773NTAPI
4775
4776VOID
4777NTAPI
4779
4780VOID
4781NTAPI
4783
4784//
4785// Secure Memory Functions
4786//
4787#ifdef NTOS_MODE_USER
4790NTAPI
4792 _In_ PRTL_SECURE_MEMORY_CACHE_CALLBACK Callback);
4793
4795BOOLEAN
4796NTAPI
4798 _In_ PVOID MemoryCache,
4799 _In_opt_ SIZE_T MemoryLength
4800);
4801#endif
4802
4803//
4804// Boot Status Data Functions
4805//
4806#ifdef NTOS_MODE_USER
4809NTAPI
4811 VOID
4812);
4813
4816NTAPI
4819 _In_ BOOLEAN WriteMode,
4820 _In_ RTL_BSD_ITEM_TYPE DataClass,
4824);
4825
4828NTAPI
4831);
4832
4835NTAPI
4838);
4839#endif
4840
4841#ifdef NTOS_MODE_USER
4845NTAPI
4848 _Out_ GUID *Guid);
4849
4853NTAPI
4858
4861NTAPI
4865 _In_ ULONG ImportTableHashRevision
4866);
4867#endif
4868
4869//
4870// MemoryStream functions
4871//
4872#ifdef NTOS_MODE_USER
4873
4875VOID
4876NTAPI
4878 _Out_ PRTL_MEMORY_STREAM Stream
4879);
4880
4882VOID
4883NTAPI
4885 _Out_ PRTL_MEMORY_STREAM Stream
4886);
4887
4889VOID
4890NTAPI
4892 _In_ PRTL_MEMORY_STREAM Stream
4893);
4894
4896HRESULT
4897NTAPI
4899 _In_ struct IStream *This,
4900 _In_ REFIID RequestedIid,
4901 _Outptr_ PVOID *ResultObject
4902);
4903
4905ULONG
4906NTAPI
4908 _In_ struct IStream *This
4909);
4910
4912ULONG
4913NTAPI
4915 _In_ struct IStream *This
4916);
4917
4919HRESULT
4920NTAPI
4922 _In_ struct IStream *This,
4926);
4927
4929HRESULT
4930NTAPI
4932 _In_ struct IStream *This,
4936);
4937
4939HRESULT
4940NTAPI
4942 _In_ struct IStream *This,
4943 _In_ LARGE_INTEGER RelativeOffset,
4944 _In_ ULONG Origin,
4945 _Out_opt_ PULARGE_INTEGER ResultOffset
4946);
4947
4949HRESULT
4950NTAPI
4952 _In_ struct IStream *This,
4953 _In_ struct IStream *Target,
4957);
4958
4960HRESULT
4961NTAPI
4962RtlCopyOutOfProcessMemoryStreamTo(
4963 _In_ struct IStream *This,
4964 _In_ struct IStream *Target,
4968);
4969
4971HRESULT
4972NTAPI
4974 _In_ struct IStream *This,
4975 _Out_ struct tagSTATSTG *Stats,
4977);
4978
4979// Dummy functions
4981HRESULT
4982NTAPI
4984 _In_ struct IStream *This,
4988);
4989
4991HRESULT
4992NTAPI
4994 _In_ struct IStream *This,
4996);
4997
4999HRESULT
5000NTAPI
5002 _In_ struct IStream *This,
5003 _In_ ULONG CommitFlags
5004);
5005
5007HRESULT
5008NTAPI
5010 _In_ struct IStream *This
5011);
5012
5014HRESULT
5015NTAPI
5017 _In_ struct IStream *This,
5021);
5022
5024HRESULT
5025NTAPI
5027 _In_ struct IStream *This,
5031);
5032
5034HRESULT
5035NTAPI
5037 _In_ struct IStream *This,
5038 _Outptr_ struct IStream **ResultStream
5039);
5040
5043NTAPI
5044RtlGetNativeSystemInformation(
5045 _In_ SYSTEM_INFORMATION_CLASS SystemInformationClass,
5046 _Out_writes_bytes_to_opt_(SystemInformationLength, *ReturnLength) PVOID SystemInformation,
5047 _In_ ULONG SystemInformationLength,
5049);
5050
5051#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) || (DLL_EXPORT_VERSION >= _WIN32_WINNT_VISTA)
5052
5054VOID
5055NTAPI
5057 _Out_ PRTL_RUN_ONCE RunOnce);
5058
5062NTAPI
5064 _Inout_ PRTL_RUN_ONCE RunOnce,
5068
5072NTAPI
5074 _Inout_ PRTL_RUN_ONCE RunOnce,
5077
5080NTAPI
5082 _Inout_ PRTL_RUN_ONCE RunOnce,
5085
5086#endif
5087
5088#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) || (defined(__REACTOS__) && defined(_NTDLLBUILD_))
5089/* Put NTSYSAPI back when this will be really exported. Only statically linked for now */
5090// NTSYSAPI
5091VOID
5092NTAPI
5094
5095// NTSYSAPI
5096VOID
5097NTAPI
5099
5100// NTSYSAPI
5101VOID
5102NTAPI
5104
5105// NTSYSAPI
5106VOID
5107NTAPI
5109
5110// NTSYSAPI
5111VOID
5112NTAPI
5114
5117NTAPI
5119 _In_ LCID LcidValue,
5120 _In_ ULONG Base,
5121 _In_ ULONG Padding,
5122 _Out_writes_(Size) PWSTR pResultBuf,
5123 _In_ ULONG Size);
5124
5125_Success_(return != FALSE)
5127BOOLEAN
5128NTAPI
5129RtlCultureNameToLCID(
5131 _Out_ PLCID Lcid);
5132
5133_Success_(return != FALSE)
5135BOOLEAN
5136NTAPI
5137RtlLCIDToCultureName(
5138 _In_ LCID Lcid,
5140
5143NTAPI
5145 _In_ LCID Lcid,
5149
5152NTAPI
5156 _In_ ULONG Flags);
5157
5159BOOLEAN
5160NTAPI
5163 _In_ ULONG Flags);
5164
5165// Flags for RtlLocaleNameToLcid / RtlLcidToLocaleName / RtlIsValidLocaleName
5166#define RTL_LOCALE_ALLOW_NEUTRAL_NAMES 0x00000002 // Return locales like "en" or "de"
5167
5168#endif /* Win vista or Reactos Ntdll build */
5169
5170#if (_WIN32_WINNT >= _WIN32_WINNT_WIN7) || (defined(__REACTOS__) && defined(_NTDLLBUILD_))
5171
5172// NTSYSAPI
5173BOOLEAN
5174NTAPI
5176
5177// NTSYSAPI
5178BOOLEAN
5179NTAPI
5181
5182#endif /* Win7 or Reactos Ntdll build */
5183
5184#endif // NTOS_MODE_USER
5185
5188NTAPI
5190 ULONG flags,
5191 const GUID *extguid,
5192 ULONG section_kind,
5193 const GUID *guid,
5194 void *ptr
5195);
5196
5197#ifdef __cplusplus
5198}
5199#endif
5200
5201#endif
static UCHAR NotificationContext
_In_ PVOID _In_ ULONG _Out_ PVOID _In_ ULONG _Inout_ PULONG ReturnLength
static _In_ LPCWSTR LocaleName
unsigned char BOOLEAN
IN PUNICODE_STRING StaticString
IN PUNICODE_STRING IN PUNICODE_STRING DynamicString
IN PUNICODE_STRING IN PUNICODE_STRING IN PUNICODE_STRING * StringUsed
IN PUNICODE_STRING IN PUNICODE_STRING IN PUNICODE_STRING IN PSIZE_T FilePartSize OUT PBOOLEAN NameInvalid
static IN ULONG IN PWSTR OUT PCWSTR OUT PBOOLEAN OUT PATH_TYPE_AND_UNKNOWN * PathType
static GENERIC_MAPPING GenericMapping
Definition: SeInheritance.c:11
Type
Definition: Type.h:7
#define __inline
Definition: _wctype.cpp:15
#define __cdecl
Definition: accygwin.h:79
UINT32 void void ** ReturnValue
Definition: acevents.h:216
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 LineNumber
Definition: acpixf.h:1220
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn UINT32 *TableIdx UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE ACPI_HANDLE ACPI_HANDLE *OutHandle ACPI_HANDLE *OutHandle void *Context void *Context ACPI_EVENT_HANDLER Handler UINT32 UINT32 ACPI_GPE_HANDLER void *Context UINT32 HandlerType
Definition: acpixf.h:817
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 UINT32 ACPI_STATUS const char UINT32 const char const char UINT32 ComponentId
Definition: acpixf.h:1281
@ Invalid
Definition: asmpp.cpp:30
VOID NTAPI RtlInitializeGenericTableAvl(IN OUT PRTL_AVL_TABLE Table, IN PRTL_AVL_COMPARE_ROUTINE CompareRoutine, IN PRTL_AVL_ALLOCATE_ROUTINE AllocateRoutine, IN PRTL_AVL_FREE_ROUTINE FreeRoutine, IN PVOID TableContext)
Definition: avltable.c:26
LONG NTSTATUS
Definition: precomp.h:26
static BOOL MatchString(LPCWCH pch1, INT cch1, LPCWCH pch2, INT cch2)
Definition: find.c:79
OSVERSIONINFOW VersionInfo
Definition: wkssvc.c:40
WCHAR CurrentDirectory[1024]
Definition: chkdsk.c:74
#define __int64
Definition: basetyps.h:16
@ Reserved2
Definition: bcd.h:202
@ Reserved1
Definition: bcd.h:201
#define NTSYSAPI
Definition: ntoskrnl.h:12
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
Definition: heap.c:616
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
Definition: heap.c:634
#define __drv_aliasesMem
Definition: btrfs_drv.h:203
@ Ace
Definition: card.h:12
return
Definition: dirsup.c:529
_Acquires_exclusive_lock_ Resource _Acquires_shared_lock_ Resource _Inout_ PERESOURCE Resource
Definition: cdprocs.h:843
_In_ ULONG _In_opt_ WDFREQUEST _In_opt_ PVOID _In_ size_t _In_ PVOID _In_ size_t _Out_ size_t * DataLength
Definition: cdrom.h:1444
_In_ CDROM_SCAN_FOR_SPECIAL_INFO _In_ PCDROM_SCAN_FOR_SPECIAL_HANDLER Function
Definition: cdrom.h:1156
_In_ WDFREQUEST _In_ MEDIA_LOCK_TYPE LockType
Definition: cdrom.h:1335
Definition: bufpool.h:45
_Out_ RTL_ATOM * Atom
Definition: class.h:54
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:36
#define RtlAreBitsSet
Definition: dbgbitmap.h:328
#define RtlFindClearBits
Definition: dbgbitmap.h:332
#define RtlClearBits
Definition: dbgbitmap.h:331
#define RtlAreBitsClear
Definition: dbgbitmap.h:327
#define RtlInitializeBitMap
Definition: dbgbitmap.h:326
#define RtlFindNextForwardRunClear
Definition: dbgbitmap.h:338
#define RtlClearAllBits
Definition: dbgbitmap.h:329
#define RtlFindLastBackwardRunClear
Definition: dbgbitmap.h:336
#define RtlClearBit
Definition: dbgbitmap.h:330
#define RtlFindClearBitsAndSet
Definition: dbgbitmap.h:333
#define RtlTestBit
Definition: dbgbitmap.h:347
#define RtlNumberOfSetBits
Definition: dbgbitmap.h:343
#define RtlFindNextForwardRunSet
Definition: dbgbitmap.h:339
#define RtlSetAllBits
Definition: dbgbitmap.h:346
#define RtlCheckBit
Definition: dbgbitmap.h:349
#define RtlFindLongestRunClear
Definition: dbgbitmap.h:337
#define RtlFindClearRuns
Definition: dbgbitmap.h:335
#define RtlFindFirstRunClear
Definition: dbgbitmap.h:334
#define RtlSetBit
Definition: dbgbitmap.h:344
#define RtlFindSetBitsAndClear
Definition: dbgbitmap.h:341
#define RtlNumberOfClearBits
Definition: dbgbitmap.h:342
#define RtlSetBits
Definition: dbgbitmap.h:345
#define RtlFindSetBits
Definition: dbgbitmap.h:340
#define BufferSize
Definition: mmc.h:75
LPWSTR Name
Definition: desk.c:124
#define NULL
Definition: types.h:112
#define FALSE
Definition: types.h:117
NTSYSAPI NTSTATUS NTAPI RtlWow64EnableFsRedirection(IN BOOLEAN Wow64FsEnableRedirection)
Definition: libsupp.c:1166
NTSYSAPI NTSTATUS NTAPI RtlDosApplyFileIsolationRedirection_Ustr(IN ULONG Flags, IN PUNICODE_STRING OriginalName, IN PUNICODE_STRING Extension, IN OUT PUNICODE_STRING StaticString, IN OUT PUNICODE_STRING DynamicString, IN OUT PUNICODE_STRING *NewName, IN PULONG NewFlags, IN PSIZE_T FileNameSize, IN PSIZE_T RequiredLength)
Definition: libsupp.c:820
NTSYSAPI NTSTATUS NTAPI RtlComputeImportTableHash(IN HANDLE FileHandle, OUT PCHAR Hash, IN ULONG ImportTableHashSize)
Definition: libsupp.c:1191
NTSYSAPI NTSTATUS NTAPI RtlWow64EnableFsRedirectionEx(IN PVOID Wow64FsEnableRedirection, OUT PVOID *OldFsRedirectionLevel)
Definition: libsupp.c:1178
BOOLEAN NTAPI RtlGetNtProductType(_Out_ PNT_PRODUCT_TYPE ProductType)
Definition: version.c:105
NTSTATUS NTAPI RtlGetVersion(IN OUT PRTL_OSVERSIONINFOW lpVersionInformation)
Definition: version.c:182
#define P(row, col)
static const ACEFLAG AceType[]
Definition: security.c:2583
#define RtlImageRvaToSection
Definition: compat.h:808
struct _WOW64_CONTEXT * PWOW64_CONTEXT
#define RtlComputeCrc32
Definition: compat.h:810
EXCEPTION_ROUTINE * PEXCEPTION_ROUTINE
Definition: compat.h:709
#define RtlImageDirectoryEntryToData
Definition: compat.h:809
#define RtlImageRvaToVa
Definition: compat.h:807
#define RtlImageNtHeader
Definition: compat.h:806
static CODEPAGE_ENTRY AnsiCodePage
Definition: nls.c:46
static CODEPAGE_ENTRY OemCodePage
Definition: nls.c:47
static int Hash(const char *)
Definition: reader.c:2257
enum _NT_PRODUCT_TYPE * PNT_PRODUCT_TYPE
static const WCHAR Message[]
Definition: register.c:74
@ AnsiString
Definition: dnslib.h:19
#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
BOOLEAN RtlTimeFieldsToTime(IN PTIME_FIELDS TimeFields, IN PLARGE_INTEGER Time)
#define RemoveEntryList(Entry)
Definition: env_spec_w32.h:986
#define InsertTailList(ListHead, Entry)
#define InsertHeadList(ListHead, Entry)
#define IsListEmpty(ListHead)
Definition: env_spec_w32.h:954
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
#define APC_LEVEL
Definition: env_spec_w32.h:695
#define RemoveTailList(ListHead)
Definition: env_spec_w32.h:975
#define RemoveHeadList(ListHead)
Definition: env_spec_w32.h:964
#define InitializeListHead(ListHead)
Definition: env_spec_w32.h:944
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
@ Success
Definition: eventcreate.c:712
IN PDCB IN POEM_STRING IN PUNICODE_STRING IN OUT POEM_STRING ShortName
Definition: fatprocs.h:1307
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ProcessId
Definition: fatprocs.h:2712
unsigned long DWORD
Definition: ntddk_ex.h:95
enum _SYSTEM_INFORMATION_CLASS SYSTEM_INFORMATION_CLASS
_Inout_opt_ PUNICODE_STRING Extension
Definition: fltkernel.h:1092
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE FileHandle
Definition: fltkernel.h:1231
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ SECURITY_INFORMATION _In_ ULONG _Out_opt_ PULONG LengthNeeded
Definition: fltkernel.h:1343
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Definition: fltkernel.h:2653
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ SECURITY_INFORMATION SecurityInformation
Definition: fltkernel.h:1340
_Must_inspect_result_ _In_ USHORT NewSize
Definition: fltkernel.h:975
_In_ FILTER_INFORMATION_CLASS InformationClass
Definition: fltkernel.h:1713
std::wstring STRING
Definition: fontsub.cpp:33
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:223
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
Definition: fsrtlfuncs.h:898
return pTarget Start()
Status
Definition: gdiplustypes.h:25
VOID NTAPI RtlInitializeGenericTable(IN PRTL_GENERIC_TABLE Table, IN PRTL_GENERIC_COMPARE_ROUTINE CompareRoutine, IN PRTL_GENERIC_ALLOCATE_ROUTINE AllocateRoutine, IN PRTL_GENERIC_FREE_ROUTINE FreeRoutine, IN PVOID TableContext)
Definition: generictable.c:100
ASMGENDATA Table[]
Definition: genincdata.c:61
GLbitfield flags
Definition: glext.h:7161
#define DbgPrint
Definition: hal.h:12
CPPORT Port[4]
Definition: headless.c:35
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE Usage
Definition: hidpi.h:384
static XMS_HANDLE HandleTable[XMS_MAX_HANDLES]
Definition: himem.c:83
_In_ GUID _In_ PVOID ValueData
Definition: hubbusif.h:312
@ Unknown
Definition: i8042prt.h:114
_Check_return_ unsigned long __cdecl _byteswap_ulong(_In_ unsigned long _Long)
_Check_return_ unsigned short __cdecl _byteswap_ushort(_In_ unsigned short _Short)
VOID NTAPI RtlFreeOemString(POEM_STRING OemString)
BOOLEAN NTAPI RtlTimeToSecondsSince1970(PLARGE_INTEGER Time, PULONG ElapsedSeconds)
BOOLEAN NTAPI RtlIsNameLegalDOS8Dot3(_In_ PUNICODE_STRING Name, _Inout_opt_ POEM_STRING OemName, _Inout_opt_ PBOOLEAN NameContainsSpaces)
NTSYSAPI NTSTATUS WINAPI RtlActivateActivationContext(DWORD, HANDLE, ULONG_PTR *)
NTSYSAPI void WINAPI RtlReleasePebLock(void)
Definition: libsupp.c:84
NTSYSAPI WCHAR WINAPI RtlAnsiCharToUnicodeChar(LPSTR *)
NTSYSAPI ULONG WINAPI RtlNtStatusToDosErrorNoTeb(NTSTATUS)
NTSYSAPI NTSTATUS WINAPI RtlWriteRegistryValue(ULONG, PCWSTR, PCWSTR, ULONG, PVOID, ULONG)
NTSYSAPI BOOLEAN WINAPI RtlIsValidIndexHandle(const RTL_HANDLE_TABLE *, ULONG Index, RTL_HANDLE **)
NTSYSAPI ULONG WINAPI RtlRemoveVectoredExceptionHandler(PVOID)
NTSYSAPI NTSTATUS WINAPI RtlVerifyVersionInfo(const RTL_OSVERSIONINFOEXW *, DWORD, DWORDLONG)
NTSYSAPI NTSTATUS WINAPI RtlFindActivationContextSectionString(ULONG, const GUID *, ULONG, const UNICODE_STRING *, PVOID)
Definition: actctx.c:5874
NTSYSAPI ULONG WINAPI RtlLengthSecurityDescriptor(PSECURITY_DESCRIPTOR)
NTSYSAPI NTSTATUS WINAPI RtlZombifyActivationContext(HANDLE)
Definition: actctx.c:5396
NTSYSAPI CCHAR WINAPI RtlFindMostSignificantBit(ULONGLONG)
Definition: bitmap.c:211
NTSYSAPI PVOID WINAPI RtlReAllocateHeap(HANDLE, ULONG, PVOID, SIZE_T)
Definition: heap.c:2686
NTSYSAPI NTSTATUS WINAPI RtlInitAnsiStringEx(PANSI_STRING, PCSZ)
NTSYSAPI DWORD WINAPI RtlGetThreadErrorMode(void)
Definition: error.c:217
NTSYSAPI NTSTATUS WINAPI RtlGUIDFromString(PUNICODE_STRING, GUID *)
NTSYSAPI UINT WINAPI RtlEnlargedUnsignedDivide(ULONGLONG, UINT, UINT *)
NTSYSAPI PVOID WINAPI RtlEncodePointer(PVOID)
NTSYSAPI void WINAPI RtlAcquirePebLock(void)
Definition: libsupp.c:74
NTSYSAPI LONGLONG WINAPI RtlConvertLongToLargeInteger(LONG)
Definition: largeint.c:31
NTSYSAPI void WINAPI RtlSetLastWin32ErrorAndNtStatusFromNtStatus(NTSTATUS)
NTSYSAPI void WINAPI DbgBreakPoint(void)
NTSYSAPI NTSTATUS WINAPI RtlInitUnicodeStringEx(PUNICODE_STRING, PCWSTR)
NTSYSAPI void WINAPI RtlAddRefActivationContext(HANDLE)
Definition: actctx.c:5373
NTSYSAPI NTSTATUS WINAPI RtlQueryInformationAcl(PACL, LPVOID, DWORD, ACL_INFORMATION_CLASS)
NTSYSAPI BOOLEAN WINAPI RtlPrefixString(const STRING *, const STRING *, BOOLEAN)
Definition: unicode.c:886
NTSYSAPI ULONG WINAPI RtlGetProcessHeaps(ULONG, HANDLE *)
NTSYSAPI NTSTATUS WINAPI RtlExpandEnvironmentStrings_U(PCWSTR, const UNICODE_STRING *, UNICODE_STRING *, ULONG *)
NTSYSAPI NTSTATUS WINAPI RtlWalkHeap(HANDLE, PVOID)
NTSYSAPI void WINAPI RtlFreeThreadActivationContextStack(void)
Definition: actctx.c:5515
NTSYSAPI NTSTATUS WINAPI RtlAddAccessAllowedAceEx(PACL, DWORD, DWORD, DWORD, PSID)
NTSYSAPI NTSTATUS WINAPI RtlSetThreadErrorMode(DWORD, LPDWORD)
NTSYSAPI NTSTATUS WINAPI RtlAddAccessAllowedAce(PACL, DWORD, DWORD, PSID)
NTSYSAPI void WINAPI RtlDeactivateActivationContext(DWORD, ULONG_PTR)
NTSYSAPI NTSTATUS WINAPI RtlDowncaseUnicodeString(UNICODE_STRING *, const UNICODE_STRING *, BOOLEAN)
NTSYSAPI BOOLEAN WINAPI RtlTryAcquireSRWLockShared(RTL_SRWLOCK *)
NTSYSAPI void WINAPI RtlReleaseActivationContext(HANDLE)
Definition: actctx.c:5384
NTSYSAPI NTSTATUS WINAPI RtlStringFromGUID(REFGUID, PUNICODE_STRING)
NTSYSAPI NTSTATUS WINAPI RtlSetOwnerSecurityDescriptor(PSECURITY_DESCRIPTOR, PSID, BOOLEAN)
NTSYSAPI DWORD WINAPI RtlGetLongestNtPathLength(void)
Definition: path.c:1555
NTSYSAPI TEB_ACTIVE_FRAME *WINAPI RtlGetFrame(void)
Definition: debug.c:421
NTSYSAPI NTSTATUS WINAPI RtlGetLastNtStatus(void)
Definition: error.c:114
NTSYSAPI BOOLEAN WINAPI RtlValidateHeap(HANDLE, ULONG, LPCVOID)
NTSYSAPI NTSTATUS WINAPI RtlQueryRegistryValues(ULONG, PCWSTR, PRTL_QUERY_REGISTRY_TABLE, PVOID, PVOID)
NTSYSAPI CCHAR WINAPI RtlFindLeastSignificantBit(ULONGLONG)
Definition: bitmap.c:235
NTSYSAPI DWORD WINAPI RtlGetLastWin32Error(void)
Definition: error.c:132
NTSYSAPI NTSTATUS WINAPI RtlSetHeapInformation(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T)
NTSYSAPI PVOID WINAPI RtlAddVectoredExceptionHandler(ULONG, PVECTORED_EXCEPTION_HANDLER)
NTSYSAPI PVOID WINAPI RtlDecodePointer(PVOID)
NTSYSAPI NTSTATUS WINAPI RtlDuplicateUnicodeString(int, const UNICODE_STRING *, UNICODE_STRING *)
NTSYSAPI PEB *WINAPI RtlGetCurrentPeb(void)
Definition: libsupp.c:65
NTSYSAPI BOOLEAN WINAPI RtlValidRelativeSecurityDescriptor(PSECURITY_DESCRIPTOR, ULONG, SECURITY_INFORMATION)
NTSYSAPI NTSTATUS WINAPI RtlUpcaseUnicodeStringToCountedOemString(STRING *, const UNICODE_STRING *, BOOLEAN)
NTSYSAPI NTSTATUS WINAPI RtlCheckRegistryKey(ULONG, PWSTR)
NTSYSAPI NTSTATUS WINAPI RtlDecompressBuffer(USHORT, PUCHAR, ULONG, PUCHAR, ULONG, PULONG)
NTSYSAPI BOOLEAN WINAPI RtlUnlockHeap(HANDLE)
Definition: heap.c:3162
NTSYSAPI NTSTATUS WINAPI RtlSelfRelativeToAbsoluteSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PDWORD, PACL, PDWORD, PACL, PDWORD, PSID, PDWORD, PSID, PDWORD)
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
NTSYSAPI ULONGLONG WINAPI RtlEnlargedUnsignedMultiply(UINT, UINT)
Definition: largeint.c:97
NTSYSAPI NTSTATUS WINAPI RtlCreateActivationContext(HANDLE *, const void *)
NTSYSAPI NTSTATUS WINAPI RtlQueryHeapInformation(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T, PSIZE_T)
NTSYSAPI NTSTATUS WINAPI RtlGetActiveActivationContext(HANDLE *)
Definition: actctx.c:5539
NTSYSAPI LONGLONG WINAPI RtlEnlargedIntegerMultiply(INT, INT)
NTSYSAPI NTSTATUS WINAPI RtlSetDaclSecurityDescriptor(PSECURITY_DESCRIPTOR, BOOLEAN, PACL, BOOLEAN)
NTSYSAPI BOOLEAN WINAPI RtlTryAcquireSRWLockExclusive(RTL_SRWLOCK *)
NTSYSAPI NTSTATUS WINAPI RtlQueryInformationActivationContext(ULONG, HANDLE, PVOID, ULONG, PVOID, SIZE_T, SIZE_T *)
Definition: actctx.c:5572
NTSYSAPI NTSTATUS WINAPI RtlpNtCreateKey(PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *, ULONG, const UNICODE_STRING *, ULONG, PULONG)
NTSYSAPI NTSTATUS WINAPI RtlpNtEnumerateSubKey(HANDLE, UNICODE_STRING *, ULONG)
NTSYSAPI BOOLEAN WINAPI RtlLockHeap(HANDLE)
NTSYSAPI void WINAPI RtlSetLastWin32Error(DWORD)
NTSYSAPI ULONG WINAPI RtlGetNtGlobalFlags(void)
Definition: libsupp.c:95
NTSYSAPI LONGLONG WINAPI RtlExtendedLargeIntegerDivide(LONGLONG, INT, INT *)
NTSYSAPI NTSTATUS WINAPI RtlAppendStringToString(STRING *, const STRING *)
NTSYSAPI void WINAPI RtlCopyLuid(PLUID, const LUID *)
NTSYSAPI BOOLEAN WINAPI RtlCopySid(DWORD, PSID, PSID)
NTSYSAPI ULONG WINAPI RtlCompactHeap(HANDLE, ULONG)
Definition: heap.c:3103
_Check_return_ unsigned __int64 __cdecl _byteswap_uint64(_In_ unsigned __int64 _Number)
HRESULT Next([in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] STATPROPSETSTG *rgelt, [out] ULONG *pceltFetched)
__fastfail(FAST_FAIL_INVALID_ARG)
CRITICAL_SECTION CriticalSection
Definition: iprtprio.c:40
#define I(s)
#define DbgPrintEx(cmpid, lvl, fmt,...)
Definition: kdinit.c:24
_In_ PCWSTR _Out_ PVOID * ActCtx
Definition: ldrtypes.h:264
#define Unused(x)
Definition: atlwin.h:28
if(dx< 0)
Definition: linetemp.h:194
enum _SECURITY_IMPERSONATION_LEVEL SECURITY_IMPERSONATION_LEVEL
WORD SECURITY_DESCRIPTOR_CONTROL
Definition: lsa.idl:37
WORD * PSECURITY_DESCRIPTOR_CONTROL
Definition: lsa.idl:37
HRESULT NTAPI RtlSeekMemoryStream(_In_ IStream *This, _In_ LARGE_INTEGER RelativeOffset, _In_ ULONG Origin, _Out_opt_ PULARGE_INTEGER ResultOffset)
Definition: memstream.c:239
VOID NTAPI RtlFinalReleaseOutOfProcessMemoryStream(_In_ PRTL_MEMORY_STREAM Stream)
Definition: memstream.c:97
VOID NTAPI RtlInitMemoryStream(_Out_ PRTL_MEMORY_STREAM Stream)
Definition: memstream.c:72
HRESULT NTAPI RtlQueryInterfaceMemoryStream(_In_ IStream *This, _In_ REFIID RequestedIid, _Outptr_ PVOID *ResultObject)
Definition: memstream.c:108
HRESULT NTAPI RtlSetMemoryStreamSize(_In_ IStream *This, _In_ ULARGE_INTEGER NewSize)
Definition: memstream.c:383
HRESULT NTAPI RtlCopyMemoryStreamTo(_In_ IStream *This, _In_ IStream *Target, _In_ ULARGE_INTEGER Length, _Out_opt_ PULARGE_INTEGER BytesRead, _Out_opt_ PULARGE_INTEGER BytesWritten)
Definition: memstream.c:282
HRESULT NTAPI RtlCommitMemoryStream(_In_ IStream *This, _In_ ULONG CommitFlags)
Definition: memstream.c:398
NTSTATUS NTAPI RtlCopyMappedMemory(_Out_writes_bytes_all_(Size) PVOID Destination, _In_reads_bytes_(Size) const VOID *Source, _In_ SIZE_T Size)
Definition: memstream.c:479
HRESULT NTAPI RtlReadOutOfProcessMemoryStream(_In_ IStream *This, _Out_writes_bytes_(Length) PVOID Buffer, _In_ ULONG Length, _Out_opt_ PULONG BytesRead)
Definition: memstream.c:198
ULONG NTAPI RtlAddRefMemoryStream(_In_ IStream *This)
Definition: memstream.c:131
HRESULT NTAPI RtlLockMemoryStreamRegion(_In_ IStream *This, _In_ ULARGE_INTEGER Offset, _In_ ULARGE_INTEGER Length, _In_ ULONG LockType)
Definition: memstream.c:426
VOID NTAPI RtlInitOutOfProcessMemoryStream(_Out_ PRTL_MEMORY_STREAM Stream)
Definition: memstream.c:84
HRESULT NTAPI RtlWriteMemoryStream(_In_ IStream *This, _In_reads_bytes_(Length) CONST VOID *Buffer, _In_ ULONG Length, _Out_opt_ PULONG BytesWritten)
Definition: memstream.c:364
HRESULT NTAPI RtlUnlockMemoryStreamRegion(_In_ IStream *This, _In_ ULARGE_INTEGER Offset, _In_ ULARGE_INTEGER Length, _In_ ULONG LockType)
Definition: memstream.c:445
HRESULT NTAPI RtlReadMemoryStream(_In_ IStream *This, _Out_writes_bytes_(Length) PVOID Buffer, _In_ ULONG Length, _Out_opt_ PULONG BytesRead)
Definition: memstream.c:166
HRESULT NTAPI RtlCloneMemoryStream(_In_ IStream *This, _Outptr_ IStream **ResultStream)
Definition: memstream.c:464
ULONG NTAPI RtlReleaseMemoryStream(_In_ IStream *This)
Definition: memstream.c:144
HRESULT NTAPI RtlRevertMemoryStream(_In_ IStream *This)
Definition: memstream.c:413
HRESULT NTAPI RtlStatMemoryStream(_In_ IStream *This, _Out_ STATSTG *Stats, _In_ ULONG Flags)
Definition: memstream.c:337
const GUID * guid
#define RtlFillMemoryUlong(dst, len, val)
Definition: mkhive.h:55
unsigned __int64 * PULONG64
Definition: imports.h:198
unsigned __int64 ULONG64
Definition: imports.h:198
static PWSTR GuidString
Definition: apphelp.c:93
static PVOID ptr
Definition: dispmode.c:27
static const char const char * DllPath
Definition: image.c:34
static IStream Stream
Definition: htmldoc.c:1115
unsigned short RTL_ATOM
Definition: atom.c:42
unsigned short * PRTL_ATOM
Definition: atom.c:42
struct atom_table ** PRTL_ATOM_TABLE
Definition: atom.c:43
static ACCESS_MASK const OBJECT_ATTRIBUTES ULONG TitleIndex
Definition: reg.c:131
static PTIME_FIELDS TimeFields
Definition: time.c:104
DWORD SECURITY_INFORMATION
Definition: ms-dtyp.idl:311
#define _Post_bytecap_(size)
Definition: ms_sal.h:1376
#define _Out_cap_(size)
Definition: ms_sal.h:852
#define _In_count_(size)
Definition: ms_sal.h:810
#define _Deref_post_bytecap_(size)
Definition: ms_sal.h:1128
#define _Out_z_bytecap_(size)
Definition: ms_sal.h:885
#define __inner_callback
Definition: ms_sal.h:2636
#define _Out_opt_z_bytecap_(size)
Definition: ms_sal.h:886
#define _Ret_opt_z_
Definition: ms_sal.h:1220
#define _Post_bytecount_(size)
Definition: ms_sal.h:1380
#define _Out_bytecap_(size)
Definition: ms_sal.h:854
_In_ HANDLE hFile
Definition: mswsock.h:90
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
Definition: ndis.h:4755
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ PNDIS_STRING SubKeyName
Definition: ndis.h:4725
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
Definition: ndis.h:4715
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Reserved_ ULONG _In_opt_ PUNICODE_STRING _In_ ULONG _Out_opt_ PULONG Disposition
Definition: cmfuncs.h:56
_In_ HANDLE ProcessHandle
Definition: mmfuncs.h:403
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
Definition: mmfuncs.h:404
_In_ ACCESS_MASK _In_ ULONG _Out_ PHANDLE TokenHandle
Definition: psfuncs.h:726
NTSYSAPI NTSTATUS NTAPI RtlSetSecurityObject(_In_ SECURITY_INFORMATION SecurityInformation, _In_ PSECURITY_DESCRIPTOR ModificationDescriptor, _Out_ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, _In_ PGENERIC_MAPPING GenericMapping, _In_ HANDLE Token)
NTSYSAPI VOID NTAPI RtlInitializeConditionVariable(_Out_ PRTL_CONDITION_VARIABLE ConditionVariable)
NTSYSAPI NTSTATUS NTAPI RtlIsRangeAvailable(_In_ PRTL_RANGE_LIST RangeList, _In_ ULONGLONG Start, _In_ ULONGLONG End, _In_ ULONG Flags, _In_ UCHAR AttributeAvailableMask, _In_opt_ PVOID Context, _In_opt_ PRTL_CONFLICT_RANGE_CALLBACK Callback, _Out_ PBOOLEAN Available)
NTSYSAPI ULONG NTAPI RtlUniform(_In_ PULONG Seed)
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressW(_In_ PCWSTR String, _Out_ PCWSTR *Terminator, _Out_ struct in6_addr *Addr)
Definition: network.c:1005
NTSYSAPI BOOLEAN NTAPI RtlAcquireResourceShared(_In_ PRTL_RESOURCE Resource, _In_ BOOLEAN Wait)
NTSYSAPI NTSTATUS NTAPI RtlCreateRegistryKey(_In_ ULONG RelativeTo, _In_ PWSTR Path)
NTSYSAPI NTSTATUS NTAPI RtlOpenCurrentUser(_In_ ACCESS_MASK DesiredAccess, _Out_ PHANDLE KeyHandle)
NTSYSAPI NTSTATUS NTAPI RtlAddAce(_Inout_ PACL Acl, _In_ ULONG AceRevision, _In_ ULONG StartingAceIndex, _In_reads_bytes_(AceListLength) PVOID AceList, _In_ ULONG AceListLength)
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL Dacl
Definition: rtlfuncs.h:1617
_In_ PLUID SourceLuid
Definition: rtlfuncs.h:1341
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor
Definition: rtlfuncs.h:1615
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ OwnerSize PSID _Inout_ PULONG OwnerSize
Definition: rtlfuncs.h:1622
NTSYSAPI VOID NTAPI RtlCopyLuidAndAttributesArray(ULONG Count, PLUID_AND_ATTRIBUTES Src, PLUID_AND_ATTRIBUTES Dest)
Definition: luid.c:33
NTSYSAPI NTSTATUS NTAPI RtlUpcaseUnicodeStringToOemString(POEM_STRING DestinationString, PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
NTSYSAPI NTSTATUS NTAPI RtlDeleteCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
_In_ const STRING * String2
Definition: rtlfuncs.h:2396
_In_opt_ PSID Group
Definition: rtlfuncs.h:1670
NTSYSAPI PULONG NTAPI RtlSubAuthoritySid(_In_ PSID Sid, _In_ ULONG SubAuthority)
_Out_ _Inout_ POEM_STRING _In_ PCUNICODE_STRING SourceString
Definition: rtlfuncs.h:1949
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressExW(_In_ PCWSTR AddressString, _Out_ struct in6_addr *Address, _Out_ PULONG ScopeId, _Out_ PUSHORT Port)
Definition: network.c:1021
_Must_inspect_result_ NTSYSAPI NTSTATUS NTAPI RtlUpcaseUnicodeString(_When_(AllocateDestinationString, _Out_ _At_(DestinationString->Buffer, __drv_allocatesMem(Mem))) _When_(!AllocateDestinationString, _Inout_) PUNICODE_STRING DestinationString, _In_ PCUNICODE_STRING SourceString, _In_ BOOLEAN AllocateDestinationString)
NTSYSAPI NTSTATUS NTAPI RtlDeleteOwnersRanges(_Inout_ PRTL_RANGE_LIST RangeList, _In_ _Maybenull_ PVOID Owner)
NTSYSAPI NTSTATUS NTAPI RtlDestroyQueryDebugBuffer(IN PRTL_DEBUG_INFORMATION DebugBuffer)
NTSYSAPI NTSTATUS NTAPI RtlGetControlSecurityDescriptor(_In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _Out_ PSECURITY_DESCRIPTOR_CONTROL Control, _Out_ PULONG Revision)
NTSYSAPI VOID NTAPI RtlSetSecurityDescriptorRMControl(_Inout_ PSECURITY_DESCRIPTOR SecurityDescriptor, _In_ PUCHAR RMControl)
NTSYSAPI VOID NTAPI RtlInitializeHandleTable(_In_ ULONG TableSize, _In_ ULONG HandleSize, _In_ PRTL_HANDLE_TABLE HandleTable)
NTSYSAPI NTSTATUS NTAPI RtlCompressBuffer(_In_ USHORT CompressionFormatAndEngine, _In_reads_bytes_(UncompressedBufferSize) PUCHAR UncompressedBuffer, _In_ ULONG UncompressedBufferSize, _Out_writes_bytes_to_(CompressedBufferSize, *FinalCompressedSize) PUCHAR CompressedBuffer, _In_ ULONG CompressedBufferSize, _In_ ULONG UncompressedChunkSize, _Out_ PULONG FinalCompressedSize, _In_ PVOID WorkSpace)
NTSYSAPI NTSTATUS NTAPI RtlRemovePrivileges(_In_ HANDLE TokenHandle, _In_reads_opt_(PrivilegeCount) _When_(PrivilegeCount !=0, _Notnull_) PULONG PrivilegesToKeep, _In_ ULONG PrivilegeCount)
Removes all privileges in the specified access token.
Definition: priv.c:515
NTSYSAPI NTSTATUS NTAPI RtlPinAtomInAtomTable(_In_ PRTL_ATOM_TABLE AtomTable, _In_ RTL_ATOM Atom)
NTSYSAPI VOID NTAPI RtlInitNlsTables(_In_ PUSHORT AnsiTableBase, _In_ PUSHORT OemTableBase, _In_ PUSHORT CaseTableBase, _Out_ PNLSTABLEINFO NlsTable)
NTSYSAPI NTSTATUS NTAPI RtlDestroyProcessParameters(_In_ PRTL_USER_PROCESS_PARAMETERS ProcessParameters)
NTSYSAPI NTSTATUS NTAPI RtlMergeRangeLists(_Out_ PRTL_RANGE_LIST MergedRangeList, _In_ PRTL_RANGE_LIST RangeList1, _In_ PRTL_RANGE_LIST RangeList2, _In_ ULONG Flags)
NTSYSAPI BOOLEAN NTAPI RtlValidAcl(PACL Acl)
NTSYSAPI NTSTATUS NTAPI RtlImpersonateSelf(IN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel)
Definition: priv.c:45
NTSYSAPI BOOLEAN NTAPI RtlGetSecurityDescriptorRMControl(_In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _Out_ PUCHAR RMControl)
NTSYSAPI NTSTATUS NTAPI RtlFindActivationContextSectionGuid(ULONG flags, const GUID *extguid, ULONG section_kind, const GUID *guid, void *ptr)
Definition: actctx.c:5946
NTSYSAPI NTSTATUS NTAPI RtlCopySidAndAttributesArray(_In_ ULONG Count, _In_ PSID_AND_ATTRIBUTES Src, _In_ ULONG SidAreaSize, _In_ PSID_AND_ATTRIBUTES Dest, _In_ PSID SidArea, _Out_ PSID *RemainingSidArea, _Out_ PULONG RemainingSidAreaSize)
NTSYSAPI ULONG NTAPI RtlLengthRequiredSid(IN ULONG SubAuthorityCount)
Definition: sid.c:54
NTSYSAPI NTSTATUS NTAPI RtlCreateProcessParameters(_Out_ PRTL_USER_PROCESS_PARAMETERS *ProcessParameters, _In_ PUNICODE_STRING ImagePathName, _In_opt_ PUNICODE_STRING DllPath, _In_opt_ PUNICODE_STRING CurrentDirectory, _In_opt_ PUNICODE_STRING CommandLine, _In_opt_ PWSTR Environment, _In_opt_ PUNICODE_STRING WindowTitle, _In_opt_ PUNICODE_STRING DesktopInfo, _In_opt_ PUNICODE_STRING ShellInfo, _In_opt_ PUNICODE_STRING RuntimeInfo)
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ OwnerSize PSID Owner
Definition: rtlfuncs.h:1621
NTSYSAPI BOOLEAN NTAPI RtlTryEnterCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
NTSYSAPI NTSTATUS NTAPI RtlUnicodeStringToOemString(POEM_STRING DestinationString, PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
NTSYSAPI NTSTATUS NTAPI RtlDeleteRange(_Inout_ PRTL_RANGE_LIST RangeList, _In_ ULONGLONG Start, _In_ ULONGLONG End, _In_ PVOID Owner)
NTSYSAPI ULONG NTAPI RtlIsDosDeviceName_U(_In_ PCWSTR Name)
NTSYSAPI NTSTATUS NTAPI RtlAddRange(_Inout_ PRTL_RANGE_LIST RangeList, _In_ ULONGLONG Start, _In_ ULONGLONG End, _In_ UCHAR Attributes, _In_ ULONG Flags, _In_opt_ PVOID UserData, _In_opt_ PVOID Owner)
NTSYSAPI NTSTATUS NTAPI RtlAcquirePrivilege(_In_ PULONG Privilege, _In_ ULONG NumPriv, _In_ ULONG Flags, _Out_ PVOID *ReturnedState)
NTSYSAPI NTSTATUS NTAPI RtlSetEnvironmentVariable(_In_z_ PWSTR *Environment, _In_ PUNICODE_STRING Name, _In_ PUNICODE_STRING Value)
NTSYSAPI NTSTATUS NTAPI RtlInvertRangeList(_Out_ PRTL_RANGE_LIST InvertedRangeList, _In_ PRTL_RANGE_LIST RangeList)
NTSYSAPI VOID NTAPI RtlPushFrame(_In_ PTEB_ACTIVE_FRAME Frame)
NTSYSAPI NTSTATUS NTAPI RtlDosSearchPath_Ustr(_In_ ULONG Flags, _In_ PUNICODE_STRING PathString, _In_ PUNICODE_STRING FileNameString, _In_ PUNICODE_STRING ExtensionString, _In_ PUNICODE_STRING CallerBuffer, _Inout_opt_ PUNICODE_STRING DynamicString, _Out_opt_ PUNICODE_STRING *FullNameOut, _Out_opt_ PSIZE_T FilePartSize, _Out_opt_ PSIZE_T LengthNeeded)
_In_ ULONG _In_ ULONG _In_ ACCESS_MASK _In_ PSID pSid
Definition: rtlfuncs.h:1169
NTSYSAPI VOID NTAPI RtlConvertExclusiveToShared(_In_ PRTL_RESOURCE Resource)
NTSYSAPI NTSTATUS NTAPI RtlHashUnicodeString(_In_ CONST UNICODE_STRING *String, _In_ BOOLEAN CaseInSensitive, _In_ ULONG HashAlgorithm, _Out_ PULONG HashValue)
NTSYSAPI BOOLEAN NTAPI RtlFreeHandle(_In_ PRTL_HANDLE_TABLE HandleTable, _In_ PRTL_HANDLE_TABLE_ENTRY Handle)
NTSYSAPI VOID NTAPI RtlConvertSharedToExclusive(_In_ PRTL_RESOURCE Resource)
_When_(Status< 0, _Out_range_(>, 0)) _When_(Status >=0
_Out_ PLARGE_INTEGER Time
Definition: rtlfuncs.h:4632
NTSYSAPI NTSTATUS NTAPI RtlSetSaclSecurityDescriptor(_Inout_ PSECURITY_DESCRIPTOR SecurityDescriptor, _In_ BOOLEAN SaclPresent, _In_ PACL Sacl, _In_ BOOLEAN SaclDefaulted)
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ OwnerSize PSID _Inout_ PULONG _Out_writes_bytes_to_opt_ PrimaryGroupSize PSID PrimaryGroup
Definition: rtlfuncs.h:1623
NTSYSAPI NTSTATUS NTAPI RtlNewSecurityObject(_In_ PSECURITY_DESCRIPTOR ParentDescriptor, _In_ PSECURITY_DESCRIPTOR CreatorDescriptor, _Out_ PSECURITY_DESCRIPTOR *NewDescriptor, _In_ BOOLEAN IsDirectoryObject, _In_ HANDLE Token, _In_ PGENERIC_MAPPING GenericMapping)
_In_ const STRING _In_ BOOLEAN CaseInSensitive
Definition: rtlfuncs.h:2429
NTSYSAPI VOID NTAPI RtlDestroyHandleTable(_Inout_ PRTL_HANDLE_TABLE HandleTable)
NTSYSAPI NTSTATUS NTAPI RtlQueueWorkItem(_In_ WORKERCALLBACKFUNC Function, _In_opt_ PVOID Context, _In_ ULONG Flags)
NTSYSAPI VOID NTAPI RtlWakeAllConditionVariable(_Inout_ PRTL_CONDITION_VARIABLE ConditionVariable)
_In_ PSID_IDENTIFIER_AUTHORITY _In_ UCHAR SubAuthorityCount
Definition: rtlfuncs.h:1539
NTSYSAPI NTSTATUS NTAPI RtlIpv6AddressToStringExW(_In_ const struct in6_addr *Address, _In_ ULONG ScopeId, _In_ USHORT Port, _Out_writes_to_(*AddressStringLength, *AddressStringLength) PWCHAR AddressString, _Inout_ PULONG AddressStringLength)
Definition: network.c:649
NTSYSAPI NTSTATUS NTAPI RtlSetControlSecurityDescriptor(_In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _In_ SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest, _In_ SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet)
NTSYSAPI NTSTATUS NTAPI RtlDestroyAtomTable(IN PRTL_ATOM_TABLE AtomTable)
Definition: atom.c:203
NTSYSAPI NTSTATUS NTAPI RtlCreateAcl(PACL Acl, ULONG AclSize, ULONG AclRevision)
NTSYSAPI NTSTATUS NTAPI RtlAddMandatoryAce(_Inout_ PACL Acl, _In_ ULONG Revision, _In_ ULONG Flags, _In_ ULONG MandatoryFlags, _In_ UCHAR AceType, _In_ PSID LabelSid)
NTSYSAPI NTSTATUS NTAPI RtlGetCompressionWorkSpaceSize(_In_ USHORT CompressionFormatAndEngine, _Out_ PULONG CompressBufferWorkSpaceSize, _Out_ PULONG CompressFragmentWorkSpaceSize)
_In_ BOOLEAN MappedAsImage
Definition: rtlfuncs.h:3933
_Out_ PCPTABLEINFO CodePageTable
Definition: rtlfuncs.h:4311
NTSYSAPI NTSTATUS NTAPI RtlCreateTimerQueue(PHANDLE TimerQueue)
Definition: threadpool.c:867
NTSYSAPI NTSTATUS NTAPI RtlInitializeCriticalSectionAndSpinCount(_In_ PRTL_CRITICAL_SECTION CriticalSection, _In_ ULONG SpinCount)
NTSYSAPI NTSTATUS NTAPI RtlQueryProcessDebugInformation(_In_ ULONG ProcessId, _In_ ULONG DebugInfoClassMask, _Inout_ PRTL_DEBUG_INFORMATION DebugBuffer)
NTSYSAPI NTSTATUS NTAPI RtlDeleteSecurityObject(_In_ PSECURITY_DESCRIPTOR *ObjectDescriptor)
_In_ ULONG TypeMask
Definition: rtlfuncs.h:4669
_In_ PCWSTR _Inout_ _At_ QueryTable _Pre_unknown_ PRTL_QUERY_REGISTRY_TABLE QueryTable
Definition: rtlfuncs.h:4203
NTSYSAPI NTSTATUS NTAPI RtlRegisterWait(_In_ PHANDLE phNewWaitObject, _In_ HANDLE hObject, _In_ WAITORTIMERCALLBACKFUNC Callback, _In_ PVOID pvContext, _In_ ULONG ulMilliseconds, _In_ ULONG ulFlags)
NTSYSAPI VOID NTAPI RtlEraseUnicodeString(_Inout_ PUNICODE_STRING String)
NTSYSAPI NTSTATUS NTAPI RtlUnicodeToMultiByteSize(PULONG MbSize, PCWCH UnicodeString, ULONG UnicodeSize)
NTSTATUS NTAPI RtlGetFullPathName_UstrEx(_In_ PUNICODE_STRING FileName, _In_opt_ PUNICODE_STRING StaticString, _In_opt_ PUNICODE_STRING DynamicString, _Out_opt_ PUNICODE_STRING *StringUsed, _Out_opt_ PSIZE_T FilePartSize, _Out_opt_ PBOOLEAN NameInvalid, _Out_ RTL_PATH_TYPE *PathType, _Out_opt_ PSIZE_T LengthNeeded)
NTSYSAPI NTSTATUS NTAPI RtlAddAuditAccessAce(_Inout_ PACL Acl, _In_ ULONG Revision, _In_ ACCESS_MASK AccessMask, _In_ PSID Sid, _In_ BOOLEAN Success, _In_ BOOLEAN Failure)
NTSTATUS NTAPI RtlIpv4AddressToStringExW(_In_ const struct in_addr *Address, _In_ USHORT Port, _Out_writes_to_(*AddressStringLength, *AddressStringLength) PWCHAR AddressString, _Inout_ PULONG AddressStringLength)
Definition: network.c:268
NTSYSAPI NTSTATUS NTAPI RtlCreateEnvironment(_In_ BOOLEAN Inherit, _Out_ PWSTR *Environment)
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG SaclSize
Definition: rtlfuncs.h:1620
_Inout_opt_ POEM_STRING _Out_opt_ PBOOLEAN NameContainsSpaces
Definition: rtlfuncs.h:3130
NTSYSAPI NTSTATUS NTAPI RtlUnicodeStringToAnsiString(PANSI_STRING DestinationString, PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
NTSYSAPI NTSTATUS NTAPI RtlAddAtomToAtomTable(_In_ PRTL_ATOM_TABLE AtomTable, _In_ PWSTR AtomName, _Out_ PRTL_ATOM Atom)
VOID NTAPI DbgCommandString(_In_ PCCH Name, _In_ PCCH Command)
NTSYSAPI VOID NTAPI RtlResetRtlTranslations(_In_ PNLSTABLEINFO NlsTable)
NTSYSAPI PRTL_HANDLE_TABLE_ENTRY NTAPI RtlAllocateHandle(_In_ PRTL_HANDLE_TABLE HandleTable, _Inout_ PULONG Index)
NTSYSAPI NTSTATUS NTAPI RtlGetAce(PACL Acl, ULONG AceIndex, PVOID *Ace)
NTSYSAPI NTSTATUS NTAPI RtlSetTimeZoneInformation(_In_ PRTL_TIME_ZONE_INFORMATION TimeZoneInformation)
*BytesInUnicodeString PWCH _In_ ULONG _Out_opt_ PULONG BytesInUnicodeString
Definition: rtlfuncs.h:2074
NTSYSAPI NTSTATUS NTAPI RtlIpv4StringToAddressExA(_In_ PCSTR AddressString, _In_ BOOLEAN Strict, _Out_ struct in_addr *Address, _Out_ PUSHORT Port)
Definition: network.c:355
NTSYSAPI NTSTATUS NTAPI RtlQuerySecurityObject(_In_ PSECURITY_DESCRIPTOR ObjectDescriptor, _In_ SECURITY_INFORMATION SecurityInformation, _Out_ PSECURITY_DESCRIPTOR ResultantDescriptor, _In_ ULONG DescriptorLength, _Out_ PULONG ReturnLength)
NTSYSAPI BOOLEAN NTAPI RtlIsTextUnicode(_In_ CONST VOID *Buffer, _In_ INT Size, _Inout_opt_ INT *Flags)
_In_ const STRING _In_ BOOLEAN CaseInsensitive
Definition: rtlfuncs.h:2398
_In_ ULONG _In_ ULONG AceFlags
Definition: rtlfuncs.h:1166
NTSYSAPI ULONG NTAPI RtlIsDosDeviceName_Ustr(_In_ PCUNICODE_STRING Name)
_In_opt_ PSID _In_opt_ BOOLEAN GroupDefaulted
Definition: rtlfuncs.h:1672
NTSYSAPI NTSTATUS NTAPI RtlSetIoCompletionCallback(_In_ HANDLE FileHandle, _In_ PIO_APC_ROUTINE Callback, _In_ ULONG Flags)
NTSYSAPI NTSTATUS NTAPI RtlSleepConditionVariableCS(_Inout_ PRTL_CONDITION_VARIABLE ConditionVariable, _Inout_ PRTL_CRITICAL_SECTION CriticalSection, _In_opt_ PLARGE_INTEGER TimeOut)
VOID NTAPI RtlReleaseRelativeName(_In_ PRTL_RELATIVE_NAME_U RelativeName)
NTSYSAPI VOID NTAPI RtlDestroyEnvironment(_In_ PWSTR Environment)
_In_ PSID _In_ BOOLEAN AllocateDestinationString
Definition: rtlfuncs.h:1373
NTSYSAPI ULONG NTAPI RtlLengthSid(IN PSID Sid)
Definition: sid.c:150
NTSYSAPI RTL_PATH_TYPE NTAPI RtlDetermineDosPathNameType_U(_In_ PCWSTR Path)
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
Definition: rtlfuncs.h:3043
NTSYSAPI NTSTATUS NTAPI RtlSelfRelativeToAbsoluteSD2(_Inout_ PSECURITY_DESCRIPTOR SelfRelativeSD, _Out_ PULONG BufferSize)
_In_ PSID SourceSid
Definition: rtlfuncs.h:1383
NTSYSAPI NTSTATUS NTAPI RtlCreateUserProcess(_In_ PUNICODE_STRING ImageFileName, _In_ ULONG Attributes, _In_ PRTL_USER_PROCESS_PARAMETERS ProcessParameters, _In_opt_ PSECURITY_DESCRIPTOR ProcessSecutityDescriptor, _In_opt_ PSECURITY_DESCRIPTOR ThreadSecurityDescriptor, _In_opt_ HANDLE ParentProcess, _In_ BOOLEAN CurrentDirectory, _In_opt_ HANDLE DebugPort, _In_opt_ HANDLE ExceptionPort, _Out_ PRTL_USER_PROCESS_INFORMATION ProcessInfo)
_Must_inspect_result_ NTSYSAPI LONG NTAPI RtlCompareUnicodeStrings(_In_reads_(String1Length) PCWCH String1, _In_ SIZE_T String1Length, _In_reads_(String2Length) PCWCH String2, _In_ SIZE_T String2Length, _In_ BOOLEAN CaseInSensitive)
NTSYSAPI NTSTATUS NTAPI RtlLookupAtomInAtomTable(_In_ PRTL_ATOM_TABLE AtomTable, _In_ PWSTR AtomName, _Out_ PRTL_ATOM Atom)
_In_ PCWSTR _Inout_ _At_ QueryTable _Pre_unknown_ PRTL_QUERY_REGISTRY_TABLE _In_opt_ PVOID _In_opt_ PVOID Environment
Definition: rtlfuncs.h:4206
NTSYSAPI NTSTATUS NTAPI RtlOemStringToUnicodeString(PUNICODE_STRING DestinationString, PCOEM_STRING SourceString, BOOLEAN AllocateDestinationString)
NTSYSAPI NTSTATUS NTAPI RtlIpv4AddressToStringExA(_In_ const struct in_addr *Address, _In_ USHORT Port, _Out_writes_to_(*AddressStringLength, *AddressStringLength) PCHAR AddressString, _Inout_ PULONG AddressStringLength)
Definition: network.c:186
_In_ BOOLEAN DaclPresent
Definition: rtlfuncs.h:1659
NTSYSAPI NTSTATUS __cdecl RtlSetThreadIsCritical(_In_ BOOLEAN NewValue, _Out_opt_ PBOOLEAN OldValue, _In_ BOOLEAN NeedBreaks)
NTSYSAPI VOID NTAPI RtlReleasePrivilege(_In_ PVOID ReturnedState)
NTSYSAPI ULONG NTAPI RtlxAnsiStringToUnicodeSize(PCANSI_STRING AnsiString)
NTSYSAPI LONG NTAPI RtlCompareUnicodeString(PCUNICODE_STRING String1, PCUNICODE_STRING String2, BOOLEAN CaseInsensitive)
Definition: string_lib.cpp:31
NTSYSAPI NTSTATUS NTAPI RtlLargeIntegerToChar(_In_ PLARGE_INTEGER Value, _In_ ULONG Base, _In_ ULONG Length, _Out_ PCHAR String)
NTSYSAPI NTSTATUS NTAPI RtlIpv6AddressToStringExA(_In_ const struct in6_addr *Address, _In_ ULONG ScopeId, _In_ USHORT Port, _Out_writes_to_(*AddressStringLength, *AddressStringLength) PSTR AddressString, _Inout_ PULONG AddressStringLength)
Definition: network.c:510
NTSYSAPI NTSTATUS NTAPI RtlSetCurrentDirectory_U(_In_ PUNICODE_STRING name)
NTSYSAPI NTSTATUS NTAPI RtlAddAccessAllowedObjectAce(_Inout_ PACL pAcl, _In_ ULONG dwAceRevision, _In_ ULONG AceFlags, _In_ ACCESS_MASK AccessMask, _In_opt_ GUID *ObjectTypeGuid, _In_opt_ GUID *InheritedObjectTypeGuid, _In_ PSID pSid)
NTSYSAPI NTSTATUS NTAPI RtlEnterCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
NTSYSAPI NTSTATUS NTAPI RtlImageNtHeaderEx(_In_ ULONG Flags, _In_ PVOID BaseAddress, _In_ ULONGLONG Size, _Out_ PIMAGE_NT_HEADERS *NtHeader)
NTSYSAPI NTSTATUS NTAPI RtlGetFullPathName_UEx(_In_ PWSTR FileName, _In_ ULONG BufferLength, _Out_ PWSTR Buffer, _Out_opt_ PWSTR *FilePart, _Out_opt_ RTL_PATH_TYPE *InputPathType)
_In_opt_ ULONG Base
Definition: rtlfuncs.h:2478
NTSYSAPI NTSTATUS NTAPI RtlRemoteCall(_In_ HANDLE Process, _In_ HANDLE Thread, _In_ PVOID CallSite, _In_ ULONG ArgumentCount, _In_ PULONG Arguments, _In_ BOOLEAN PassContext, _In_ BOOLEAN AlreadySuspended)
VOID NTAPI RtlReleaseSRWLockExclusive(IN OUT PRTL_SRWLOCK SRWLock)
Definition: srw.c:710
NTSYSAPI NTSTATUS NTAPI RtlGetLengthWithoutTrailingPathSeperators(_Reserved_ ULONG Flags, _In_ PCUNICODE_STRING PathString, _Out_ PULONG Length)
NTSYSAPI VOID NTAPI RtlInitializeRangeList(_Out_ PRTL_RANGE_LIST RangeList)
NTSTATUS NTAPI RtlSetThreadPoolStartFunc(_In_ PRTL_START_POOL_THREAD StartPoolThread, _In_ PRTL_EXIT_POOL_THREAD ExitPoolThread)
NTSYSAPI NTSTATUS NTAPI RtlCreateAtomTable(_In_ ULONG TableSize, _Inout_ PRTL_ATOM_TABLE *AtomTable)
NTSYSAPI NTSTATUS NTAPI RtlSystemTimeToLocalTime(_In_ PLARGE_INTEGER SystemTime, _Out_ PLARGE_INTEGER LocalTime)
NTSYSAPI NTSTATUS NTAPI RtlGetSaclSecurityDescriptor(_In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _Out_ PBOOLEAN SaclPresent, _Out_ PACL *Sacl, _Out_ PBOOLEAN SaclDefaulted)
NTSYSAPI VOID NTAPI RtlExitUserThread(_In_ NTSTATUS Status)
NTSYSAPI BOOLEAN NTAPI RtlValidSid(IN PSID Sid)
Definition: sid.c:21
NTSYSAPI NTSTATUS NTAPI RtlCopySecurityDescriptor(_In_ PSECURITY_DESCRIPTOR pSourceSecurityDescriptor, _Out_ PSECURITY_DESCRIPTOR *pDestinationSecurityDescriptor)
NTSYSAPI BOOLEAN NTAPI RtlIsValidHandle(_In_ PRTL_HANDLE_TABLE HandleTable, _In_ PRTL_HANDLE_TABLE_ENTRY Handle)
NTSYSAPI CHAR NTAPI RtlUpperChar(CHAR Source)
NTSYSAPI NTSTATUS NTAPI RtlMapSecurityErrorToNtStatus(_In_ ULONG SecurityError)
NTSYSAPI NTSTATUS NTAPI RtlpEnsureBufferSize(_In_ ULONG Flags, _Inout_ PRTL_BUFFER Buffer, _In_ SIZE_T RequiredSize)
NTSYSAPI VOID NTAPI RtlWakeConditionVariable(_Inout_ PRTL_CONDITION_VARIABLE ConditionVariable)
NTSYSAPI BOOLEAN NTAPI RtlEqualPrefixSid(PSID Sid1, PSID Sid2)
_In_ ULONG _In_ ULONGLONG ConditionMask
Definition: rtlfuncs.h:4671
NTSYSAPI VOID NTAPI RtlpUnWaitCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
NTSYSAPI NTSTATUS NTAPI RtlFindRange(_In_ PRTL_RANGE_LIST RangeList, _In_ ULONGLONG Minimum, _In_ ULONGLONG Maximum, _In_ ULONG Length, _In_ ULONG Alignment, _In_ ULONG Flags, _In_ UCHAR AttributeAvailableMask, _In_opt_ PVOID Context, _In_opt_ PRTL_CONFLICT_RANGE_CALLBACK Callback, _Out_ PULONGLONG Start)
NTSYSAPI NTSTATUS NTAPI RtlCreateSecurityDescriptor(_Out_ PSECURITY_DESCRIPTOR SecurityDescriptor, _In_ ULONG Revision)
NTSYSAPI NTSTATUS NTAPI RtlAddAuditAccessAceEx(_Inout_ PACL Acl, _In_ ULONG Revision, _In_ ULONG Flags, _In_ ACCESS_MASK AccessMask, _In_ PSID Sid, _In_ BOOLEAN Success, _In_ BOOLEAN Failure)
NTSYSAPI ULONG NTAPI RtlRandom(_Inout_ PULONG Seed)
_Out_writes_bytes_to_opt_ BufferLength PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor
Definition: rtlfuncs.h:1144
NTSYSAPI NTSTATUS NTAPI RtlUnicodeToMultiByteN(PCHAR MbString, ULONG MbSize, PULONG ResultSize, PCWCH UnicodeString, ULONG UnicodeSize)
NTSYSAPI NTSTATUS NTAPI RtlValidateUnicodeString(_In_ ULONG Flags, _In_ PCUNICODE_STRING String)
Definition: unicode.c:2605
NTSYSAPI NTSTATUS NTAPI RtlQueryTimeZoneInformation(_Out_ PRTL_TIME_ZONE_INFORMATION TimeZoneInformation)
_In_opt_ PSID _In_opt_ BOOLEAN OwnerDefaulted
Definition: rtlfuncs.h:1696
ULONG NTAPI LdrRelocateImageWithBias(_In_ PVOID BaseAddress, _In_ LONGLONG AdditionalBias, _In_opt_ PCSTR LoaderName, _In_ ULONG Success, _In_ ULONG Conflict, _In_ ULONG Invalid)
Definition: image.c:474
NTSYSAPI NTSTATUS NTAPI RtlLeaveCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
NTSYSAPI PSTR NTAPI RtlIpv6AddressToStringA(_In_ const struct in6_addr *Addr, _Out_writes_(46) PSTR S)
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL Sacl
Definition: rtlfuncs.h:1619
NTSYSAPI NTSTATUS NTAPI RtlpWaitForCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
_Out_ _Inout_ POEM_STRING DestinationString
Definition: rtlfuncs.h:1948
_In_ ULONG _In_ SECURITY_INFORMATION RequiredInformation
Definition: rtlfuncs.h:1740
NTSYSAPI VOID NTAPI RtlPopFrame(_In_ PTEB_ACTIVE_FRAME Frame)
NTSYSAPI PUCHAR NTAPI RtlSubAuthorityCountSid(_In_ PSID Sid)
_In_ ULONG _In_ ULONG CompressedBufferSize
Definition: rtlfuncs.h:3321
NTSYSAPI NTSTATUS NTAPI RtlCreateUserThread(_In_ PVOID ThreadContext, _Out_ HANDLE *OutThreadHandle, _Reserved_ PVOID Reserved1, _Reserved_ PVOID Reserved2, _Reserved_ PVOID Reserved3, _Reserved_ PVOID Reserved4, _Reserved_ PVOID Reserved5, _Reserved_ PVOID Reserved6, _Reserved_ PVOID Reserved7, _Reserved_ PVOID Reserved8)
_In_ ULONG _In_ ULONG _Out_ PULONG FinalUncompressedSize
Definition: rtlfuncs.h:3323
NTSYSAPI PRTL_DEBUG_INFORMATION NTAPI RtlCreateQueryDebugBuffer(_In_ ULONG Size, _In_ BOOLEAN EventPair)
Definition: dbgbuffer.c:66
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressExA(_In_ PCSTR AddressString, _Out_ struct in6_addr *Address, _Out_ PULONG ScopeId, _Out_ PUSHORT Port)
Definition: network.c:757
NTSYSAPI NTSTATUS NTAPI RtlAppendUnicodeStringToString(PUNICODE_STRING Destination, PCUNICODE_STRING Source)
NTSYSAPI VOID NTAPI RtlUnwind(_In_opt_ PVOID TargetFrame, _In_opt_ PVOID TargetIp, _In_opt_ PEXCEPTION_RECORD ExceptionRecord, _In_ PVOID ReturnValue)
Definition: unwind.c:935
NTSYSAPI NTSTATUS NTAPI RtlInitializeCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ OwnerSize PSID _Inout_ PULONG _Out_writes_bytes_to_opt_ PrimaryGroupSize PSID _Inout_ PULONG PrimaryGroupSize
Definition: rtlfuncs.h:1625
NTSYSAPI NTSTATUS NTAPI RtlFormatCurrentUserKeyPath(_Out_ _At_(KeyPath->Buffer, __drv_allocatesMem(Mem) _Post_bytecap_(KeyPath->MaximumLength) _Post_bytecount_(KeyPath->Length)) PUNICODE_STRING KeyPath)
NTSYSAPI BOOLEAN NTAPI RtlDispatchException(_In_ PEXCEPTION_RECORD ExceptionRecord, _In_ PCONTEXT Context)
Definition: except.c:43
NTSYSAPI PWSTR NTAPI RtlIpv4AddressToStringW(_In_ const struct in_addr *Addr, _Out_writes_(16) PWCHAR S)
VOID NTAPI RtlInitializeSRWLock(OUT PRTL_SRWLOCK SRWLock)
Definition: srw.c:317
_In_ ULONG _In_ ACCESS_MASK _In_ PSID Sid
Definition: rtlfuncs.h:1157
NTSYSAPI NTSTATUS NTAPI RtlIntegerToUnicode(_In_ ULONG Value, _In_opt_ ULONG Base, _In_opt_ ULONG Length, _Inout_ LPWSTR String)
NTSYSAPI NTSTATUS NTAPI RtlGetNextRange(_Inout_ PRTL_RANGE_LIST_ITERATOR Iterator, _Outptr_ PRTL_RANGE *Range, _In_ BOOLEAN MoveForwards)
NTSYSAPI NTSTATUS NTAPI RtlGetGroupSecurityDescriptor(_In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _Out_ PSID *Group, _Out_ PBOOLEAN GroupDefaulted)
NTSYSAPI NTSTATUS NTAPI RtlGetFirstRange(_In_ PRTL_RANGE_LIST RangeList, _Out_ PRTL_RANGE_LIST_ITERATOR Iterator, _Outptr_ PRTL_RANGE *Range)
NTSYSAPI PVOID NTAPI RtlFreeSid(_In_ _Post_invalid_ PSID Sid)
NTSYSAPI USHORT NTAPI RtlLogStackBackTrace(VOID)
NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeStringFromAsciiz(_Out_ PUNICODE_STRING Destination, _In_ PCSZ Source)
NTSYSAPI VOID NTAPI RtlTimeToTimeFields(PLARGE_INTEGER Time, PTIME_FIELDS TimeFields)
DECLSPEC_NORETURN NTSYSAPI VOID NTAPI RtlRaiseStatus(_In_ NTSTATUS Status)
NTSYSAPI NTSTATUS NTAPI RtlAddAuditAccessObjectAce(_Inout_ PACL Acl, _In_ ULONG Revision, _In_ ULONG Flags, _In_ ACCESS_MASK AccessMask, _In_opt_ GUID *ObjectTypeGuid, _In_opt_ GUID *InheritedObjectTypeGuid, _In_ PSID Sid, _In_ BOOLEAN Success, _In_ BOOLEAN Failure)
NTSYSAPI ULONG NTAPI RtlxUnicodeStringToOemSize(IN PCUNICODE_STRING UnicodeString)
Definition: unicode.c:1091
NTSYSAPI ULONG NTAPI RtlGetFullPathName_U(_In_ PCWSTR FileName, _In_ ULONG Size, _Out_z_bytecap_(Size) PWSTR Buffer, _Out_opt_ PWSTR *ShortName)
Definition: path.c:1987
NTSYSAPI ULONG NTAPI RtlDosSearchPath_U(_In_ PCWSTR Path, _In_ PCWSTR FileName, _In_ PCWSTR Extension, _In_ ULONG BufferSize, _Out_ PWSTR Buffer, _Out_ PWSTR *PartName)
_Out_ PULONG ElapsedSeconds
Definition: rtlfuncs.h:4641
_Must_inspect_result_ NTSYSAPI NTSTATUS NTAPI RtlAllocateAndInitializeSid(_In_ PSID_IDENTIFIER_AUTHORITY IdentifierAuthority, _In_ UCHAR SubAuthorityCount, _In_ ULONG SubAuthority0, _In_ ULONG SubAuthority1, _In_ ULONG SubAuthority2, _In_ ULONG SubAuthority3, _In_ ULONG SubAuthority4, _In_ ULONG SubAuthority5, _In_ ULONG SubAuthority6, _In_ ULONG SubAuthority7, _Outptr_ PSID *Sid)
NTSYSAPI SIZE_T NTAPI RtlSizeHeap(_In_ PVOID HeapHandle, _In_ ULONG Flags, _In_ PVOID MemoryPointer)
NTSYSAPI VOID NTAPI RtlDumpResource(_In_ PRTL_RESOURCE Resource)
_In_ ULONG dwAceRevision
Definition: rtlfuncs.h:1165
NTSYSAPI NTSTATUS NTAPI RtlIpv4StringToAddressA(_In_ PCSTR String, _In_ BOOLEAN Strict, _Out_ PCSTR *Terminator, _Out_ struct in_addr *Addr)
Definition: network.c:318
NTSYSAPI NTSTATUS NTAPI RtlDeregisterWaitEx(_In_ HANDLE hWaitHandle, _In_opt_ HANDLE hCompletionEvent)
NTSYSAPI ULONG NTAPI RtlWalkFrameChain(_Out_writes_(Count -(Flags > > RTL_STACK_WALKING_MODE_FRAMES_TO_SKIP_SHIFT)) PVOID *Callers, _In_ ULONG Count, _In_ ULONG Flags)
VOID NTAPI RtlAcquireSRWLockExclusive(IN OUT PRTL_SRWLOCK SRWLock)
Definition: srw.c:591
NTSYSAPI NTSTATUS NTAPI RtlDeleteTimer(_In_ HANDLE TimerQueue, _In_ HANDLE Timer, _In_ HANDLE CompletionEvent)
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG AbsoluteSecurityDescriptorSize
Definition: rtlfuncs.h:1616
NTSYSAPI PSID_IDENTIFIER_AUTHORITY NTAPI RtlIdentifierAuthoritySid(PSID Sid)
_In_ ULONG SecurityDescriptorLength
Definition: rtlfuncs.h:1738
NTSYSAPI BOOLEAN NTAPI RtlCutoverTimeToSystemTime(_In_ PTIME_FIELDS CutoverTimeFields, _Out_ PLARGE_INTEGER SystemTime, _In_ PLARGE_INTEGER CurrentTime, _In_ BOOLEAN ThisYearsCutoverOnly)
NTSYSAPI NTSTATUS NTAPI RtlFindMessage(_In_ PVOID BaseAddress, _In_ ULONG Type, _In_ ULONG Language, _In_ ULONG MessageId, _Out_ PMESSAGE_RESOURCE_ENTRY *MessageResourceEntry)
NTSYSAPI NTSTATUS NTAPI RtlAddAccessDeniedAce(_Inout_ PACL Acl, _In_ ULONG Revision, _In_ ACCESS_MASK AccessMask, _In_ PSID Sid)
NTSYSAPI NTSTATUS NTAPI RtlDeleteTimerQueue(HANDLE TimerQueue)
Definition: timerqueue.c:102
PSLIST_ENTRY FASTCALL InterlockedPushListSList(_Inout_ PSLIST_HEADER ListHead, _Inout_ __drv_aliasesMem PSLIST_ENTRY List, _Inout_ PSLIST_ENTRY ListEnd, _In_ ULONG Count)
NTSYSAPI NTSTATUS NTAPI RtlDeregisterWait(_In_ HANDLE hWaitHandle)
NTSYSAPI NTSTATUS NTAPI RtlCopyRangeList(_Out_ PRTL_RANGE_LIST CopyRangeList, _In_ PRTL_RANGE_LIST RangeList)
NTSYSAPI NTSTATUS NTAPI RtlMakeSelfRelativeSD(_In_ PSECURITY_DESCRIPTOR AbsoluteSD, _Out_ PSECURITY_DESCRIPTOR SelfRelativeSD, _Inout_ PULONG BufferLength)
NTSYSAPI NTSTATUS NTAPI RtlAppendUnicodeToString(PUNICODE_STRING Destination, PCWSTR Source)
NTSYSAPI NTSTATUS NTAPI RtlDeleteAtomFromAtomTable(_In_ PRTL_ATOM_TABLE AtomTable, _In_ RTL_ATOM Atom)
NTSYSAPI VOID NTAPI RtlGetDefaultCodePage(_Out_ PUSHORT AnsiCodePage, _Out_ PUSHORT OemCodePage)
NTSYSAPI PRTL_USER_PROCESS_PARAMETERS NTAPI RtlDeNormalizeProcessParams(_In_ PRTL_USER_PROCESS_PARAMETERS ProcessParameters)
NTSYSAPI ULONG NTAPI DbgPrompt(_In_z_ PCCH Prompt, _Out_writes_bytes_(MaximumResponseLength) PCH Response, _In_ ULONG MaximumResponseLength)
NTSYSAPI NTSTATUS NTAPI RtlCreateTimer(_In_ HANDLE TimerQueue, _In_ PHANDLE phNewTimer, _In_ WAITORTIMERCALLBACKFUNC Callback, _In_ PVOID Parameter, _In_ ULONG DueTime, _In_ ULONG Period, _In_ ULONG Flags)
NTSYSAPI NTSTATUS NTAPI RtlAddAccessDeniedAceEx(_Inout_ PACL Acl, _In_ ULONG Revision, _In_ ULONG Flags, _In_ ACCESS_MASK AccessMask, _In_ PSID Sid)
NTSYSAPI NTSTATUS NTAPI RtlSetAttributesSecurityDescriptor(_Inout_ PSECURITY_DESCRIPTOR SecurityDescriptor, _In_ SECURITY_DESCRIPTOR_CONTROL Control, _Out_ PULONG Revision)
NTSYSAPI NTSTATUS NTAPI RtlDeleteAce(PACL Acl, ULONG AceIndex)
NTSYSAPI VOID NTAPI RtlInitializeResource(_In_ PRTL_RESOURCE Resource)
_In_ ULONG Revision
Definition: rtlfuncs.h:1154
NTSYSAPI PRTL_USER_PROCESS_PARAMETERS NTAPI RtlNormalizeProcessParams(_In_ PRTL_USER_PROCESS_PARAMETERS ProcessParameters)
NTSYSAPI VOID NTAPI RtlMapGenericMask(PACCESS_MASK AccessMask, PGENERIC_MAPPING GenericMapping)
_In_ const STRING * Source
Definition: rtlfuncs.h:2457
NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
NTSYSAPI NTSTATUS NTAPI RtlIntegerToChar(_In_ ULONG Value, _In_ ULONG Base, _In_ ULONG Length, _Out_ PCHAR String)
NTSYSAPI ULONG NTAPI RtlxUnicodeStringToAnsiSize(IN PCUNICODE_STRING UnicodeString)
Definition: unicode.c:2177
NTSYSAPI NTSTATUS NTAPI RtlCreateSecurityDescriptorRelative(_Out_ PISECURITY_DESCRIPTOR_RELATIVE SecurityDescriptor, _In_ ULONG Revision)
*BytesInUnicodeString PWCH _In_ ULONG _Out_opt_ PULONG _In_ ULONG BytesInMultiByteString
Definition: rtlfuncs.h:2615
NTSYSAPI NTSTATUS NTAPI RtlGetDaclSecurityDescriptor(_In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _Out_ PBOOLEAN DaclPresent, _Out_ PACL *Dacl, _Out_ PBOOLEAN DaclDefaulted)
NTSYSAPI ULONG NTAPI RtlIsCriticalSectionLockedByThread(_In_ PRTL_CRITICAL_SECTION CriticalSection)
NTSYSAPI NTSTATUS NTAPI RtlGetOwnerSecurityDescriptor(_In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _Out_ PSID *Owner, _Out_ PBOOLEAN OwnerDefaulted)
NTSYSAPI NTSTATUS NTAPI RtlUpcaseUnicodeToOemN(PCHAR OemString, ULONG OemSize, PULONG ResultSize, PCWCH UnicodeString, ULONG UnicodeSize)
_Inout_opt_ POEM_STRING OemName
Definition: rtlfuncs.h:3128
NTSYSAPI ULONG NTAPI RtlIsCriticalSectionLocked(_In_ PRTL_CRITICAL_SECTION CriticalSection)
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG DaclSize
Definition: rtlfuncs.h:1618
_In_ ULONG UncompressedBufferSize
Definition: rtlfuncs.h:3319
NTSYSAPI VOID NTAPI RtlCopyString(_Out_ PSTRING DestinationString, _In_opt_ const STRING *SourceString)
NTSYSAPI VOID NTAPI RtlInitializeContext(_In_ HANDLE ProcessHandle, _Out_ PCONTEXT ThreadContext, _In_opt_ PVOID ThreadStartParam, _In_ PTHREAD_START_ROUTINE ThreadStartAddress, _In_ PINITIAL_TEB InitialTeb)
NTSYSAPI BOOLEAN NTAPI RtlEqualSid(_In_ PSID Sid1, _In_ PSID Sid2)
NTSYSAPI BOOLEAN NTAPI RtlAcquireResourceExclusive(_In_ PRTL_RESOURCE Resource, _In_ BOOLEAN Wait)
NTSYSAPI VOID NTAPI RtlCopyUnicodeString(PUNICODE_STRING DestinationString, PCUNICODE_STRING SourceString)
_In_ ULONG _In_ ACCESS_MASK AccessMask
Definition: rtlfuncs.h:1155
VOID NTAPI DbgUnLoadImageSymbols(_In_ PSTRING Name, _In_ PVOID Base, _In_ ULONG_PTR ProcessId)
NTSYSAPI BOOLEAN NTAPI RtlIsThreadWithinLoaderCallout(VOID)
Definition: libsupp.c:347
NTSYSAPI NTSTATUS NTAPI RtlUnicodeToOemN(PCHAR OemString, ULONG OemSize, PULONG ResultSize, PCWCH UnicodeString, ULONG UnicodeSize)
NTSYSAPI NTSTATUS NTAPI RtlSleepConditionVariableSRW(_Inout_ PRTL_CONDITION_VARIABLE ConditionVariable, _Inout_ PRTL_SRWLOCK SRWLock, _In_opt_ PLARGE_INTEGER TimeOut, _In_ ULONG Flags)
NTSYSAPI BOOLEAN NTAPI RtlEqualUnicodeString(PCUNICODE_STRING String1, PCUNICODE_STRING String2, BOOLEAN CaseInsensitive)
NTSYSAPI VOID NTAPI RtlCaptureContext(_Out_ PCONTEXT ContextRecord)
NTSYSAPI NTSTATUS NTAPI RtlDeleteTimerQueueEx(_In_ HANDLE TimerQueue, _In_opt_ HANDLE CompletionEvent)
NTSYSAPI BOOLEAN NTAPI RtlValidSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor)
Definition: sd.c:1054
*BytesInUnicodeString PWCH _In_ ULONG _Out_opt_ PULONG _In_ ULONG BytesInOemString
Definition: rtlfuncs.h:2077
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressA(_In_ PCSTR String, _Out_ PCSTR *Terminator, _Out_ struct in6_addr *Addr)
Definition: network.c:725
#define RTL_STACK_WALKING_MODE_FRAMES_TO_SKIP_SHIFT
Definition: rtlfuncs.h:832
NTSYSAPI WCHAR NTAPI RtlDowncaseUnicodeChar(IN WCHAR Source)
Definition: nls.c:131
NTSYSAPI BOOLEAN NTAPI RtlFirstFreeAce(PACL Acl, PACE *Ace)
NTSYSAPI NTSTATUS NTAPI RtlAdjustPrivilege(_In_ ULONG Privilege, _In_ BOOLEAN NewValue, _In_ BOOLEAN ForThread, _Out_ PBOOLEAN OldValue)
VOID NTAPI RtlReleaseSRWLockShared(IN OUT PRTL_SRWLOCK SRWLock)
Definition: srw.c:526
NTSYSAPI BOOLEAN NTAPI RtlDosPathNameToRelativeNtPathName_U(_In_ PCWSTR DosName, _Out_ PUNICODE_STRING NtName, _Out_ PCWSTR *PartName, _Out_ PRTL_RELATIVE_NAME_U RelativeName)
NTSYSAPI NTSTATUS NTAPI RtlQueryEnvironmentVariable_U(_In_opt_ PWSTR Environment, _In_ PCUNICODE_STRING Name, _Out_ PUNICODE_STRING Value)
NTSYSAPI NTSTATUS NTAPI RtlAddAccessDeniedObjectAce(_Inout_ PACL pAcl, _In_ ULONG dwAceRevision, _In_ ULONG AceFlags, _In_ ACCESS_MASK AccessMask, _In_opt_ GUID *ObjectTypeGuid, _In_opt_ GUID *InheritedObjectTypeGuid, _In_ PSID pSid)
VOID NTAPI RtlAcquireSRWLockShared(IN OUT PRTL_SRWLOCK SRWLock)
Definition: srw.c:325
NTSYSAPI VOID NTAPI RtlDeleteResource(_In_ PRTL_RESOURCE Resource)
NTSYSAPI NTSTATUS NTAPI RtlIpv4StringToAddressW(_In_ PCWSTR String, _In_ BOOLEAN Strict, _Out_ PCWSTR *Terminator, _Out_ struct in_addr *Addr)
Definition: network.c:385
NTSYSAPI VOID NTAPI RtlFreeRangeList(_In_ PRTL_RANGE_LIST RangeList)
NTSYSAPI PSTR NTAPI RtlIpv4AddressToStringA(_In_ const struct in_addr *Addr, _Out_writes_(16) PCHAR S)
NTSYSAPI ULONG NTAPI RtlGetCurrentDirectory_U(_In_ ULONG MaximumLength, _Out_bytecap_(MaximumLength) PWSTR Buffer)
Definition: path.c:1661
NTSYSAPI NTSTATUS NTAPI RtlQueryAtomInAtomTable(_In_ PRTL_ATOM_TABLE AtomTable, _In_ RTL_ATOM Atom, _Out_opt_ PULONG RefCount, _Out_opt_ PULONG PinCount, _Out_opt_z_bytecap_(*NameLength) PWSTR AtomName, _Inout_opt_ PULONG NameLength)
NTSYSAPI VOID NTAPI RtlSecondsSince1970ToTime(_In_ ULONG SecondsSince1970, _Out_ PLARGE_INTEGER Time)
NTSYSAPI ULONG NTAPI RtlxOemStringToUnicodeSize(IN PCOEM_STRING OemString)
Definition: unicode.c:2124
_In_ PWSTR Path
Definition: rtlfuncs.h:4169
_In_ PSID_IDENTIFIER_AUTHORITY IdentifierAuthority
Definition: rtlfuncs.h:1537
NTSYSAPI ULONG NTAPI RtlGetCurrentProcessorNumber(VOID)
Definition: process.c:491
NTSYSAPI NTSTATUS NTAPI RtlNtPathNameToDosPathName(_In_ ULONG Flags, _Inout_ PRTL_UNICODE_STRING_BUFFER Path, _Out_opt_ PULONG PathType, _Out_opt_ PULONG Unknown)
_In_ BOOLEAN _In_opt_ PACL _In_opt_ BOOLEAN DaclDefaulted
Definition: rtlfuncs.h:1662
NTSYSAPI NTSTATUS NTAPI RtlIpv4StringToAddressExW(_In_ PCWSTR AddressString, _In_ BOOLEAN Strict, _Out_ struct in_addr *Address, _Out_ PUSHORT Port)
Definition: network.c:430
*BytesInUnicodeString PWCH _In_ ULONG MaxBytesInUnicodeString
Definition: rtlfuncs.h:2073
NTSYSAPI BOOLEAN NTAPI RtlDosPathNameToNtPathName_U(_In_opt_z_ PCWSTR DosPathName, _Out_ PUNICODE_STRING NtPathName, _Out_opt_ PCWSTR *NtFileNamePart, _Out_opt_ PRTL_RELATIVE_NAME_U DirectoryInfo)
_In_ ULONG _Out_ PRTL_HANDLE_TABLE_ENTRY * Handle
Definition: rtlfuncs.h:3906
NTSYSAPI BOOLEAN NTAPI RtlAreAllAccessesGranted(ACCESS_MASK GrantedAccess, ACCESS_MASK DesiredAccess)
NTSYSAPI NTSTATUS NTAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString, PCANSI_STRING SourceString, BOOLEAN AllocateDestinationString)
NTSYSAPI NTSTATUS NTAPI RtlUpcaseUnicodeToMultiByteN(PCHAR MbString, ULONG MbSize, PULONG ResultSize, PCWCH UnicodeString, ULONG UnicodeSize)
NTSYSAPI PWSTR NTAPI RtlIpv6AddressToStringW(_In_ const struct in6_addr *Addr, _Out_writes_(46) PWSTR S)
NTSYSAPI NTSTATUS NTAPI RtlCharToInteger(PCSZ String, ULONG Base, PULONG Value)
Definition: unicode.c:261
VOID NTAPI DbgLoadImageSymbols(_In_ PSTRING Name, _In_ PVOID Base, _In_ ULONG_PTR ProcessId)
NTSYSAPI VOID NTAPI RtlRaiseException(_In_ PEXCEPTION_RECORD ExceptionRecord)
NTSYSAPI BOOLEAN NTAPI RtlDoesFileExists_U(_In_ PCWSTR FileName)
NTSYSAPI NTSTATUS __cdecl RtlSetProcessIsCritical(_In_ BOOLEAN NewValue, _Out_opt_ PBOOLEAN OldValue, _In_ BOOLEAN NeedBreaks)
NTSYSAPI WCHAR NTAPI RtlUpcaseUnicodeChar(WCHAR Source)
NTSYSAPI NTSTATUS NTAPI RtlUpdateTimer(_In_ HANDLE TimerQueue, _In_ HANDLE Timer, _In_ ULONG DueTime, _In_ ULONG Period)
NTSYSAPI BOOLEAN NTAPI RtlAreAnyAccessesGranted(ACCESS_MASK GrantedAccess, ACCESS_MASK DesiredAccess)
NTSYSAPI VOID NTAPI RtlReleaseResource(_In_ PRTL_RESOURCE Resource)
NTSYSAPI NTSTATUS NTAPI RtlComputePrivatizedDllName_U(_In_ PUNICODE_STRING DllName, _Inout_ PUNICODE_STRING RealName, _Inout_ PUNICODE_STRING LocalName)
Definition: path.c:586
NTSTATUS(NTAPI * PRTL_START_POOL_THREAD)(_In_ PTHREAD_START_ROUTINE Function, _In_ PVOID Parameter, _Out_ PHANDLE ThreadHandle)
Definition: rtltypes.h:574
@ HeapCompatibilityInformation
Definition: rtltypes.h:482
enum _RTL_BSD_ITEM_TYPE RTL_BSD_ITEM_TYPE
NTSTATUS(NTAPI * PRTL_EXIT_POOL_THREAD)(_In_ NTSTATUS ExitStatus)
Definition: rtltypes.h:581
ULONG(NTAPI * PTHREAD_START_ROUTINE)(PVOID Parameter)
Definition: rtltypes.h:560
VOID(NTAPI * WAITORTIMERCALLBACKFUNC)(PVOID pvContext, BOOLEAN fTimerOrWaitFired)
Definition: rtltypes.h:490
LONG(NTAPI * PVECTORED_EXCEPTION_HANDLER)(PEXCEPTION_POINTERS ExceptionPointers)
Definition: rtltypes.h:499
BOOLEAN(NTAPI * PRTL_CONFLICT_RANGE_CALLBACK)(PVOID Context, struct _RTL_RANGE *Range)
Definition: rtltypes.h:697
RTLP_UNHANDLED_EXCEPTION_FILTER * PRTLP_UNHANDLED_EXCEPTION_FILTER
Definition: rtltypes.h:546
enum _RTL_PATH_TYPE RTL_PATH_TYPE
enum _HEAP_INFORMATION_CLASS HEAP_INFORMATION_CLASS
VOID(NTAPI * WORKERCALLBACKFUNC)(_In_ PVOID Context)
Definition: rtltypes.h:507
_Use_decl_annotations_ NTSTATUS NTAPI RtlMultiByteToUnicodeN(_Out_ PWCH UnicodeString, _In_ ULONG UnicodeSize, _Out_opt_ PULONG ResultSize, _In_ PCCH MbString, _In_ ULONG MbSize)
Definition: nlsboot.c:62
_Use_decl_annotations_ NTSTATUS NTAPI RtlOemToUnicodeN(_Out_ PWCHAR UnicodeString, _In_ ULONG UnicodeSize, _Out_opt_ PULONG ResultSize, _In_ PCCH OemString, _In_ ULONG OemSize)
Definition: nlsboot.c:282
_Use_decl_annotations_ NTSTATUS NTAPI RtlMultiByteToUnicodeSize(_Out_ PULONG UnicodeSize, _In_ PCCH MbString, _In_ ULONG MbSize)
Definition: nlsboot.c:93
#define _Pre_unknown_
Definition: no_sal2.h:98
#define _In_reads_bytes_(s)
Definition: no_sal2.h:170
#define _In_reads_(s)
Definition: no_sal2.h:168
#define _Out_opt_
Definition: no_sal2.h:214
#define _Notnull_
Definition: no_sal2.h:54
#define _Inout_
Definition: no_sal2.h:162
#define _Ret_maybenull_
Definition: no_sal2.h:328
#define _Success_(c)
Definition: no_sal2.h:84
#define _At_(t, a)
Definition: no_sal2.h:40
#define _In_z_
Definition: no_sal2.h:164
#define _Check_return_
Definition: no_sal2.h:60
#define _In_opt_z_
Definition: no_sal2.h:218
#define _Outptr_
Definition: no_sal2.h:262
#define _Out_range_(l, h)
Definition: no_sal2.h:370
#define _On_failure_(a)
Definition: no_sal2.h:88
#define _Post_writable_byte_size_(s)
Definition: no_sal2.h:542
#define _Outptr_opt_result_maybenull_
Definition: no_sal2.h:268
#define _Maybenull_
Definition: no_sal2.h:56
#define _Valid_
Definition: no_sal2.h:80
#define _Out_writes_bytes_to_(s, c)
Definition: no_sal2.h:190
#define _Post_invalid_
Definition: no_sal2.h:524
#define _Inout_opt_
Definition: no_sal2.h:216
#define _Must_inspect_result_
Definition: no_sal2.h:62
#define _Out_writes_(s)
Definition: no_sal2.h:176
#define _Out_
Definition: no_sal2.h:160
#define _In_reads_opt_(s)
Definition: no_sal2.h:222
#define _In_
Definition: no_sal2.h:158
#define _Out_writes_bytes_all_(s)
Definition: no_sal2.h:194
#define _In_opt_
Definition: no_sal2.h:212
#define _Writable_bytes_(s)
Definition: no_sal2.h:70
#define _Out_writes_bytes_to_opt_(s, c)
Definition: no_sal2.h:240
#define _Const_
Definition: no_sal2.h:58
#define _Reserved_
Definition: no_sal2.h:504
#define _Post_equal_to_(e)
Definition: no_sal2.h:384
#define _Out_writes_to_(s, c)
Definition: no_sal2.h:188
#define _In_range_(l, h)
Definition: no_sal2.h:368
#define _Out_writes_bytes_(s)
Definition: no_sal2.h:178
#define _Maybe_raises_SEH_exception_
Definition: no_sal2.h:396
#define _Printf_format_string_
Definition: no_sal2.h:356
#define _Pre_
Definition: no_sal2.h:46
#define _In_reads_bytes_opt_(s)
Definition: no_sal2.h:224
int Count
Definition: noreturn.cpp:7
NTSYSAPI PVOID NTAPI RtlDestroyHeap(IN PVOID HeapHandle)
NTSYSAPI VOID NTAPI RtlFreeAnsiString(PANSI_STRING AnsiString)
NTSYSAPI VOID NTAPI RtlInitString(PSTRING DestinationString, PCSZ SourceString)
ULONG ACCESS_MASK
Definition: nt_native.h:40
ACCESS_MASK * PACCESS_MASK
Definition: nt_native.h:41
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
NTSYSAPI PVOID NTAPI RtlCreateHeap(IN ULONG Flags, IN PVOID HeapBase OPTIONAL, IN ULONG ReserveSize OPTIONAL, IN ULONG CommitSize OPTIONAL, IN PVOID Lock OPTIONAL, IN PRTL_HEAP_PARAMETERS Parameters OPTIONAL)
#define FASTCALL
Definition: nt_native.h:50
NTSYSAPI NTSTATUS NTAPI RtlUnicodeStringToInteger(PUNICODE_STRING String, ULONG Base, PULONG Value)
NTSYSAPI NTSTATUS NTAPI RtlIntegerToUnicodeString(ULONG Value, ULONG Base, PUNICODE_STRING String)
NTSYSAPI LONG NTAPI RtlCompareString(PSTRING String1, PSTRING String2, BOOLEAN CaseInSensitive)
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
NTSYSAPI BOOLEAN NTAPI RtlEqualString(PSTRING String1, PSTRING String2, BOOLEAN CaseInSensitive)
NTSYSAPI BOOLEAN NTAPI RtlPrefixUnicodeString(IN PUNICODE_STRING String1, IN PUNICODE_STRING String2, IN BOOLEAN CaseInSensitive)
NTSYSAPI VOID NTAPI RtlUpperString(PSTRING DestinationString, PSTRING SourceString)
NTSYSAPI VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
VOID(* PIO_APC_ROUTINE)(IN PVOID ApcContext, IN PIO_STATUS_BLOCK IoStatusBlock, IN ULONG Reserved)
Definition: nt_native.h:877
* PLCID
Definition: ntbasedef.h:517
_IRQL_requires_same_ _In_ PVOID EstablisherFrame
Definition: ntbasedef.h:661
WCHAR * PWCH
Definition: ntbasedef.h:418
_IRQL_requires_same_ _In_ PVOID _Inout_ struct _CONTEXT * ContextRecord
Definition: ntbasedef.h:662
CHAR * PCH
Definition: ntbasedef.h:399
CONST WCHAR * PCWCH
Definition: ntbasedef.h:419
__GNU_EXTENSION typedef unsigned __int64 * PULONGLONG
Definition: ntbasedef.h:391
#define DECLSPEC_NORETURN
Definition: ntbasedef.h:176
CONST CHAR * PCCH
Definition: ntbasedef.h:400
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
NTSYSAPI NTSTATUS NTAPI RtlSetGroupSecurityDescriptor(IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor, IN PSID Group, IN BOOLEAN GroupDefaulted)
Definition: sd.c:410
NTSYSAPI NTSTATUS NTAPI RtlConvertSidToUnicodeString(OUT PUNICODE_STRING DestinationString, IN PVOID Sid, IN BOOLEAN AllocateDestinationString)
NTSYSAPI NTSTATUS NTAPI RtlAbsoluteToSelfRelativeSD(IN PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor, IN OUT PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor, IN PULONG BufferLength)
Definition: sd.c:626
NTSYSAPI NTSTATUS NTAPI RtlInitializeSid(IN OUT PSID Sid, IN PSID_IDENTIFIER_AUTHORITY IdentifierAuthority, IN UCHAR SubAuthorityCount)
NTSTATUS NTAPI RtlFindCharInUnicodeString(_In_ ULONG Flags, _In_ PCUNICODE_STRING SearchString, _In_ PCUNICODE_STRING MatchString, _Out_ PUSHORT Position)
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
#define CONST
Definition: pedump.c:81
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
static WCHAR Address[46]
Definition: ping.c:68
#define REFIID
Definition: guiddef.h:118
#define RtlUTF8ToUnicodeN
Definition: reactos.cpp:12
VOID NTAPI RtlAssert(IN PVOID FailedAssertion, IN PVOID FileName, IN ULONG LineNumber, IN PCHAR Message OPTIONAL)
Definition: rtlcompat.c:68
@ Reserved3
Definition: sacdrv.h:1471
@ Reserved4
Definition: sacdrv.h:1472
@ Reserved5
Definition: sacdrv.h:1473
@ Restart
Definition: sacdrv.h:269
DWORD LCID
Definition: nls.h:13
NTSTATUS NTAPI RtlSetInformationAcl(IN PACL Acl, IN PVOID Information, IN ULONG InformationLength, IN ACL_INFORMATION_CLASS InformationClass)
Definition: acl.c:785
NTSTATUS WINAPI RtlActivateActivationContextEx(ULONG flags, TEB *teb, HANDLE handle, ULONG_PTR *cookie)
Definition: actctx.c:5417
NTSTATUS NTAPI RtlLockBootStatusData(_Out_ PHANDLE FileHandle)
Definition: bootdata.c:231
NTSTATUS NTAPI RtlGetSetBootStatusData(_In_ HANDLE FileHandle, _In_ BOOLEAN Read, _In_ RTL_BSD_ITEM_TYPE DataClass, _In_ PVOID Buffer, _In_ ULONG BufferSize, _Out_opt_ PULONG ReturnLength)
Definition: bootdata.c:161
NTSTATUS NTAPI RtlUnlockBootStatusData(_In_ HANDLE FileHandle)
Definition: bootdata.c:267
NTSTATUS NTAPI RtlCreateBootStatusDataFile(VOID)
Definition: bootdata.c:98
VOID NTAPI RtlRunEncodeUnicodeString(IN OUT PUCHAR Hash, IN OUT PUNICODE_STRING String)
Definition: encode.c:43
VOID NTAPI RtlRunDecodeUnicodeString(IN UCHAR Hash, IN OUT PUNICODE_STRING String)
Definition: encode.c:20
VOID NTAPI RtlSetUnhandledExceptionFilter(IN PRTLP_UNHANDLED_EXCEPTION_FILTER TopLevelExceptionFilter)
Definition: exception.c:341
LONG NTAPI RtlUnhandledExceptionFilter(IN struct _EXCEPTION_POINTERS *ExceptionInfo)
Definition: exception.c:313
BOOLEAN NTAPI RtlGetUserInfoHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID BaseAddress, OUT PVOID *UserValue, OUT PULONG UserFlags)
Definition: heap.c:3934
NTSTATUS NTAPI RtlUsageHeap(IN HANDLE Heap, IN ULONG Flags, OUT PRTL_HEAP_USAGE Usage)
Definition: heap.c:4001
ULONG NTAPI RtlMultipleFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN ULONG Count, OUT PVOID *Array)
Definition: heap.c:4167
BOOLEAN NTAPI RtlSetUserFlagsHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID BaseAddress, IN ULONG UserFlagsReset, IN ULONG UserFlagsSet)
Definition: heap.c:3879
PWSTR NTAPI RtlQueryTagHeap(IN PVOID HeapHandle, IN ULONG Flags, IN USHORT TagIndex, IN BOOLEAN ResetCounters, OUT PRTL_HEAP_TAG_INFO HeapTagInfo)
Definition: heap.c:4012
ULONG NTAPI RtlCreateTagHeap(_In_ HANDLE HeapHandle, _In_ ULONG Flags, _In_opt_ PWSTR TagName, _In_ PWSTR TagSubName)
Definition: heap.c:4037
PVOID NTAPI RtlProtectHeap(IN PVOID HeapHandle, IN BOOLEAN ReadOnly)
Definition: heap.c:4058
BOOLEAN NTAPI RtlSetUserValueHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID BaseAddress, IN PVOID UserValue)
Definition: heap.c:3817
ULONG NTAPI RtlExtendHeap(IN HANDLE Heap, IN ULONG Flags, IN PVOID P, IN SIZE_T Size)
Definition: heap.c:4025
ULONG NTAPI RtlMultipleAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size, IN ULONG Count, OUT PVOID *Array)
Definition: heap.c:4131
NTSYSAPI HANDLE NTAPI RtlDebugCreateHeap(ULONG Flags, PVOID Addr, SIZE_T TotalSize, SIZE_T CommitSize, PVOID Lock, PRTL_HEAP_PARAMETERS Parameters)
Definition: heapdbg.c:20
NTSTATUS NTAPI RtlConvertLCIDToString(_In_ LCID LcidValue, _In_ ULONG Base, _In_ ULONG Padding, _Out_writes_(Size) PWSTR pResultBuf, _In_ ULONG Size)
Definition: locale.c:945
BOOLEAN NTAPI RtlIsValidLocaleName(_In_ LPCWSTR LocaleName, _In_ ULONG Flags)
Definition: locale.c:935
NTSTATUS NTAPI RtlLocaleNameToLcid(_In_ PCWSTR LocaleName, _Out_ PLCID Lcid, _In_ ULONG Flags)
Definition: locale.c:872
NTSTATUS NTAPI RtlLcidToLocaleName(_In_ LCID Lcid, _Inout_ PUNICODE_STRING LocaleName, _In_ ULONG Flags, _In_ BOOLEAN AllocateDestinationString)
Definition: locale.c:735
VOID NTAPI RtlInitCodePageTable(IN PUSHORT TableBase, OUT PCPTABLEINFO CodePageTable)
Definition: nls.c:155
PVOID NTAPI RtlEncodeSystemPointer(IN PVOID Pointer)
Definition: process.c:429
PVOID NTAPI RtlDecodeSystemPointer(IN PVOID Pointer)
Definition: process.c:439
NTSTATUS NTAPI RtlpNtSetValueKey(IN HANDLE KeyHandle, IN ULONG Type, IN PVOID Data, IN ULONG DataLength)
Definition: registry.c:988
NTSTATUS NTAPI RtlpNtQueryValueKey(IN HANDLE KeyHandle, OUT PULONG Type OPTIONAL, OUT PVOID Data OPTIONAL, IN OUT PULONG DataLength OPTIONAL, IN ULONG Unused)
Definition: registry.c:933
NTSTATUS NTAPI RtlpNtOpenKey(OUT HANDLE KeyHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, IN ULONG Unused)
Definition: registry.c:912
NTSTATUS NTAPI RtlpNtMakeTemporaryKey(IN HANDLE KeyHandle)
Definition: registry.c:901
VOID NTAPI RtlRunOnceInitialize(_Out_ PRTL_RUN_ONCE RunOnce)
Definition: runonce.c:11
_Maybe_raises_SEH_exception_ NTSTATUS NTAPI RtlRunOnceExecuteOnce(_Inout_ PRTL_RUN_ONCE RunOnce, _In_ __inner_callback PRTL_RUN_ONCE_INIT_FN InitFn, _Inout_opt_ PVOID Parameter, _Outptr_opt_result_maybenull_ PVOID *Context)
Definition: runonce.c:121
NTSTATUS NTAPI RtlRunOnceComplete(_Inout_ PRTL_RUN_ONCE RunOnce, _In_ ULONG Flags, _In_opt_ PVOID Context)
Definition: runonce.c:73
_Must_inspect_result_ NTSTATUS NTAPI RtlRunOnceBeginInitialize(_Inout_ PRTL_RUN_ONCE RunOnce, _In_ ULONG Flags, _Outptr_opt_result_maybenull_ PVOID *Context)
Definition: runonce.c:22
BOOLEAN NTAPI RtlFlushSecureMemoryCache(IN PVOID MemoryCache, IN OPTIONAL SIZE_T MemoryLength)
Definition: security.c:830
NTSTATUS NTAPI RtlRegisterSecureMemoryCacheCallback(IN PRTL_SECURE_MEMORY_CACHE_CALLBACK Callback)
Definition: security.c:819
#define STATUS_SUCCESS
Definition: shellext.h:65
#define __analysis_noreturn
Definition: specstrings.h:262
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
_In_ const GUID _In_ ULONG PinCount
Definition: strmini.h:505
Definition: shell.h:41
base for all directory entries
Definition: entries.h:138
base of all file and directory entries
Definition: entries.h:83
Definition: ncftp.h:89
root entry for file system trees
Definition: entries.h:148
Definition: movable.cpp:9
Definition: rtltypes.h:987
Definition: scsiwmi.h:51
Definition: typedefs.h:120
struct _LIST_ENTRY * Blink
Definition: typedefs.h:122
struct _LIST_ENTRY * Flink
Definition: typedefs.h:121
LONG HighPart
DWORD LowPart
Definition: rtltypes.h:1923
Definition: rtltypes.h:1241
Definition: ntbasedef.h:636
struct _SINGLE_LIST_ENTRY * Next
Definition: ntbasedef.h:637
unsigned short Length
Definition: sprintf.c:451
void * Buffer
Definition: sprintf.c:453
unsigned short MaximumLength
Definition: sprintf.c:452
Definition: compat.h:836
USHORT MaximumLength
Definition: env_spec_w32.h:370
Definition: inet.h:67
Definition: tcpip.h:126
Definition: name.c:39
Definition: range.c:39
static COORD Position
Definition: mouse.c:34
@ Reserved7
Definition: tvratings.idl:14
ULONG_PTR * PSIZE_T
Definition: typedefs.h:80
uint64_t * PDWORD64
Definition: typedefs.h:67
uint16_t * PWSTR
Definition: typedefs.h:56
uint32_t * PULONG_PTR
Definition: typedefs.h:65
uint32_t * PULONG
Definition: typedefs.h:59
char * PSTR
Definition: typedefs.h:51
const uint16_t * PCWSTR
Definition: typedefs.h:57
int64_t LONG64
Definition: typedefs.h:68
unsigned char * PBOOLEAN
Definition: typedefs.h:53
uint64_t DWORD64
Definition: typedefs.h:67
int64_t LONGLONG
Definition: typedefs.h:68
#define NTAPI
Definition: typedefs.h:36
ULONG_PTR SIZE_T
Definition: typedefs.h:80
int32_t INT
Definition: typedefs.h:58
uint16_t * PUSHORT
Definition: typedefs.h:56
const char * PCSTR
Definition: typedefs.h:52
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
uint16_t * PWCHAR
Definition: typedefs.h:56
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
#define OUT
Definition: typedefs.h:40
char CCHAR
Definition: typedefs.h:51
char * PCHAR
Definition: typedefs.h:51
ULONG CLONG
Definition: umtypes.h:126
CONST STRING * PCOEM_STRING
Definition: umtypes.h:205
#define NTAPI_INLINE
Definition: umtypes.h:68
CONST char * PCSZ
Definition: umtypes.h:125
LONGLONG QuadPart
Definition: typedefs.h:114
PEXCEPTION_ROUTINE NTAPI RtlVirtualUnwind(_In_ ULONG HandlerType, _In_ ULONG64 ImageBase, _In_ ULONG64 ControlPc, _In_ PRUNTIME_FUNCTION FunctionEntry, _Inout_ PCONTEXT Context, _Outptr_ PVOID *HandlerData, _Out_ PULONG64 EstablisherFrame, _Inout_opt_ PKNONVOLATILE_CONTEXT_POINTERS ContextPointers)
Definition: unwind.c:478
PRUNTIME_FUNCTION NTAPI RtlLookupFunctionEntry(IN DWORD64 ControlPc, OUT PDWORD64 ImageBase, OUT PUNWIND_HISTORY_TABLE HistoryTable)
Locates the RUNTIME_FUNCTION entry corresponding to a code address. https://learn....
Definition: unwind.c:124
BOOL Privilege(LPTSTR pszPrivilege, BOOL bEnable)
Definition: user_lib.cpp:531
unsigned long Ulong
Definition: utypes.h:42
DECLSPEC_HOTPATCH PVOID NTAPI RtlAddVectoredContinueHandler(IN ULONG FirstHandler, IN PVECTORED_EXCEPTION_HANDLER VectoredHandler)
Definition: vectoreh.c:311
ULONG NTAPI RtlRemoveVectoredContinueHandler(IN PVOID VectoredHandlerHandle)
Definition: vectoreh.c:333
int ret
_In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR Iterator
Definition: wdfchildlist.h:656
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2658
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ ULONG _Out_ PVOID _Out_ PULONG RequiredSize
Definition: wdfdevice.h:4439
_In_ UCHAR _In_ UCHAR _In_ ULONG Code
Definition: wdfdevice.h:1701
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
Definition: wdfdevice.h:3771
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2433
_In_ WDFDMATRANSACTION _In_ size_t MaximumLength
_In_ WDFDPC _In_ BOOLEAN Wait
Definition: wdfdpc.h:170
_In_ WDFINTERRUPT _In_ PFN_WDF_INTERRUPT_SYNCHRONIZE Callback
Definition: wdfinterrupt.h:458
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
Definition: wdfio.h:869
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesWritten
Definition: wdfiotarget.h:960
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesRead
Definition: wdfiotarget.h:870
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
Definition: wdfmemory.h:254
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID * Guid
Definition: wdfobject.h:762
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_opt_ PULONG _Out_opt_ PULONG ValueType
Definition: wdfregistry.h:282
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
Definition: wdfregistry.h:243
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG ValueLength
Definition: wdfregistry.h:275
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413
_In_ WDFIOTARGET Target
Definition: wdfrequest.h:306
_In_ WDFREQUEST _In_ PIO_STACK_LOCATION Stack
Definition: wdfrequest.h:639
_In_ WDFREQUEST _In_ NTSTATUS _In_ ULONG_PTR Information
Definition: wdfrequest.h:1049
_Must_inspect_result_ _In_ WDFCMRESLIST List
Definition: wdfresource.h:550
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
Definition: wdfsync.h:127
_In_ WDFTIMER _In_ LONGLONG DueTime
Definition: wdftimer.h:190
#define FORCEINLINE
Definition: wdftypes.h:67
_In_ WDF_WMI_PROVIDER_CONTROL Control
Definition: wdfwmi.h:166
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
enum _ACL_INFORMATION_CLASS ACL_INFORMATION_CLASS
_In_ ULONG _Out_opt_ PULONG RequiredLength
Definition: wmifuncs.h:30
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
Definition: wmitypes.h:56
_In_ USHORT _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR _Reserved_ ULONG _In_opt_ PVOID _In_opt_ const WSK_CLIENT_CONNECTION_DISPATCH _In_opt_ PEPROCESS _In_opt_ PETHREAD _In_opt_ PSECURITY_DESCRIPTOR SecurityDescriptor
Definition: wsk.h:191
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Definition: wsk.h:409
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
_In_opt_ PVOID _Out_ PLARGE_INTEGER Cookie
Definition: cmfuncs.h:14
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY ListEnd
Definition: exfuncs.h:1224
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList
_In_ CONST DEVPROPKEY _In_ LCID Lcid
Definition: iofuncs.h:2415
_Must_inspect_result_ typedef _Out_ PULONG TableSize
Definition: iotypes.h:4327
_In_ ULONG MaximumResponseLength
Definition: kdfuncs.h:11
_In_ LARGE_INTEGER _In_ ULONG Period
Definition: kefuncs.h:1313
_Out_ PCLIENT_ID ClientId
Definition: kefuncs.h:1151
_Out_ PBOOLEAN _Out_ PBOOLEAN _Out_ PSECURITY_IMPERSONATION_LEVEL ImpersonationLevel
Definition: psfuncs.h:156
NTSYSAPI BOOLEAN NTAPI RtlDeleteElementGenericTable(_In_ PRTL_GENERIC_TABLE Table, _In_ PVOID Buffer)
*UnicodeStringActualByteCount PWSTR _In_ ULONG _Out_ PULONG _In_ ULONG UTF8StringByteCount
Definition: rtlfuncs.h:2680
_In_ LARGE_INTEGER Divisor
Definition: rtlfuncs.h:3061
FORCEINLINE VOID PushEntryList(_Inout_ PSINGLE_LIST_ENTRY ListHead, _Inout_ __drv_aliasesMem PSINGLE_LIST_ENTRY Entry)
Definition: rtlfuncs.h:256
NTSYSAPI PVOID NTAPI RtlInsertElementGenericTable(_In_ PRTL_GENERIC_TABLE Table, _In_reads_bytes_(BufferSize) PVOID Buffer, _In_ CLONG BufferSize, _Out_opt_ PBOOLEAN NewElement)
NTSYSAPI PVOID NTAPI RtlInsertElementGenericTableFull(_In_ PRTL_GENERIC_TABLE Table, _In_reads_bytes_(BufferSize) PVOID Buffer, _In_ CLONG BufferSize, _Out_opt_ PBOOLEAN NewElement, _In_ PVOID NodeOrParent, _In_ TABLE_SEARCH_RESULT SearchResult)
_In_ __inner_callback PRTL_RUN_ONCE_INIT_FN InitFn
Definition: rtlfuncs.h:2550
NTSYSAPI PVOID NTAPI RtlLookupElementGenericTableFullAvl(_In_ PRTL_AVL_TABLE Table, _In_ PVOID Buffer, _Out_ PVOID *NodeOrParent, _Out_ TABLE_SEARCH_RESULT *SearchResult)
_In_ ULONG NumberToFind
Definition: rtlfuncs.h:612
FORCEINLINE LUID NTAPI_INLINE RtlConvertUlongToLuid(_In_ ULONG Val)
Definition: rtlfuncs.h:3558
_Must_inspect_result_ NTSYSAPI PVOID NTAPI RtlLookupFirstMatchingElementGenericTableAvl(_In_ PRTL_AVL_TABLE Table, _In_ PVOID Buffer, _Out_ PVOID *RestartKey)
_Inout_ PUCHAR * CompressedBuffer
Definition: rtlfuncs.h:2291
_Must_inspect_result_ NTSYSAPI PRTL_SPLAY_LINKS NTAPI RtlSubtreeSuccessor(_In_ PRTL_SPLAY_LINKS Links)
_Must_inspect_result_ NTSYSAPI PVOID NTAPI RtlEnumerateGenericTableLikeADirectory(_In_ PRTL_AVL_TABLE Table, _In_opt_ PRTL_AVL_MATCH_FUNCTION MatchFunction, _In_opt_ PVOID MatchData, _In_ ULONG NextFlag, _Inout_ PVOID *RestartKey, _Inout_ PULONG DeleteCount, _In_ PVOID Buffer)
_Out_ PBOOLEAN SaclPresent
Definition: rtlfuncs.h:2430
_In_ ULONG AceRevision
Definition: rtlfuncs.h:1868
*UnicodeStringActualByteCount PWSTR _In_ ULONG UnicodeStringMaxByteCount
Definition: rtlfuncs.h:2677
_Must_inspect_result_ NTSYSAPI BOOLEAN NTAPI RtlIsGenericTableEmpty(_In_ PRTL_GENERIC_TABLE Table)
_In_ SIZE_T _In_ SIZE_T String2Length
Definition: rtlfuncs.h:518
NTSYSAPI PVOID NTAPI RtlLookupElementGenericTableFull(_In_ PRTL_GENERIC_TABLE Table, _In_ PVOID Buffer, _Out_ PVOID *NodeOrParent, _Out_ TABLE_SEARCH_RESULT *SearchResult)
_Must_inspect_result_ NTSYSAPI PVOID NTAPI RtlEnumerateGenericTable(_In_ PRTL_GENERIC_TABLE Table, _In_ BOOLEAN Restart)
_In_ ULONG _In_ ULONG HintIndex
Definition: rtlfuncs.h:613
_In_ ULONG _In_ ULONG _In_ ULONG AceListLength
Definition: rtlfuncs.h:1871
_In_ BOOLEAN _In_ ULONG HashAlgorithm
Definition: rtlfuncs.h:2055
_In_ ULONG _In_ ULONG _Out_ PULONG _In_ PVOID WorkSpace
Definition: rtlfuncs.h:2283
_Must_inspect_result_ NTSYSAPI PVOID NTAPI RtlEnumerateGenericTableWithoutSplayingAvl(_In_ PRTL_AVL_TABLE Table, _Inout_ PVOID *RestartKey)
_In_ LARGE_INTEGER _Out_opt_ PLARGE_INTEGER Remainder
Definition: rtlfuncs.h:3062
_Out_ PBOOLEAN _Out_ PACL _Out_ PBOOLEAN SaclDefaulted
Definition: rtlfuncs.h:2432
_Must_inspect_result_ NTSYSAPI PRTL_SPLAY_LINKS NTAPI RtlRealPredecessor(_In_ PRTL_SPLAY_LINKS Links)
FORCEINLINE PSINGLE_LIST_ENTRY PopEntryList(_Inout_ PSINGLE_LIST_ENTRY ListHead)
Definition: rtlfuncs.h:243
*BytesInOemString PCHAR OemString
Definition: rtlfuncs.h:1577
NTSYSAPI VOID NTAPI RtlFillMemoryUlonglong(_Out_writes_bytes_all_(Length) PVOID Destination, _In_ SIZE_T Length, _In_ ULONGLONG Pattern)
NTSYSAPI PVOID NTAPI RtlInsertElementGenericTableFullAvl(_In_ PRTL_AVL_TABLE Table, _In_reads_bytes_(BufferSize) PVOID Buffer, _In_ CLONG BufferSize, _Out_opt_ PBOOLEAN NewElement, _In_ PVOID NodeOrParent, _In_ TABLE_SEARCH_RESULT SearchResult)
_Out_ PUNICODE_STRING DosName
Definition: rtlfuncs.h:1286
NTSYSAPI PRTL_SPLAY_LINKS NTAPI RtlSplay(_Inout_ PRTL_SPLAY_LINKS Links)
_In_ ULONG StartingIndex
Definition: rtlfuncs.h:398
_Must_inspect_result_ NTSYSAPI PVOID NTAPI RtlGetElementGenericTable(_In_ PRTL_GENERIC_TABLE Table, _In_ ULONG I)
_Must_inspect_result_ NTSYSAPI PVOID NTAPI RtlLookupElementGenericTableAvl(_In_ PRTL_AVL_TABLE Table, _In_ PVOID Buffer)
NTSYSAPI ULONG NTAPI RtlNumberGenericTableElements(_In_ PRTL_GENERIC_TABLE Table)
*UnicodeStringActualByteCount PWSTR UnicodeStringDestination
Definition: rtlfuncs.h:2676
_In_ SIZE_T String1Length
Definition: rtlfuncs.h:516
_In_ PSID Sid2
Definition: rtlfuncs.h:1772
_In_ PRTL_GENERIC_COMPARE_ROUTINE _In_ PRTL_GENERIC_ALLOCATE_ROUTINE _In_ PRTL_GENERIC_FREE_ROUTINE _In_opt_ PVOID TableContext
Definition: rtlfuncs.h:1108
_In_ PRTL_GENERIC_COMPARE_ROUTINE _In_ PRTL_GENERIC_ALLOCATE_ROUTINE _In_ PRTL_GENERIC_FREE_ROUTINE FreeRoutine
Definition: rtlfuncs.h:1107
NTSYSAPI BOOLEAN NTAPI RtlDeleteElementGenericTableAvl(_In_ PRTL_AVL_TABLE Table, _In_ PVOID Buffer)
NTSYSAPI PVOID NTAPI RtlInsertElementGenericTableAvl(_In_ PRTL_AVL_TABLE Table, _In_reads_bytes_(BufferSize) PVOID Buffer, _In_ CLONG BufferSize, _Out_opt_ PBOOLEAN NewElement)
_In_ PRTL_GENERIC_COMPARE_ROUTINE _In_ PRTL_GENERIC_ALLOCATE_ROUTINE AllocateRoutine
Definition: rtlfuncs.h:1106
_In_ ULONG _In_ ULONG AclRevision
Definition: rtlfuncs.h:1860
_In_ ULONG AceIndex
Definition: rtlfuncs.h:1879
_Must_inspect_result_ NTSYSAPI BOOLEAN NTAPI RtlIsGenericTableEmptyAvl(_In_ PRTL_AVL_TABLE Table)
_In_ ULONG _In_ ULONG StartingAceIndex
Definition: rtlfuncs.h:1869
_In_ BOOLEAN _In_ ULONG _Out_ PULONG HashValue
Definition: rtlfuncs.h:2056
*UnicodeStringActualByteCount PWSTR _In_ ULONG _Out_ PULONG UnicodeStringActualByteCount
Definition: rtlfuncs.h:2678
*BytesInMultiByteString PCHAR MultiByteString
Definition: rtlfuncs.h:1544
NTSYSAPI PRTL_SPLAY_LINKS NTAPI RtlDelete(_In_ PRTL_SPLAY_LINKS Links)
_Must_inspect_result_ NTSYSAPI PVOID NTAPI RtlEnumerateGenericTableAvl(_In_ PRTL_AVL_TABLE Table, _In_ BOOLEAN Restart)
_Must_inspect_result_ NTSYSAPI SIZE_T NTAPI RtlCompareMemoryUlong(_In_reads_bytes_(Length) PVOID Source, _In_ SIZE_T Length, _In_ ULONG Pattern)
_Must_inspect_result_ NTSYSAPI PVOID NTAPI RtlLookupElementGenericTable(_In_ PRTL_GENERIC_TABLE Table, _In_ PVOID Buffer)
NTSYSAPI ULONG NTAPI RtlNumberGenericTableElementsAvl(_In_ PRTL_AVL_TABLE Table)
_In_ PRTL_GENERIC_COMPARE_ROUTINE CompareRoutine
Definition: rtlfuncs.h:1105
_Must_inspect_result_ NTSYSAPI PVOID NTAPI RtlEnumerateGenericTableWithoutSplaying(_In_ PRTL_GENERIC_TABLE Table, _Inout_ PVOID *RestartKey)
_Must_inspect_result_ NTSYSAPI PRTL_SPLAY_LINKS NTAPI RtlSubtreePredecessor(_In_ PRTL_SPLAY_LINKS Links)
_Must_inspect_result_ NTSYSAPI PVOID NTAPI RtlGetElementGenericTableAvl(_In_ PRTL_AVL_TABLE Table, _In_ ULONG I)
NTSYSAPI VOID NTAPI RtlDeleteNoSplay(_In_ PRTL_SPLAY_LINKS Links, _Inout_ PRTL_SPLAY_LINKS *Root)
_Must_inspect_result_ NTSYSAPI PRTL_SPLAY_LINKS NTAPI RtlRealSuccessor(_In_ PRTL_SPLAY_LINKS Links)
RTL_AVL_FREE_ROUTINE * PRTL_AVL_FREE_ROUTINE
Definition: rtltypes.h:421
TABLE_SEARCH_RESULT
Definition: rtltypes.h:386
_IRQL_requires_same_ _In_ PVOID _In_ PVOID MatchData
Definition: rtltypes.h:429
RTL_GENERIC_FREE_ROUTINE * PRTL_GENERIC_FREE_ROUTINE
Definition: rtltypes.h:488
#define PSLIST_ENTRY
Definition: rtltypes.h:134
RTL_AVL_MATCH_FUNCTION * PRTL_AVL_MATCH_FUNCTION
Definition: rtltypes.h:430
_Inout_opt_ PVOID Parameter
Definition: rtltypes.h:336
RTL_AVL_ALLOCATE_ROUTINE * PRTL_AVL_ALLOCATE_ROUTINE
Definition: rtltypes.h:413
RTL_GENERIC_COMPARE_ROUTINE * PRTL_GENERIC_COMPARE_ROUTINE
Definition: rtltypes.h:471
* PRTL_RUN_ONCE
Definition: rtltypes.h:327
RTL_GENERIC_ALLOCATE_ROUTINE * PRTL_GENERIC_ALLOCATE_ROUTINE
Definition: rtltypes.h:480
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
_In_opt_ PSECURITY_DESCRIPTOR _Out_ PSECURITY_DESCRIPTOR _In_ BOOLEAN IsDirectoryObject
Definition: sefuncs.h:31
_In_opt_ PSECURITY_DESCRIPTOR _Out_ PSECURITY_DESCRIPTOR * NewDescriptor
Definition: sefuncs.h:30
_In_ PSECURITY_SUBJECT_CONTEXT _In_ BOOLEAN _In_ ACCESS_MASK _In_ ACCESS_MASK _Outptr_opt_ PPRIVILEGE_SET _In_ PGENERIC_MAPPING _In_ KPROCESSOR_MODE _Out_ PACCESS_MASK GrantedAccess
Definition: sefuncs.h:20
* PSID_IDENTIFIER_AUTHORITY
Definition: setypes.h:464
unsigned char UCHAR
Definition: xmlstorage.h:181
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
char CHAR
Definition: xmlstorage.h:175
#define const
Definition: zconf.h:233
_In_ PUNICODE_STRING NewName
Definition: zwfuncs.h:1203
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID _In_ ULONG_PTR _In_ SIZE_T _Inout_opt_ PLARGE_INTEGER _Inout_ PSIZE_T _In_ SECTION_INHERIT _In_ ULONG _In_ ULONG Protect
Definition: zwfuncs.h:221