ReactOS 0.4.15-dev-7788-g1ad9096
winternl.h
Go to the documentation of this file.
1/*
2 * winternl.h
3 *
4 * Windows NT internal data structures and functions
5 *
6 * Note: This header exists only for compatibility with the native SDK.
7 * It's definitions are incomplete and potentially unsuitable.
8 * ReactOS modules should not make use of it!
9 *
10 * USE NDK INSTEAD!
11 *
12 * This file is part of the ReactOS PSDK package.
13 *
14 * Contributors:
15 * Timo Kreuzer (timo.kreuzer@reactos.org)
16 *
17 * THIS SOFTWARE IS NOT COPYRIGHTED
18 *
19 * This source code is offered for use in the public domain. You may
20 * use, modify or distribute it freely.
21 *
22 * This code is distributed in the hope that it will be useful but
23 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
24 * DISCLAIMED. This includes but is not limited to warranties of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
26 *
27 */
28#pragma once
29
30#ifdef __REACTOS__
31#error "Do not use this header, use NDK!"
32#endif
33
34#ifndef _WINTERNL_
35#define _WINTERNL_
36
37//#include <winapifamily.h>
38#include <windef.h>
39
40#ifdef __cplusplus
41extern "C" {
42#endif
43
44typedef _Return_type_success_(return >= 0) LONG NTSTATUS;
45
46#ifndef NT_SUCCESS
47#define NT_SUCCESS(Status) (((NTSTATUS)(Status)) >= 0)
48#endif
49
50#ifndef NT_INFORMATION
51#define NT_INFORMATION(Status) ((((ULONG)(Status)) >> 30) == 1)
52#endif
53
54#ifndef NT_WARNING
55#define NT_WARNING(Status) ((((ULONG)(Status)) >> 30) == 2)
56#endif
57
58#ifndef NT_ERROR
59#define NT_ERROR(Status) ((((ULONG)(Status)) >> 30) == 3)
60#endif
61
62typedef CONST char *PCSZ;
63
64typedef struct _STRING
65{
72typedef PSTRING PCANSI_STRING; // yes, thats the definition from MS!
75typedef const STRING *PCOEM_STRING;
76
77typedef struct _UNICODE_STRING
78{
84
86{
87 BYTE Reserved1[16];
88 PVOID Reserved2[10];
92
93typedef struct _PEB_LDR_DATA
94{
95 BYTE Reserved1[8];
99
100typedef struct _LDR_DATA_TABLE_ENTRY
101{
102 PVOID Reserved1[2];
104 PVOID Reserved2[2];
106 PVOID Reserved3[2];
108 BYTE Reserved4[8];
109 PVOID Reserved5[3];
110 union {
116
117typedef
120 VOID);
121
122typedef struct _PEB
123{
124 BYTE Reserved1[2];
126 BYTE Reserved2[1];
127 PVOID Reserved3[2];
144
145typedef struct _TEB
146{
151 PVOID TlsSlots[64];
153 PVOID Reserved5[26];
158
160{
163
164#define INTERNAL_TS_ACTIVE_CONSOLE_ID (*((volatile ULONG*)0x7ffe02d8))
165#define LOGONID_CURRENT ((ULONG)-1)
166#define SERVERNAME_CURRENT ((HANDLE)NULL)
167
168/* Flags for NtCreateFile and NtOpenFile */
169#define FILE_DIRECTORY_FILE 0x00000001
170#define FILE_WRITE_THROUGH 0x00000002
171#define FILE_SEQUENTIAL_ONLY 0x00000004
172#define FILE_NO_INTERMEDIATE_BUFFERING 0x00000008
173#define FILE_SYNCHRONOUS_IO_ALERT 0x00000010
174#define FILE_SYNCHRONOUS_IO_NONALERT 0x00000020
175#define FILE_NON_DIRECTORY_FILE 0x00000040
176#define FILE_CREATE_TREE_CONNECTION 0x00000080
177#define FILE_COMPLETE_IF_OPLOCKED 0x00000100
178#define FILE_NO_EA_KNOWLEDGE 0x00000200
179#define FILE_OPEN_REMOTE_INSTANCE 0x00000400
180#define FILE_RANDOM_ACCESS 0x00000800
181#define FILE_DELETE_ON_CLOSE 0x00001000
182#define FILE_OPEN_BY_FILE_ID 0x00002000
183#define FILE_OPEN_FOR_BACKUP_INTENT 0x00004000
184#define FILE_NO_COMPRESSION 0x00008000
185#if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
186#define FILE_OPEN_REQUIRING_OPLOCK 0x00010000
187#endif
188#define FILE_RESERVE_OPFILTER 0x00100000
189#define FILE_OPEN_REPARSE_POINT 0x00200000
190#define FILE_OPEN_NO_RECALL 0x00400000
191#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000
192
193/* Status for NtCreateFile or NtOpenFile */
194#define FILE_SUPERSEDED 0x00000000
195#define FILE_OPENED 0x00000001
196#define FILE_CREATED 0x00000002
197#define FILE_OVERWRITTEN 0x00000003
198#define FILE_EXISTS 0x00000004
199#define FILE_DOES_NOT_EXIST 0x00000005
200
201#define FILE_VALID_OPTION_FLAGS 0x00ffffff
202#define FILE_VALID_PIPE_OPTION_FLAGS 0x00000032
203#define FILE_VALID_MAILSLOT_OPTION_FLAGS 0x00000032
204#define FILE_VALID_SET_FLAGS 0x00000036
205
206/* Disposition for NtCreateFile */
207#define FILE_SUPERSEDE 0x00000000
208#define FILE_OPEN 0x00000001
209#define FILE_CREATE 0x00000002
210#define FILE_OPEN_IF 0x00000003
211#define FILE_OVERWRITE 0x00000004
212#define FILE_OVERWRITE_IF 0x00000005
213#define FILE_MAXIMUM_DISPOSITION 0x00000005
214
215typedef struct _OBJECT_ATTRIBUTES
216{
224
225#define OBJ_INHERIT 0x00000002L
226#define OBJ_PERMANENT 0x00000010L
227#define OBJ_EXCLUSIVE 0x00000020L
228#define OBJ_CASE_INSENSITIVE 0x00000040L
229#define OBJ_OPENIF 0x00000080L
230#define OBJ_OPENLINK 0x00000100L
231#define OBJ_KERNEL_HANDLE 0x00000200L
232#define OBJ_FORCE_ACCESS_CHECK 0x00000400L
233#define OBJ_VALID_ATTRIBUTES 0x000007F2L
234
235#ifndef InitializeObjectAttributes
236#define InitializeObjectAttributes(p, n, a, r, s) \
237{ \
238 (p)->Length = sizeof(OBJECT_ATTRIBUTES); \
239 (p)->RootDirectory = r; \
240 (p)->Attributes = a; \
241 (p)->ObjectName = n; \
242 (p)->SecurityDescriptor = s; \
243 (p)->SecurityQualityOfService = NULL; \
244}
245#endif
246
247typedef struct _IO_STATUS_BLOCK {
248 union {
252
255
259NTAPI
272
276NTAPI
284
288NTAPI
291
292typedef
298
302NTAPI
314
318NTAPI
323
327NTAPI
331
335NTAPI
337 _In_ HANDLE MasterKeyHandle,
339 _In_reads_opt_(Count) OBJECT_ATTRIBUTES SubordinateObjects[],
349
350typedef struct _KEY_VALUE_ENTRY
351{
355 ULONG Type;
357
361NTAPI
364 _Inout_updates_(EntryCount) PKEY_VALUE_ENTRY ValueEntries,
365 _In_ ULONG EntryCount,
368 _Out_opt_ PULONG RequiredBufferLength);
369
371{
380
384NTAPI
388 KEY_SET_INFORMATION_CLASS KeySetInformationClass,
391
393{
400
402{
409
413NTAPI
416 _In_ PROCESSINFOCLASS ProcessInformationClass,
417 _Out_ PVOID ProcessInformation,
418 _In_ ULONG ProcessInformationLength,
420
422{
425
429NTAPI
431 _In_ HANDLE ThreadHandle,
433 _Out_ PVOID ThreadInformation,
436
438{
442
444{
451
453{
457
462NTAPI
469
471{
483
484typedef struct _SYSTEM_BASIC_INFORMATION
485{
490
492{
493#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8)
495#elif (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
496 BYTE Reserved1[328];
497#else
498 BYTE Reserved1[312];
499#endif
501
503{
506
507typedef struct _SYSTEM_PROCESS_INFORMATION
508{
521
523{
530
532{
535
537{
540
542{
547
549{
552
554{
558
562NTAPI
564 _In_ SYSTEM_INFORMATION_CLASS SystemInformationClass,
565 _Out_ PVOID SystemInformation,
566 _In_ ULONG InformationLength,
568
570{
573
575{
580
581typedef
584 HANDLE,
585 ULONG,
587 PVOID,
588 ULONG,
589 PULONG);
590
594NTAPI
596 _Out_ PLARGE_INTEGER SystemTime);
597
598#define RtlMoveMemory(Dest,Source,Length) memmove((Dest),(Source),(Length))
599#define RtlFillMemory(Dest,Length,Fill) memset((Dest),(Fill),(Length))
600#define RtlZeroMemory(Dest,Length) RtlFillMemory((Dest),(Length),0)
601
602VOID
603NTAPI
607
608VOID
609NTAPI
613
614VOID
615NTAPI
619
620VOID
621NTAPI
624
625VOID
626NTAPI
629
630VOID
631NTAPI
634
636NTAPI
641
643NTAPI
648
650NTAPI
655
657NTAPI
662
664NTAPI
666 PCSZ String,
667 ULONG Base,
668 PULONG Value);
669
671NTAPI
676
678NTAPI
680 IN PLARGE_INTEGER LocalTime,
681 _Out_ PLARGE_INTEGER SystemTime);
682
684NTAPI
688
691ULONG
692NTAPI
695
697NTAPI
700 PSID Sid,
702
703ULONG
704NTAPI
706 PULONG Seed);
707
708
709#ifdef __cplusplus
710}
711#endif
712
713#endif /* _WINTERNL_ */
_OBJECT_INFORMATION_CLASS
Definition: DriverTester.h:53
NTSTATUS NtQueryObject(IN HANDLE Handle, IN OBJECT_INFO_CLASS ObjectInformationClass, OUT PVOID ObjectInformation, IN ULONG ObjectInformationLength, OUT PULONG ReturnLength)
unsigned char BOOLEAN
#define VOID
Definition: acefi.h:82
LONG NTSTATUS
Definition: precomp.h:26
VOID(NTAPI * PPS_POST_PROCESS_INIT_ROUTINE)(VOID)
Definition: btrfs_drv.h:1905
Definition: bufpool.h:45
IN CINT OUT PVOID ObjectInformation
Definition: conport.c:48
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:36
_THREADINFOCLASS
Definition: compat.h:934
enum _THREADINFOCLASS THREADINFOCLASS
Definition: thread.c:101
@ AnsiString
Definition: dnslib.h:19
_In_ PIO_STACK_LOCATION _Inout_ PFILE_OBJECT _Inout_ PVCB _Outptr_result_maybenull_ PDCB _In_ PDCB _In_ PDIRENT _In_ ULONG _In_ ULONG _In_ PUNICODE_STRING _In_ PACCESS_MASK _In_ USHORT ShareAccess
Definition: create.c:4147
#define _IRQL_requires_max_(irql)
Definition: driverspecs.h:230
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
IN PVCB IN PDIRENT OUT PULONG EaLength
Definition: fatprocs.h:878
IN PFCB IN PFILE_OBJECT FileObject IN ULONG AllocationSize
Definition: fatprocs.h:322
IN PDCB IN POEM_STRING OemName
Definition: fatprocs.h:1304
_SYSTEM_INFORMATION_CLASS
Definition: ntddk_ex.h:10
enum _SYSTEM_INFORMATION_CLASS SYSTEM_INFORMATION_CLASS
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE _In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG FileAttributes
Definition: fltkernel.h:1236
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE FileHandle
Definition: fltkernel.h:1231
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING _In_ BOOLEAN _In_ BOOLEAN _In_ ULONG CompletionFilter
Definition: fltkernel.h:2243
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING _In_ BOOLEAN WatchTree
Definition: fltkernel.h:2241
std::wstring STRING
Definition: fontsub.cpp:33
_FILE_INFORMATION_CLASS
Definition: from_kernel.h:61
ULONG Handle
Definition: gdb_input.c:15
Status
Definition: gdiplustypes.h:25
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryInformationThread(_In_ HANDLE ThreadHandle, _In_ THREADINFOCLASS ThreadInformationClass, _Out_ PVOID ThreadInformation, _In_ ULONG ThreadInformationLength, _Out_opt_ PULONG ReturnLength)
struct _PUBLIC_OBJECT_BASIC_INFORMATION PUBLIC_OBJECT_BASIC_INFORMATION
@ FileDirectoryInformation
Definition: winternl.h:161
struct _SYSTEM_TIMEOFDAY_INFORMATION SYSTEM_TIMEOFDAY_INFORMATION
_In_ OBJECT_INFORMATION_CLASS ObjectInformationClass
Definition: winternl.h:465
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtRenameKey(_In_ HANDLE KeyHandle, _In_ PUNICODE_STRING NewName)
NTSTATUS NTAPI RtlUnicodeStringToOemString(POEM_STRING DestinationString, PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtDeviceIoControlFile(_In_ HANDLE FileHandle, _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE ApcRoutine, _In_opt_ PVOID ApcContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG IoControlCode, _In_reads_bytes_opt_(InputBufferLength) PVOID InputBuffer, _In_ ULONG InputBufferLength, _Out_writes_bytes_opt_(OutputBufferLength) PVOID OutputBuffer, _In_ ULONG OutputBufferLength)
VOID(NTAPI * PPS_POST_PROCESS_INIT_ROUTINE)(VOID)
Definition: winternl.h:119
struct _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
struct _STRING * PSTRING
struct _SYSTEM_LOOKASIDE_INFORMATION SYSTEM_LOOKASIDE_INFORMATION
BOOLEAN(WINAPI * PWINSTATIONQUERYINFORMATIONW)(HANDLE, ULONG, WINSTATIONINFOCLASS, PVOID, ULONG, PULONG)
Definition: winternl.h:583
VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtNotifyChangeMultipleKeys(_In_ HANDLE MasterKeyHandle, _In_opt_ ULONG Count, _In_reads_opt_(Count) OBJECT_ATTRIBUTES SubordinateObjects[], _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE ApcRoutine, _In_opt_ PVOID ApcContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG CompletionFilter, _In_ BOOLEAN WatchTree, _Out_writes_bytes_opt_(BufferSize) PVOID Buffer, _In_ ULONG BufferSize, _In_ BOOLEAN Asynchronous)
_When_(Status< 0, _Out_range_(>, 0)) _When_(Status >=0
const STRING * PCOEM_STRING
Definition: winternl.h:75
struct _SYSTEM_REGISTRY_QUOTA_INFORMATION SYSTEM_REGISTRY_QUOTA_INFORMATION
ULONG NTAPI RtlUniform(PULONG Seed)
VOID NTAPI RtlFreeOemString(POEM_STRING OemString)
struct _SYSTEM_BASIC_INFORMATION * PSYSTEM_BASIC_INFORMATION
enum _KEY_SET_INFORMATION_CLASS KEY_SET_INFORMATION_CLASS
PSTRING PCANSI_STRING
Definition: winternl.h:72
struct __PUBLIC_OBJECT_TYPE_INFORMATION * PPUBLIC_OBJECT_TYPE_INFORMATION
struct _WINSTATIONINFORMATIONW * PWINSTATIONINFORMATIONW
struct _RTL_USER_PROCESS_PARAMETERS RTL_USER_PROCESS_PARAMETERS
VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
enum _OBJECT_INFORMATION_CLASS OBJECT_INFORMATION_CLASS
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtOpenFile(_Out_ PHANDLE FileHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG ShareAccess, _In_ ULONG OpenOptions)
struct _TEB * PTEB
enum _THREADINFOCLASS THREADINFOCLASS
NTSTATUS NTAPI RtlConvertSidToUnicodeString(PUNICODE_STRING UnicodeString, PSID Sid, BOOLEAN AllocateDestinationString)
enum _FILE_INFORMATION_CLASS FILE_INFORMATION_CLASS
struct _SYSTEM_PERFORMANCE_INFORMATION * PSYSTEM_PERFORMANCE_INFORMATION
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtSetInformationKey(_In_ HANDLE KeyHandle, _In_ _Strict_type_match_ KEY_SET_INFORMATION_CLASS KeySetInformationClass, _In_reads_bytes_(KeySetInformationLength) PVOID KeySetInformation, _In_ ULONG KeySetInformationLength)
struct _SYSTEM_BASIC_INFORMATION SYSTEM_BASIC_INFORMATION
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtCreateFile(_Out_ PHANDLE FileHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_opt_ PLARGE_INTEGER AllocationSize, _In_ ULONG FileAttributes, _In_ ULONG ShareAccess, _In_ ULONG CreateDisposition, _In_ ULONG CreateOptions, _In_reads_bytes_opt_(EaLength) PVOID EaBuffer, _In_ ULONG EaLength)
struct _KEY_VALUE_ENTRY KEY_VALUE_ENTRY
struct _LDR_DATA_TABLE_ENTRY * PLDR_DATA_TABLE_ENTRY
struct _IO_STATUS_BLOCK IO_STATUS_BLOCK
@ ThreadIsIoPending
Definition: winternl.h:423
_In_ OBJECT_INFORMATION_CLASS _In_ ULONG _Out_opt_ PULONG ReturnLength
Definition: winternl.h:468
struct _LDR_DATA_TABLE_ENTRY LDR_DATA_TABLE_ENTRY
struct _SYSTEM_EXCEPTION_INFORMATION SYSTEM_EXCEPTION_INFORMATION
BOOLEAN NTAPI RtlTimeToSecondsSince1970(PLARGE_INTEGER Time, PULONG ElapsedSeconds)
struct _OBJECT_ATTRIBUTES * POBJECT_ATTRIBUTES
struct _PEB_LDR_DATA * PPEB_LDR_DATA
VOID(NTAPI * PIO_APC_ROUTINE)(_In_ PVOID ApcContext, _In_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG Reserved)
Definition: winternl.h:294
struct _PUBLIC_OBJECT_BASIC_INFORMATION * PPUBLIC_OBJECT_BASIC_INFORMATION
@ ObjectTypeInformation
Definition: winternl.h:440
@ ObjectBasicInformation
Definition: winternl.h:439
struct _KEY_VALUE_ENTRY * PKEY_VALUE_ENTRY
NTSTATUS NTAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString, PCANSI_STRING SourceString, BOOLEAN AllocateDestinationString)
STRING OEM_STRING
Definition: winternl.h:73
struct _PEB * PPEB
struct _IO_STATUS_BLOCK * PIO_STATUS_BLOCK
struct _SYSTEM_INTERRUPT_INFORMATION * PSYSTEM_INTERRUPT_INFORMATION
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryInformationProcess(_In_ HANDLE ProcessHandle, _In_ PROCESSINFOCLASS ProcessInformationClass, _Out_ PVOID ProcessInformation, _In_ ULONG ProcessInformationLength, _Out_opt_ PULONG ReturnLength)
Definition: query.c:59
@ KeyWriteTimeInformation
Definition: winternl.h:372
@ KeySetVirtualizationInformation
Definition: winternl.h:375
@ KeyControlFlagsInformation
Definition: winternl.h:374
@ KeySetDebugInformation
Definition: winternl.h:376
@ KeyWow64FlagsInformation
Definition: winternl.h:373
@ KeySetHandleTagsInformation
Definition: winternl.h:377
@ MaxKeySetInfoClass
Definition: winternl.h:378
_WINSTATIONINFOCLASS
Definition: winternl.h:570
@ WinStationInformation
Definition: winternl.h:571
struct _WINSTATIONINFORMATIONW WINSTATIONINFORMATIONW
_PROCESSINFOCLASS
Definition: winternl.h:393
@ ProcessDebugPort
Definition: winternl.h:395
@ ProcessBreakOnTermination
Definition: winternl.h:398
@ ProcessBasicInformation
Definition: winternl.h:394
@ ProcessWow64Information
Definition: winternl.h:396
@ ProcessImageFileName
Definition: winternl.h:397
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQuerySystemInformation(_In_ SYSTEM_INFORMATION_CLASS SystemInformationClass, _Out_ PVOID SystemInformation, _In_ ULONG InformationLength, _Out_opt_ PULONG ResultLength)
struct _SYSTEM_TIMEOFDAY_INFORMATION * PSYSTEM_TIMEOFDAY_INFORMATION
struct _PROCESS_BASIC_INFORMATION * PPROCESS_BASIC_INFORMATION
struct _UNICODE_STRING * PUNICODE_STRING
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtClose(_In_ HANDLE Handle)
CONST char * PCSZ
Definition: winternl.h:62
struct _RTL_USER_PROCESS_PARAMETERS * PRTL_USER_PROCESS_PARAMETERS
struct _SYSTEM_POLICY_INFORMATION * PSYSTEM_POLICY_INFORMATION
NTSTATUS NTAPI RtlCharToInteger(PCSZ String, ULONG Base, PULONG Value)
Definition: unicode.c:261
BOOLEAN NTAPI RtlIsNameLegalDOS8Dot3(_In_ PUNICODE_STRING Name, _Inout_opt_ POEM_STRING OemName, _Inout_opt_ PBOOLEAN NameContainsSpaces)
enum _WINSTATIONINFOCLASS WINSTATIONINFOCLASS
VOID NTAPI RtlFreeAnsiString(PANSI_STRING AnsiString)
NTSTATUS NTAPI RtlLocalTimeToSystemTime(IN PLARGE_INTEGER LocalTime, _Out_ PLARGE_INTEGER SystemTime)
struct _SYSTEM_POLICY_INFORMATION SYSTEM_POLICY_INFORMATION
struct _TEB TEB
PSTRING POEM_STRING
Definition: winternl.h:74
struct _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION * PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
struct _SYSTEM_PROCESS_INFORMATION * PSYSTEM_PROCESS_INFORMATION
struct _UNICODE_STRING UNICODE_STRING
struct _OBJECT_ATTRIBUTES OBJECT_ATTRIBUTES
struct _SYSTEM_PERFORMANCE_INFORMATION SYSTEM_PERFORMANCE_INFORMATION
NTSTATUS NTAPI RtlUnicodeStringToAnsiString(PANSI_STRING DestinationString, PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
struct _SYSTEM_INTERRUPT_INFORMATION SYSTEM_INTERRUPT_INFORMATION
struct _STRING STRING
struct _SYSTEM_REGISTRY_QUOTA_INFORMATION * PSYSTEM_REGISTRY_QUOTA_INFORMATION
VOID NTAPI RtlInitString(PSTRING DestinationString, PCSZ SourceString)
VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
STRING ANSI_STRING
Definition: winternl.h:70
struct _SYSTEM_LOOKASIDE_INFORMATION * PSYSTEM_LOOKASIDE_INFORMATION
@ SystemTimeOfDayInformation
Definition: winternl.h:474
@ SystemExceptionInformation
Definition: winternl.h:478
@ SystemBasicInformation
Definition: winternl.h:472
@ SystemLookasideInformation
Definition: winternl.h:480
@ SystemRegistryQuotaInformation
Definition: winternl.h:479
@ SystemInterruptInformation
Definition: winternl.h:477
@ SystemPolicyInformation
Definition: winternl.h:481
@ SystemProcessInformation
Definition: winternl.h:475
@ SystemPerformanceInformation
Definition: winternl.h:473
@ SystemProcessorPerformanceInformation
Definition: winternl.h:476
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQuerySystemTime(_Out_ PLARGE_INTEGER SystemTime)
struct _SYSTEM_EXCEPTION_INFORMATION * PSYSTEM_EXCEPTION_INFORMATION
NTSTATUS NTAPI RtlUnicodeToMultiByteSize(_Out_ PULONG BytesInMultiByteString, _In_reads_bytes_(BytesInUnicodeString) PWCH UnicodeString, _In_ ULONG BytesInUnicodeString)
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryMultipleValueKey(_In_ HANDLE KeyHandle, _Inout_updates_(EntryCount) PKEY_VALUE_ENTRY ValueEntries, _In_ ULONG EntryCount, _Out_writes_bytes_(*BufferLength) PVOID ValueBuffer, _Inout_ PULONG BufferLength, _Out_opt_ PULONG RequiredBufferLength)
enum _PROCESSINFOCLASS PROCESSINFOCLASS
Definition: loader.c:63
enum _SYSTEM_INFORMATION_CLASS SYSTEM_INFORMATION_CLASS
struct _SYSTEM_PROCESS_INFORMATION SYSTEM_PROCESS_INFORMATION
struct _PEB PEB
struct _PROCESS_BASIC_INFORMATION PROCESS_BASIC_INFORMATION
struct _PEB_LDR_DATA PEB_LDR_DATA
_In_ OBJECT_INFORMATION_CLASS _In_ ULONG ObjectInformationLength
Definition: winternl.h:467
PSTRING PANSI_STRING
Definition: winternl.h:71
struct __PUBLIC_OBJECT_TYPE_INFORMATION PUBLIC_OBJECT_TYPE_INFORMATION
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtWaitForSingleObject(_In_ HANDLE Object, _In_ BOOLEAN Alertable, _In_opt_ PLARGE_INTEGER Timeout)
const UNICODE_STRING * PCUNICODE_STRING
Definition: winternl.h:83
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
static OUT PIO_STATUS_BLOCK IoStatusBlock
Definition: pipe.c:75
static PLARGE_INTEGER Time
Definition: time.c:105
#define _Out_opt_
Definition: ms_sal.h:346
#define _In_reads_bytes_(size)
Definition: ms_sal.h:321
#define _Inout_
Definition: ms_sal.h:378
#define _Out_writes_bytes_(size)
Definition: ms_sal.h:350
#define _Out_range_(lb, ub)
Definition: ms_sal.h:572
#define _Inout_updates_(size)
Definition: ms_sal.h:387
#define _Return_type_success_(expr)
Definition: ms_sal.h:263
#define _Inout_opt_
Definition: ms_sal.h:379
#define _Out_
Definition: ms_sal.h:345
#define _In_reads_opt_(size)
Definition: ms_sal.h:320
#define _Strict_type_match_
Definition: ms_sal.h:2954
#define _In_
Definition: ms_sal.h:308
#define _In_reads_bytes_opt_(size)
Definition: ms_sal.h:322
#define _In_opt_
Definition: ms_sal.h:309
#define _Out_writes_bytes_opt_(size)
Definition: ms_sal.h:351
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE _Out_ PUINT _In_ UINT _In_ NDIS_HANDLE _In_ NDIS_HANDLE _In_ PNDIS_STRING _In_ UINT OpenOptions
Definition: ndis.h:6017
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
Definition: ndis.h:4715
_In_ PVOID _In_ BOOLEAN Alertable
Definition: exfuncs.h:453
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID ApcContext
Definition: iofuncs.h:727
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE ApcRoutine
Definition: iofuncs.h:726
_In_ HANDLE ProcessHandle
Definition: mmfuncs.h:403
_In_ THREADINFOCLASS _In_ ULONG ThreadInformationLength
Definition: psfuncs.h:843
_In_ THREADINFOCLASS ThreadInformationClass
Definition: psfuncs.h:840
_Out_ _Inout_ POEM_STRING _In_ PCUNICODE_STRING SourceString
Definition: rtlfuncs.h:1910
_Inout_opt_ POEM_STRING _Out_opt_ PBOOLEAN NameContainsSpaces
Definition: rtlfuncs.h:3091
*BytesInUnicodeString PWCH _In_ ULONG _Out_opt_ PULONG BytesInUnicodeString
Definition: rtlfuncs.h:2035
_In_ PSID _In_ BOOLEAN AllocateDestinationString
Definition: rtlfuncs.h:1349
_In_opt_ ULONG Base
Definition: rtlfuncs.h:2439
_Out_ _Inout_ POEM_STRING DestinationString
Definition: rtlfuncs.h:1909
_In_ ULONG _In_ ACCESS_MASK _In_ PSID Sid
Definition: rtlfuncs.h:1133
_Out_ PULONG ElapsedSeconds
Definition: rtlfuncs.h:4646
*BytesInUnicodeString PWCH _In_ ULONG _Out_opt_ PULONG _In_ ULONG BytesInMultiByteString
Definition: rtlfuncs.h:2576
int Count
Definition: noreturn.cpp:7
enum _KEY_SET_INFORMATION_CLASS KEY_SET_INFORMATION_CLASS
ULONG ACCESS_MASK
Definition: nt_native.h:40
_KEY_SET_INFORMATION_CLASS
Definition: nt_native.h:1140
WCHAR * PWCH
Definition: ntbasedef.h:410
#define NTSYSCALLAPI
Definition: ntbasedef.h:204
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
_In_ SYSTEM_POWER_STATE _In_ ULONG _In_ BOOLEAN Asynchronous
Definition: ntpoapi.h:305
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
#define CONST
Definition: pedump.c:81
#define BOOLEAN
Definition: pedump.c:73
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
static ULONG Timeout
Definition: ping.c:61
#define __kernel_entry
Definition: specstrings.h:355
ULONG_PTR Information
Definition: winternl.h:253
union _IO_STATUS_BLOCK::@3343 DUMMYUNIONNAME
Definition: nt_native.h:1172
PUNICODE_STRING ValueName
Definition: nt_native.h:1173
ULONG DataLength
Definition: nt_native.h:1174
ULONG DataOffset
Definition: nt_native.h:1175
ULONG Type
Definition: nt_native.h:1176
Definition: btrfs_drv.h:1876
BYTE Reserved4[8]
Definition: btrfs_drv.h:1883
PVOID Reserved1[2]
Definition: btrfs_drv.h:1877
UNICODE_STRING FullDllName
Definition: btrfs_drv.h:1882
PVOID DllBase
Definition: btrfs_drv.h:1880
LIST_ENTRY InMemoryOrderLinks
Definition: btrfs_drv.h:1878
ULONG TimeDateStamp
Definition: btrfs_drv.h:1889
PVOID Reserved3[2]
Definition: btrfs_drv.h:1881
PVOID Reserved5[3]
Definition: btrfs_drv.h:1884
PVOID Reserved6
Definition: btrfs_drv.h:1887
PVOID Reserved2[2]
Definition: btrfs_drv.h:1879
union _LDR_DATA_TABLE_ENTRY::@3342 DUMMYUNIONNAME
ULONG CheckSum
Definition: btrfs_drv.h:1886
Definition: typedefs.h:120
HANDLE RootDirectory
Definition: umtypes.h:184
PVOID SecurityQualityOfService
Definition: umtypes.h:188
PUNICODE_STRING ObjectName
Definition: umtypes.h:185
PVOID SecurityDescriptor
Definition: umtypes.h:187
BYTE Reserved1[8]
Definition: btrfs_drv.h:1893
PVOID Reserved2[3]
Definition: btrfs_drv.h:1894
LIST_ENTRY InMemoryOrderModuleList
Definition: btrfs_drv.h:1895
ULONG Reserved8
Definition: winternl.h:135
PVOID Reserved5[52]
Definition: btrfs_drv.h:1915
ULONG Reserved6
Definition: winternl.h:133
PVOID Reserved3[2]
Definition: btrfs_drv.h:1911
PPEB_LDR_DATA Ldr
Definition: btrfs_drv.h:1912
BYTE Reserved11[128]
Definition: winternl.h:140
PPS_POST_PROCESS_INIT_ROUTINE PostProcessInitRoutine
Definition: btrfs_drv.h:1916
ULONG SessionId
Definition: btrfs_drv.h:1919
PRTL_USER_PROCESS_PARAMETERS ProcessParameters
Definition: btrfs_drv.h:1913
BYTE Reserved2[1]
Definition: btrfs_drv.h:1910
PVOID AtlThunkSListPtr
Definition: winternl.h:131
BYTE Reserved1[2]
Definition: btrfs_drv.h:1908
BYTE Reserved4[104]
Definition: btrfs_drv.h:1914
BYTE BeingDebugged
Definition: btrfs_drv.h:1909
PVOID Reserved7[1]
Definition: btrfs_drv.h:1918
PVOID Reserved9[45]
Definition: winternl.h:137
BYTE Reserved10[96]
Definition: winternl.h:138
ULONG AtlThunkSListPtr32
Definition: winternl.h:136
PVOID Reserved12[1]
Definition: winternl.h:141
UNICODE_STRING CommandLine
Definition: btrfs_drv.h:1902
UNICODE_STRING ImagePathName
Definition: btrfs_drv.h:1901
LARGE_INTEGER Reserved6[6]
Definition: winternl.h:519
Definition: compat.h:836
PVOID Reserved6[4]
Definition: winternl.h:155
PVOID Reserved5[3]
Definition: compat.h:893
PVOID Reserved1[12]
Definition: winternl.h:147
PVOID Reserved2[399]
Definition: winternl.h:149
PVOID TlsExpansionSlots
Definition: winternl.h:156
PVOID TlsSlots[64]
Definition: compat.h:879
BYTE Reserved4[8]
Definition: winternl.h:152
PVOID ReservedForOle
Definition: compat.h:891
PPEB ProcessEnvironmentBlock
Definition: ntddk_ex.h:337
BYTE Reserved3[1952]
Definition: winternl.h:150
USHORT MaximumLength
Definition: env_spec_w32.h:370
BYTE Reserved3[1140]
Definition: winternl.h:578
uint16_t * PWSTR
Definition: typedefs.h:56
uint32_t * PULONG
Definition: typedefs.h:59
const uint16_t * PCWSTR
Definition: typedefs.h:57
unsigned char * PBOOLEAN
Definition: typedefs.h:53
#define NTAPI
Definition: typedefs.h:36
void * PVOID
Definition: typedefs.h:50
PVOID HANDLE
Definition: typedefs.h:73
ULONG_PTR SIZE_T
Definition: typedefs.h:80
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
char CCHAR
Definition: typedefs.h:51
char * PCHAR
Definition: typedefs.h:51
CONST char * PCSZ
Definition: umtypes.h:125
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength
Definition: wdfdevice.h:3776
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2658
_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_ WDFREQUEST _In_ size_t _In_ size_t _In_ ULONG IoControlCode
Definition: wdfio.h:325
_In_ WDFREQUEST _In_ size_t OutputBufferLength
Definition: wdfio.h:320
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
Definition: wdfio.h:322
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
Definition: wdfiotarget.h:863
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
Definition: wdfiotarget.h:953
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
Definition: wdfmemory.h:254
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_ ULONG _Out_opt_ PULONG CreateDisposition
Definition: wdfregistry.h:120
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_ ULONG CreateOptions
Definition: wdfregistry.h:118
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
#define WINAPI
Definition: msvc.h:6
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG _In_ ULONG _In_ ULONG _In_ ULONG _In_opt_ PVOID EaBuffer
Definition: iofuncs.h:845
*BytesInOemString PCHAR OemString
Definition: rtlfuncs.h:1560
unsigned char BYTE
Definition: xxhash.c:193
_In_ _In_ ULONG KeySetInformationLength
Definition: zwfuncs.h:1213
_In_ PUNICODE_STRING NewName
Definition: zwfuncs.h:1203