ReactOS  0.4.15-dev-994-ga9f6032
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
41 extern "C" {
42 #endif
43 
44 typedef _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 
62 typedef CONST char *PCSZ;
63 
64 typedef struct _STRING
65 {
66  USHORT Length;
68  PCHAR Buffer;
69 } STRING, *PSTRING;
72 typedef PSTRING PCANSI_STRING; // yes, thats the definition from MS!
75 typedef const STRING *PCOEM_STRING;
76 
77 typedef struct _UNICODE_STRING
78 {
79  USHORT Length;
81  PWSTR Buffer;
84 
85 typedef struct _RTL_USER_PROCESS_PARAMETERS
86 {
87  BYTE Reserved1[16];
88  PVOID Reserved2[10];
92 
93 typedef struct _PEB_LDR_DATA
94 {
95  BYTE Reserved1[8];
96  PVOID Reserved2[3];
99 
100 typedef struct _LDR_DATA_TABLE_ENTRY
101 {
102  PVOID Reserved1[2];
104  PVOID Reserved2[2];
105  PVOID DllBase;
106  PVOID Reserved3[2];
108  BYTE Reserved4[8];
109  PVOID Reserved5[3];
110  union {
111  ULONG CheckSum;
113  } DUMMYUNIONNAME;
116 
117 typedef
118 VOID
120  VOID);
121 
122 typedef struct _PEB
123 {
124  BYTE Reserved1[2];
126  BYTE Reserved2[1];
127  PVOID Reserved3[2];
143 } PEB, *PPEB;
144 
145 typedef struct _TEB
146 {
151  PVOID TlsSlots[64];
153  PVOID Reserved5[26];
157 } TEB, *PTEB;
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 
215 typedef struct _OBJECT_ATTRIBUTES
216 {
217  ULONG Length;
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 
247 typedef struct _IO_STATUS_BLOCK {
248  union {
251  } DUMMYUNIONNAME;
252 
255 
258 NTSTATUS
259 NTAPI
272 
275 NTSTATUS
276 NTAPI
277 NtOpenFile(
284 
287 NTSTATUS
288 NTAPI
289 NtClose(
290  _In_ HANDLE Handle);
291 
292 typedef
293 VOID
298 
301 NTSTATUS
302 NTAPI
314 
317 NTSTATUS
318 NTAPI
323 
326 NTSTATUS
327 NTAPI
331 
334 NTSTATUS
335 NTAPI
337  _In_ HANDLE MasterKeyHandle,
339  _In_reads_opt_(Count) OBJECT_ATTRIBUTES SubordinateObjects[],
349 
350 typedef struct _KEY_VALUE_ENTRY
351 {
355  ULONG Type;
357 
360 NTSTATUS
361 NTAPI
364  _Inout_updates_(EntryCount) PKEY_VALUE_ENTRY ValueEntries,
365  _In_ ULONG EntryCount,
366  _Out_writes_bytes_(*BufferLength) PVOID ValueBuffer,
368  _Out_opt_ PULONG RequiredBufferLength);
369 
371 {
380 
383 NTSTATUS
384 NTAPI
388  KEY_SET_INFORMATION_CLASS KeySetInformationClass,
391 
392 typedef enum _PROCESSINFOCLASS
393 {
400 
402 {
409 
412 NTSTATUS
413 NTAPI
416  _In_ PROCESSINFOCLASS ProcessInformationClass,
417  _Out_ PVOID ProcessInformation,
418  _In_ ULONG ProcessInformationLength,
420 
421 typedef enum _THREADINFOCLASS
422 {
425 
428 NTSTATUS
429 NTAPI
431  _In_ HANDLE ThreadHandle,
433  _Out_ PVOID ThreadInformation,
436 
438 {
442 
444 {
451 
453 {
457 
461 NTSTATUS
462 NTAPI
469 
471 {
483 
484 typedef struct _SYSTEM_BASIC_INFORMATION
485 {
490 
491 typedef struct _SYSTEM_PERFORMANCE_INFORMATION
492 {
495 
496 typedef struct _SYSTEM_TIMEOFDAY_INFORMATION
497 {
500 
501 typedef struct _SYSTEM_PROCESS_INFORMATION
502 {
515 
517 {
524 
525 typedef struct _SYSTEM_INTERRUPT_INFORMATION
526 {
529 
530 typedef struct _SYSTEM_EXCEPTION_INFORMATION
531 {
534 
536 {
541 
542 typedef struct _SYSTEM_LOOKASIDE_INFORMATION
543 {
546 
548 {
552 
555 NTSTATUS
556 NTAPI
558  _In_ SYSTEM_INFORMATION_CLASS SystemInformationClass,
559  _Out_ PVOID SystemInformation,
560  _In_ ULONG InformationLength,
562 
564 {
567 
569 {
574 
575 typedef
576 BOOLEAN
578  HANDLE,
579  ULONG,
581  PVOID,
582  ULONG,
583  PULONG);
584 
587 NTSTATUS
588 NTAPI
590  _Out_ PLARGE_INTEGER SystemTime);
591 
592 #define RtlMoveMemory(Dest,Source,Length) memmove((Dest),(Source),(Length))
593 #define RtlFillMemory(Dest,Length,Fill) memset((Dest),(Fill),(Length))
594 #define RtlZeroMemory(Dest,Length) RtlFillMemory((Dest),(Length),0)
595 
596 VOID
597 NTAPI
601 
602 VOID
603 NTAPI
607 
608 VOID
609 NTAPI
613 
614 VOID
615 NTAPI
618 
619 VOID
620 NTAPI
623 
624 VOID
625 NTAPI
628 
629 NTSTATUS
630 NTAPI
635 
636 NTSTATUS
637 NTAPI
642 
643 NTSTATUS
644 NTAPI
649 
650 NTSTATUS
651 NTAPI
656 
657 NTSTATUS
658 NTAPI
660  PCSZ String,
661  ULONG Base,
662  PULONG Value);
663 
664 BOOLEAN
665 NTAPI
670 
671 NTSTATUS
672 NTAPI
674  IN PLARGE_INTEGER LocalTime,
675  _Out_ PLARGE_INTEGER SystemTime);
676 
677 BOOLEAN
678 NTAPI
682 
683 _When_(Status < 0, _Out_range_(>, 0))
684 _When_(Status >= 0, _Out_range_(==, 0))
685 ULONG
686 NTAPI
689 
690 NTSTATUS
691 NTAPI
694  PSID Sid,
696 
697 ULONG
698 NTAPI
699 RtlUniform(
700  PULONG Seed);
701 
702 
703 #ifdef __cplusplus
704 }
705 #endif
706 
707 #endif /* _WINTERNL_ */
enum _SYSTEM_INFORMATION_CLASS SYSTEM_INFORMATION_CLASS
IN CINT OUT PVOID IN ULONG OUT PULONG ResultLength
Definition: conport.c:47
struct _TEB TEB
struct _SYSTEM_BASIC_INFORMATION SYSTEM_BASIC_INFORMATION
signed char * PCHAR
Definition: retypes.h:7
_SYSTEM_INFORMATION_CLASS
Definition: ntddk_ex.h:10
_When_(Status< 0, _Out_range_(>, 0)) _When_(Status >=0
CONST char * PCSZ
Definition: umtypes.h:125
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:35
*BytesInOemString PCHAR OemString
Definition: rtlfuncs.h:1561
_In_ PVOID _In_ BOOLEAN Alertable
Definition: exfuncs.h:452
enum _THREADINFOCLASS THREADINFOCLASS
BYTE Reserved4[104]
Definition: btrfs_drv.h:1960
PVOID Reserved12[1]
Definition: winternl.h:141
const uint16_t * PCWSTR
Definition: typedefs.h:57
#define IN
Definition: typedefs.h:39
BOOLEAN NTAPI RtlIsNameLegalDOS8Dot3(_In_ PUNICODE_STRING Name, _Inout_opt_ POEM_STRING OemName, _Inout_opt_ PBOOLEAN NameContainsSpaces)
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID ApcContext
Definition: iofuncs.h:719
PPEB ProcessEnvironmentBlock
Definition: ntddk_ex.h:337
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG IoControlCode
Definition: fltkernel.h:1383
_Inout_opt_ POEM_STRING _Out_opt_ PBOOLEAN NameContainsSpaces
Definition: rtlfuncs.h:3023
_In_ OBJECT_INFORMATION_CLASS _In_ ULONG ObjectInformationLength
Definition: winternl.h:467
enum _SYSTEM_INFORMATION_CLASS SYSTEM_INFORMATION_CLASS
_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:6013
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
Definition: ndis.h:4711
USHORT MaximumLength
Definition: env_spec_w32.h:370
PSTRING POEM_STRING
Definition: winternl.h:74
PVOID AtlThunkSListPtr
Definition: winternl.h:131
enum _WINSTATIONINFOCLASS WINSTATIONINFOCLASS
uint16_t * PWSTR
Definition: typedefs.h:56
#define _In_reads_bytes_opt_(size)
Definition: no_sal2.h:230
struct _PUBLIC_OBJECT_BASIC_INFORMATION PUBLIC_OBJECT_BASIC_INFORMATION
PVOID Reserved2[399]
Definition: winternl.h:149
_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:835
LONG NTSTATUS
Definition: precomp.h:26
struct _SYSTEM_EXCEPTION_INFORMATION SYSTEM_EXCEPTION_INFORMATION
_In_opt_ ULONG Base
Definition: rtlfuncs.h:2373
LIST_ENTRY InMemoryOrderModuleList
Definition: btrfs_drv.h:1941
ULONG DataLength
Definition: nt_native.h:1174
PVOID Reserved9[45]
Definition: winternl.h:137
__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)
BYTE Reserved2[1]
Definition: btrfs_drv.h:1956
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQuerySystemInformation(_In_ SYSTEM_INFORMATION_CLASS SystemInformationClass, _Out_ PVOID SystemInformation, _In_ ULONG InformationLength, _Out_opt_ PULONG ResultLength)
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ ULONG _In_ ULONG OutputBufferLength
Definition: fltkernel.h:1374
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
Definition: exfuncs.h:1173
unsigned short Length
Definition: sprintf.c:451
VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
typedef _Return_type_success_(return >=0) LONG NTSTATUS
BYTE BeingDebugged
Definition: btrfs_drv.h:1955
struct _OBJECT_ATTRIBUTES OBJECT_ATTRIBUTES
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING _In_ BOOLEAN WatchTree
Definition: fltkernel.h:2239
struct _OBJECT_ATTRIBUTES * POBJECT_ATTRIBUTES
struct _TEB * PTEB
struct __PUBLIC_OBJECT_TYPE_INFORMATION * PPUBLIC_OBJECT_TYPE_INFORMATION
struct _UNICODE_STRING UNICODE_STRING
#define NTSYSCALLAPI
Definition: ntbasedef.h:204
NTSTATUS NTAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString, PCANSI_STRING SourceString, BOOLEAN AllocateDestinationString)
struct _WINSTATIONINFORMATIONW WINSTATIONINFORMATIONW
IN CINT OUT PVOID ObjectInformation
Definition: conport.c:47
enum _FILE_INFORMATION_CLASS FILE_INFORMATION_CLASS
static WCHAR String[]
Definition: stringtable.c:55
PRTL_USER_PROCESS_PARAMETERS ProcessParameters
Definition: btrfs_drv.h:1959
ULONG Reserved6
Definition: winternl.h:133
VOID NTAPI RtlInitString(PSTRING DestinationString, PCSZ SourceString)
struct _SYSTEM_REGISTRY_QUOTA_INFORMATION * PSYSTEM_REGISTRY_QUOTA_INFORMATION
struct _LDR_DATA_TABLE_ENTRY LDR_DATA_TABLE_ENTRY
ULONG_PTR Information
Definition: winternl.h:253
ULONG NTAPI RtlUniform(PULONG Seed)
_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:4137
struct _PEB * PPEB
CHAR InputBuffer[80]
Definition: conmgr.c:33
#define _In_opt_
Definition: no_sal2.h:213
BYTE Reserved4[8]
Definition: winternl.h:152
enum _OBJECT_INFORMATION_CLASS OBJECT_INFORMATION_CLASS
struct _SYSTEM_INTERRUPT_INFORMATION * PSYSTEM_INTERRUPT_INFORMATION
IN UCHAR Value
Definition: halp.h:394
uint32_t ULONG_PTR
Definition: typedefs.h:65
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtWaitForSingleObject(_In_ HANDLE Object, _In_ BOOLEAN Alertable, _In_opt_ PLARGE_INTEGER Timeout)
struct _SYSTEM_BASIC_INFORMATION * PSYSTEM_BASIC_INFORMATION
BYTE Reserved3[1952]
Definition: winternl.h:150
PVOID DllBase
Definition: btrfs_drv.h:1926
struct _SYSTEM_PERFORMANCE_INFORMATION * PSYSTEM_PERFORMANCE_INFORMATION
HANDLE FileHandle
Definition: stats.c:38
PVOID Reserved5[3]
Definition: compat.h:641
void * Buffer
Definition: sprintf.c:453
enum _PROCESSINFOCLASS PROCESSINFOCLASS
Definition: loader.c:63
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
struct _SYSTEM_LOOKASIDE_INFORMATION SYSTEM_LOOKASIDE_INFORMATION
_In_ SYSTEM_POWER_STATE _In_ ULONG _In_ BOOLEAN Asynchronous
Definition: ntpoapi.h:303
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
PVOID Reserved3[2]
Definition: btrfs_drv.h:1957
PSTRING PANSI_STRING
Definition: winternl.h:71
PUNICODE_STRING ValueName
Definition: nt_native.h:1173
struct _STRING * PSTRING
struct _IO_STATUS_BLOCK IO_STATUS_BLOCK
BYTE Reserved10[96]
Definition: winternl.h:138
long LONG
Definition: pedump.c:60
struct _WINSTATIONINFORMATIONW * PWINSTATIONINFORMATIONW
NTSYSAPI NTSTATUS WINAPI NtQueryObject(HANDLE, OBJECT_INFORMATION_CLASS, PVOID, ULONG, PULONG)
NTSTATUS NTAPI RtlUnicodeToMultiByteSize(_Out_ PULONG BytesInMultiByteString, _In_reads_bytes_(BytesInUnicodeString) PWCH UnicodeString, _In_ ULONG BytesInUnicodeString)
struct _SYSTEM_LOOKASIDE_INFORMATION * PSYSTEM_LOOKASIDE_INFORMATION
struct _UNICODE_STRING * PUNICODE_STRING
STRING ANSI_STRING
Definition: winternl.h:70
__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)
_In_ THREADINFOCLASS ThreadInformationClass
Definition: psfuncs.h:832
enum _KEY_SET_INFORMATION_CLASS KEY_SET_INFORMATION_CLASS
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQuerySystemTime(_Out_ PLARGE_INTEGER SystemTime)
struct _SYSTEM_PROCESS_INFORMATION * PSYSTEM_PROCESS_INFORMATION
struct _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION * PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
unsigned char BOOLEAN
PVOID Reserved6[4]
Definition: winternl.h:155
NTSTATUS NTAPI RtlCharToInteger(PCSZ String, ULONG Base, PULONG Value)
Definition: unicode.c:261
_Out_ _Inout_ POEM_STRING DestinationString
Definition: rtlfuncs.h:1868
#define _Out_writes_bytes_(size)
Definition: no_sal2.h:370
VOID(NTAPI * PPS_POST_PROCESS_INIT_ROUTINE)(VOID)
Definition: winternl.h:119
#define _Out_
Definition: no_sal2.h:323
_In_ ULONG _In_ ACCESS_MASK _In_ PSID Sid
Definition: rtlfuncs.h:1103
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
Definition: bufpool.h:45
__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 _SYSTEM_PROCESS_INFORMATION SYSTEM_PROCESS_INFORMATION
_Must_inspect_result_ __drv_aliasesMem _In_ PDEVICE_OBJECT _In_opt_ PVOID _In_ ULONG _Out_opt_ PVOID OutputBuffer
Definition: iofuncs.h:713
void * PVOID
Definition: retypes.h:9
_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:1230
VOID(NTAPI * PIO_APC_ROUTINE)(_In_ PVOID ApcContext, _In_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG Reserved)
Definition: winternl.h:294
_In_ _In_ ULONG KeySetInformationLength
Definition: zwfuncs.h:1213
#define _Out_opt_
Definition: no_sal2.h:339
_In_ HANDLE Handle
Definition: extypes.h:390
struct _SYSTEM_POLICY_INFORMATION SYSTEM_POLICY_INFORMATION
struct _IO_STATUS_BLOCK * PIO_STATUS_BLOCK
struct _RTL_USER_PROCESS_PARAMETERS * PRTL_USER_PROCESS_PARAMETERS
struct __PUBLIC_OBJECT_TYPE_INFORMATION PUBLIC_OBJECT_TYPE_INFORMATION
#define __kernel_entry
Definition: specstrings.h:50
IN PVCB IN PDIRENT OUT PULONG EaLength
Definition: fatprocs.h:875
const STRING * PCOEM_STRING
Definition: winternl.h:75
_In_ UCHAR BufferLength
Definition: scsi.h:4066
char CCHAR
Definition: typedefs.h:51
struct _SYSTEM_INTERRUPT_INFORMATION SYSTEM_INTERRUPT_INFORMATION
PPS_POST_PROCESS_INIT_ROUTINE PostProcessInitRoutine
Definition: btrfs_drv.h:1962
BYTE Reserved1[8]
Definition: btrfs_drv.h:1939
CONST char * PCSZ
Definition: winternl.h:62
ULONG CheckSum
Definition: btrfs_drv.h:1932
_In_ OBJECT_INFORMATION_CLASS _In_ ULONG _Out_opt_ PULONG ReturnLength
Definition: winternl.h:467
#define WINAPI
Definition: msvc.h:6
ULONG Type
Definition: nt_native.h:1176
struct _SYSTEM_EXCEPTION_INFORMATION * PSYSTEM_EXCEPTION_INFORMATION
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryInformationProcess(_In_ HANDLE ProcessHandle, _In_ PROCESSINFOCLASS ProcessInformationClass, _Out_ PVOID ProcessInformation, _In_ ULONG ProcessInformationLength, _Out_opt_ PULONG ReturnLength)
#define BufferSize
Definition: classpnp.h:436
_In_ OBJECT_INFORMATION_CLASS ObjectInformationClass
Definition: winternl.h:465
PVOID Reserved6
Definition: btrfs_drv.h:1933
PVOID HANDLE
Definition: typedefs.h:73
*BytesInUnicodeString PWCH _In_ ULONG _Out_opt_ PULONG BytesInUnicodeString
Definition: rtlfuncs.h:1979
union _IO_STATUS_BLOCK::@3300 DUMMYUNIONNAME
_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 _In_ ULONG _In_ ULONG _In_ ULONG CreateOptions
Definition: fltkernel.h:1230
#define _Inout_
Definition: no_sal2.h:244
BYTE Reserved4[8]
Definition: btrfs_drv.h:1929
_Out_range_(==, 0)) ULONG NTAPI RtlNtStatusToDosError(_In_ NTSTATUS Status)
static IUnknown Object
Definition: main.c:512
#define _Strict_type_match_
Definition: no_sal2.h:633
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE ApcRoutine
Definition: iofuncs.h:719
struct _SYSTEM_TIMEOFDAY_INFORMATION * PSYSTEM_TIMEOFDAY_INFORMATION
std::wstring STRING
Definition: fontsub.cpp:33
struct _PROCESS_BASIC_INFORMATION * PPROCESS_BASIC_INFORMATION
WCHAR * PWCH
Definition: ntbasedef.h:417
PVOID Reserved2[2]
Definition: btrfs_drv.h:1925
char * PBOOLEAN
Definition: retypes.h:11
Status
Definition: gdiplustypes.h:24
UNICODE_STRING ImagePathName
Definition: btrfs_drv.h:1947
const UNICODE_STRING * PCUNICODE_STRING
Definition: winternl.h:83
_Out_ _Inout_ POEM_STRING _In_ PCUNICODE_STRING SourceString
Definition: rtlfuncs.h:1868
ULONG SessionId
Definition: btrfs_drv.h:1965
struct _KEY_VALUE_ENTRY KEY_VALUE_ENTRY
BYTE Reserved1[2]
Definition: btrfs_drv.h:1954
struct _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:454
#define VOID
Definition: acefi.h:82
struct _KEY_VALUE_ENTRY * PKEY_VALUE_ENTRY
struct _SYSTEM_TIMEOFDAY_INFORMATION SYSTEM_TIMEOFDAY_INFORMATION
Definition: btrfs_drv.h:1922
struct _SYSTEM_PERFORMANCE_INFORMATION SYSTEM_PERFORMANCE_INFORMATION
NTSTATUS NTAPI RtlUnicodeStringToOemString(POEM_STRING DestinationString, PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
Definition: typedefs.h:119
UNICODE_STRING CommandLine
Definition: btrfs_drv.h:1948
PVOID Reserved5[52]
Definition: btrfs_drv.h:1961
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
ULONG AtlThunkSListPtr32
Definition: winternl.h:136
_IRQL_requires_max_(PASSIVE_LEVEL) __kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryObject(_In_opt_ HANDLE Handle
Definition: Messaging.c:64
unsigned char BYTE
Definition: xxhash.c:193
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ ULONG InputBufferLength
Definition: fltkernel.h:1372
#define _In_reads_bytes_(size)
Definition: no_sal2.h:229
struct _PEB PEB
_PROCESSINFOCLASS
Definition: winternl.h:392
NTSTATUS NTAPI RtlConvertSidToUnicodeString(PUNICODE_STRING UnicodeString, PSID Sid, BOOLEAN AllocateDestinationString)
ULONG TimeDateStamp
Definition: btrfs_drv.h:1935
BYTE Reserved3[1140]
Definition: winternl.h:572
#define _In_
Definition: no_sal2.h:204
BOOLEAN(WINAPI * PWINSTATIONQUERYINFORMATIONW)(HANDLE, ULONG, WINSTATIONINFOCLASS, PVOID, ULONG, PULONG)
Definition: winternl.h:577
IN PFCB IN PFILE_OBJECT FileObject IN ULONG AllocationSize
Definition: fatprocs.h:319
ULONG_PTR SIZE_T
Definition: typedefs.h:80
ULONG DataOffset
Definition: nt_native.h:1175
LARGE_INTEGER Reserved6[6]
Definition: winternl.h:513
Definition: compat.h:583
LONG NTSTATUS
Definition: winternl.h:51
BYTE Reserved11[128]
Definition: winternl.h:140
struct _RTL_USER_PROCESS_PARAMETERS RTL_USER_PROCESS_PARAMETERS
static ULONG Timeout
Definition: ping.c:61
enum _KEY_SET_INFORMATION_CLASS KEY_SET_INFORMATION_CLASS
PVOID SecurityDescriptor
Definition: umtypes.h:187
enum _THREADINFOCLASS THREADINFOCLASS
Definition: thread.c:101
_WINSTATIONINFOCLASS
Definition: winternl.h:563
VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
_In_ THREADINFOCLASS _In_ ULONG ThreadInformationLength
Definition: psfuncs.h:835
unsigned short USHORT
Definition: pedump.c:61
PVOID TlsExpansionSlots
Definition: winternl.h:156
LIST_ENTRY InMemoryOrderLinks
Definition: btrfs_drv.h:1924
PVOID ReservedForOle
Definition: compat.h:639
PPEB_LDR_DATA Ldr
Definition: btrfs_drv.h:1958
BOOLEAN NTAPI RtlTimeToSecondsSince1970(PLARGE_INTEGER Time, PULONG ElapsedSeconds)
_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 DesiredAccess
Definition: create.c:4137
UNICODE_STRING FullDllName
Definition: btrfs_drv.h:1928
PVOID Reserved3[2]
Definition: btrfs_drv.h:1927
static OUT PIO_STATUS_BLOCK IoStatusBlock
Definition: pipe.c:75
PSTRING PCANSI_STRING
Definition: winternl.h:72
VOID NTAPI RtlFreeAnsiString(PANSI_STRING AnsiString)
PVOID Reserved1[2]
Definition: btrfs_drv.h:1923
unsigned int * PULONG
Definition: retypes.h:1
struct _PEB_LDR_DATA * PPEB_LDR_DATA
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING _In_ BOOLEAN _In_ BOOLEAN _In_ ULONG CompletionFilter
Definition: fltkernel.h:2239
struct _LDR_DATA_TABLE_ENTRY * PLDR_DATA_TABLE_ENTRY
STRING OEM_STRING
Definition: winternl.h:73
_In_ ULONG _In_ ULONG _Inout_updates_(8 *8) ULONG *pul)
Definition: winddi.h:3522
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtClose(_In_ HANDLE Handle)
_KEY_SET_INFORMATION_CLASS
Definition: nt_native.h:1140
#define _In_reads_opt_(size)
Definition: no_sal2.h:231
VOID NTAPI RtlFreeOemString(POEM_STRING OemString)
_THREADINFOCLASS
Definition: compat.h:682
PVOID SecurityQualityOfService
Definition: umtypes.h:188
_In_ PUNICODE_STRING NewName
Definition: zwfuncs.h:1203
NTSTATUS NTAPI RtlUnicodeStringToAnsiString(PANSI_STRING DestinationString, PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
#define BOOLEAN
Definition: pedump.c:73
struct _SYSTEM_REGISTRY_QUOTA_INFORMATION SYSTEM_REGISTRY_QUOTA_INFORMATION
Definition: nt_native.h:1172
PVOID Reserved1[12]
Definition: winternl.h:147
PUNICODE_STRING ObjectName
Definition: umtypes.h:185
HANDLE RootDirectory
Definition: umtypes.h:184
union _LDR_DATA_TABLE_ENTRY::@3299 DUMMYUNIONNAME
unsigned int ULONG
Definition: retypes.h:1
__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)
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryInformationThread(_In_ HANDLE ThreadHandle, _In_ THREADINFOCLASS ThreadInformationClass, _Out_ PVOID ThreadInformation, _In_ ULONG ThreadInformationLength, _Out_opt_ PULONG ReturnLength)
PVOID TlsSlots[64]
Definition: compat.h:627
__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 _PROCESS_BASIC_INFORMATION PROCESS_BASIC_INFORMATION
IN PDCB IN POEM_STRING OemName
Definition: fatprocs.h:1303
_In_ PSID _In_ BOOLEAN AllocateDestinationString
Definition: rtlfuncs.h:1320
struct _PEB_LDR_DATA PEB_LDR_DATA
_In_ HANDLE ProcessHandle
Definition: mmfuncs.h:403
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtRenameKey(_In_ HANDLE KeyHandle, _In_ PUNICODE_STRING NewName)
_OBJECT_INFORMATION_CLASS
Definition: DriverTester.h:53
unsigned short MaximumLength
Definition: sprintf.c:452
PVOID Reserved5[3]
Definition: btrfs_drv.h:1930
struct _PUBLIC_OBJECT_BASIC_INFORMATION * PPUBLIC_OBJECT_BASIC_INFORMATION
NTSTATUS NTAPI RtlLocalTimeToSystemTime(IN PLARGE_INTEGER LocalTime, _Out_ PLARGE_INTEGER SystemTime)
_Out_ PULONG ElapsedSeconds
Definition: rtlfuncs.h:4574
_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 _In_ ULONG CreateDisposition
Definition: create.c:4137
#define CONST
Definition: pedump.c:81
ULONG ACCESS_MASK
Definition: nt_native.h:40
static PLARGE_INTEGER Time
Definition: time.c:105
struct _STRING STRING
_In_ OBJECT_INFORMATION_CLASS _Out_writes_bytes_opt_(ObjectInformationLength) PVOID ObjectInformation
VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
PVOID Reserved2[3]
Definition: btrfs_drv.h:1940
__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)
_FILE_INFORMATION_CLASS
Definition: from_kernel.h:61
#define _Inout_opt_
Definition: no_sal2.h:258
*BytesInUnicodeString PWCH _In_ ULONG _Out_opt_ PULONG _In_ ULONG BytesInMultiByteString
Definition: rtlfuncs.h:2510
PVOID Reserved7[1]
Definition: btrfs_drv.h:1964
ULONG Reserved8
Definition: winternl.h:135
struct _SYSTEM_POLICY_INFORMATION * PSYSTEM_POLICY_INFORMATION