ReactOS  0.4.12-dev-409-g9f418243
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_ */
struct _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
enum _SYSTEM_INFORMATION_CLASS SYSTEM_INFORMATION_CLASS
IN CINT OUT PVOID IN ULONG OUT PULONG ResultLength
Definition: conport.c:47
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQuerySystemInformation(_In_ SYSTEM_INFORMATION_CLASS SystemInformationClass, _Out_ PVOID SystemInformation, _In_ ULONG InformationLength, _Out_opt_ PULONG ResultLength)
_In_opt_ ULONG _Out_ PULONG Value
Definition: rtlfuncs.h:2327
signed char * PCHAR
Definition: retypes.h:7
VOID(NTAPI * PPS_POST_PROCESS_INIT_ROUTINE)(VOID)
Definition: winternl.h:119
_In_ OBJECT_INFORMATION_CLASS _Out_writes_bytes_opt_(ObjectInformationLength) PVOID ObjectInformation
_SYSTEM_INFORMATION_CLASS
Definition: ntddk_ex.h:10
CONST char * PCSZ
Definition: umtypes.h:125
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:35
struct _PEB PEB
*BytesInOemString PCHAR OemString
Definition: rtlfuncs.h:1561
VOID NTAPI RtlInitString(PSTRING DestinationString, PCSZ SourceString)
_In_ PVOID _In_ BOOLEAN Alertable
Definition: exfuncs.h:452
BYTE Reserved4[104]
Definition: btrfs_drv.h:1839
PVOID Reserved12[1]
Definition: winternl.h:141
#define IN
Definition: typedefs.h:38
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID ApcContext
Definition: iofuncs.h:719
NTSTATUS NTAPI RtlUnicodeToMultiByteSize(_Out_ PULONG BytesInMultiByteString, _In_reads_bytes_(BytesInUnicodeString) PWCH UnicodeString, _In_ ULONG BytesInUnicodeString)
PPEB ProcessEnvironmentBlock
Definition: ntddk_ex.h:341
__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)
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG IoControlCode
Definition: fltkernel.h:1383
_Inout_opt_ POEM_STRING _Out_opt_ PBOOLEAN NameContainsSpaces
Definition: rtlfuncs.h:2961
struct _OBJECT_ATTRIBUTES * POBJECT_ATTRIBUTES
_WINSTATIONINFOCLASS
Definition: winternl.h:563
_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:5995
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
Definition: ndis.h:4693
struct _STRING * PSTRING
USHORT MaximumLength
Definition: env_spec_w32.h:370
union _IO_STATUS_BLOCK::@3204 DUMMYUNIONNAME
PVOID AtlThunkSListPtr
Definition: winternl.h:131
BOOLEAN NTAPI RtlTimeToSecondsSince1970(PLARGE_INTEGER Time, PULONG ElapsedSeconds)
struct _PEB * PPEB
uint16_t * PWSTR
Definition: typedefs.h:54
struct _KEY_VALUE_ENTRY * PKEY_VALUE_ENTRY
struct _TEB TEB
#define _In_reads_bytes_opt_(size)
Definition: no_sal2.h:230
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
enum _KEY_SET_INFORMATION_CLASS KEY_SET_INFORMATION_CLASS
_In_opt_ ULONG Base
Definition: rtlfuncs.h:2327
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQuerySystemTime(_Out_ PLARGE_INTEGER SystemTime)
struct _IO_STATUS_BLOCK * PIO_STATUS_BLOCK
VOID NTAPI RtlFreeOemString(POEM_STRING OemString)
LIST_ENTRY InMemoryOrderModuleList
Definition: btrfs_drv.h:1820
struct _PUBLIC_OBJECT_BASIC_INFORMATION * PPUBLIC_OBJECT_BASIC_INFORMATION
ULONG DataLength
Definition: nt_native.h:1174
PVOID Reserved9[45]
Definition: winternl.h:137
struct _UNICODE_STRING UNICODE_STRING
BYTE Reserved2[1]
Definition: btrfs_drv.h:1835
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ ULONG _In_ ULONG OutputBufferLength
Definition: fltkernel.h:1374
struct _SYSTEM_BASIC_INFORMATION * PSYSTEM_BASIC_INFORMATION
struct _SYSTEM_PERFORMANCE_INFORMATION * PSYSTEM_PERFORMANCE_INFORMATION
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
Definition: exfuncs.h:1015
unsigned short Length
Definition: sprintf.c:451
BYTE BeingDebugged
Definition: btrfs_drv.h:1834
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING _In_ BOOLEAN WatchTree
Definition: fltkernel.h:2239
#define NTSYSCALLAPI
Definition: ntbasedef.h:204
const UNICODE_STRING * PCUNICODE_STRING
Definition: winternl.h:83
IN CINT OUT PVOID ObjectInformation
Definition: conport.c:47
static WCHAR String[]
Definition: stringtable.c:55
NTSTATUS NTAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString, PCANSI_STRING SourceString, BOOLEAN AllocateDestinationString)
NTSYSAPI NTSTATUS WINAPI NtQueryObject(HANDLE, OBJECT_INFORMATION_CLASS, PVOID, ULONG, PULONG)
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtWaitForSingleObject(_In_ HANDLE Object, _In_ BOOLEAN Alertable, _In_opt_ PLARGE_INTEGER Timeout)
ULONG Reserved6
Definition: winternl.h:133
struct _IO_STATUS_BLOCK IO_STATUS_BLOCK
ULONG_PTR Information
Definition: winternl.h:253
_Out_range_(==, 0)) ULONG NTAPI RtlNtStatusToDosError(_In_ NTSTATUS Status)
NTSTATUS NTAPI RtlUnicodeStringToOemString(POEM_STRING DestinationString, PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
enum _THREADINFOCLASS THREADINFOCLASS
_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:4157
enum _WINSTATIONINFOCLASS WINSTATIONINFOCLASS
CHAR InputBuffer[80]
Definition: conmgr.c:33
#define _In_opt_
Definition: no_sal2.h:213
BYTE Reserved4[8]
Definition: winternl.h:152
_In_ OBJECT_INFORMATION_CLASS _In_ ULONG _Out_opt_ PULONG ReturnLength
Definition: winternl.h:467
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryInformationProcess(_In_ HANDLE ProcessHandle, _In_ PROCESSINFOCLASS ProcessInformationClass, _Out_ PVOID ProcessInformation, _In_ ULONG ProcessInformationLength, _Out_opt_ PULONG ReturnLength)
const STRING * PCOEM_STRING
Definition: winternl.h:75
uint32_t ULONG_PTR
Definition: typedefs.h:63
struct _SYSTEM_PERFORMANCE_INFORMATION SYSTEM_PERFORMANCE_INFORMATION
BYTE Reserved3[1952]
Definition: winternl.h:150
struct _SYSTEM_REGISTRY_QUOTA_INFORMATION SYSTEM_REGISTRY_QUOTA_INFORMATION
PVOID DllBase
Definition: btrfs_drv.h:1805
struct _RTL_USER_PROCESS_PARAMETERS * PRTL_USER_PROCESS_PARAMETERS
HANDLE FileHandle
Definition: stats.c:38
PVOID Reserved5[3]
Definition: compat.h:542
void * Buffer
Definition: sprintf.c:453
_In_ OBJECT_INFORMATION_CLASS ObjectInformationClass
Definition: winternl.h:465
_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:1836
enum _OBJECT_INFORMATION_CLASS OBJECT_INFORMATION_CLASS
PUNICODE_STRING ValueName
Definition: nt_native.h:1173
union _LDR_DATA_TABLE_ENTRY::@3203 DUMMYUNIONNAME
struct _KEY_VALUE_ENTRY KEY_VALUE_ENTRY
PSTRING PANSI_STRING
Definition: winternl.h:71
struct _OBJECT_ATTRIBUTES OBJECT_ATTRIBUTES
struct _SYSTEM_REGISTRY_QUOTA_INFORMATION * PSYSTEM_REGISTRY_QUOTA_INFORMATION
BYTE Reserved10[96]
Definition: winternl.h:138
long LONG
Definition: pedump.c:60
_In_ ULONG BufferLength
Definition: usbdlib.h:225
NTSTATUS NTAPI RtlCharToInteger(PCSZ String, ULONG Base, PULONG Value)
Definition: unicode.c:261
struct _SYSTEM_POLICY_INFORMATION * PSYSTEM_POLICY_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)
_In_ THREADINFOCLASS ThreadInformationClass
Definition: psfuncs.h:834
enum _KEY_SET_INFORMATION_CLASS KEY_SET_INFORMATION_CLASS
struct _WINSTATIONINFORMATIONW WINSTATIONINFORMATIONW
unsigned char BOOLEAN
PVOID Reserved6[4]
Definition: winternl.h:155
struct _PROCESS_BASIC_INFORMATION PROCESS_BASIC_INFORMATION
struct _SYSTEM_INTERRUPT_INFORMATION * PSYSTEM_INTERRUPT_INFORMATION
_Out_ _Inout_ POEM_STRING DestinationString
Definition: rtlfuncs.h:1869
__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)
struct __PUBLIC_OBJECT_TYPE_INFORMATION PUBLIC_OBJECT_TYPE_INFORMATION
#define _Out_writes_bytes_(size)
Definition: no_sal2.h:370
#define _Out_
Definition: no_sal2.h:323
_In_ ULONG _In_ ACCESS_MASK _In_ PSID Sid
Definition: rtlfuncs.h:1104
NTSTATUS NTAPI RtlUnicodeStringToAnsiString(PANSI_STRING DestinationString, PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
PSTRING PCANSI_STRING
Definition: winternl.h:72
Definition: bufpool.h:45
_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
_IRQL_requires_max_(PASSIVE_LEVEL) __kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryObject(_In_opt_ HANDLE Handle
Definition: Messaging.c:64
_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
_When_(Status< 0, _Out_range_(>, 0)) _When_(Status >=0
_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_TIMEOFDAY_INFORMATION * PSYSTEM_TIMEOFDAY_INFORMATION
typedef _Return_type_success_(return >=0) LONG NTSTATUS
#define __kernel_entry
Definition: specstrings.h:50
IN PVCB IN PDIRENT OUT PULONG EaLength
Definition: fatprocs.h:866
char CCHAR
Definition: typedefs.h:50
struct _SYSTEM_LOOKASIDE_INFORMATION SYSTEM_LOOKASIDE_INFORMATION
BYTE Reserved1[8]
Definition: btrfs_drv.h:1818
ULONG CheckSum
Definition: btrfs_drv.h:1811
struct _PROCESS_BASIC_INFORMATION * PPROCESS_BASIC_INFORMATION
ULONG Type
Definition: nt_native.h:1176
CONST char * PCSZ
Definition: winternl.h:62
#define BufferSize
Definition: classpnp.h:419
PVOID Reserved6
Definition: btrfs_drv.h:1812
PVOID HANDLE
Definition: typedefs.h:71
*BytesInUnicodeString PWCH _In_ ULONG _Out_opt_ PULONG BytesInUnicodeString
Definition: rtlfuncs.h:1980
_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:1808
static IUnknown Object
Definition: main.c:512
struct _STRING STRING
#define _Strict_type_match_
Definition: no_sal2.h:633
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE ApcRoutine
Definition: iofuncs.h:719
std::wstring STRING
Definition: fontsub.cpp:33
WCHAR * PWCH
Definition: ntbasedef.h:417
struct _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION * PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
PVOID Reserved2[2]
Definition: btrfs_drv.h:1804
enum _SYSTEM_INFORMATION_CLASS SYSTEM_INFORMATION_CLASS
__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)
char * PBOOLEAN
Definition: retypes.h:11
UNICODE_STRING ImagePathName
Definition: btrfs_drv.h:1826
_Out_ _Inout_ POEM_STRING _In_ PCUNICODE_STRING SourceString
Definition: rtlfuncs.h:1869
VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
ULONG SessionId
Definition: btrfs_drv.h:1844
BYTE Reserved1[2]
Definition: btrfs_drv.h:1833
PRTL_USER_PROCESS_PARAMETERS ProcessParameters
Definition: btrfs_drv.h:1838
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:414
#define VOID
Definition: acefi.h:82
struct _SYSTEM_INTERRUPT_INFORMATION SYSTEM_INTERRUPT_INFORMATION
Definition: btrfs_drv.h:1801
unsigned char BYTE
Definition: mem.h:68
Definition: typedefs.h:117
UNICODE_STRING CommandLine
Definition: btrfs_drv.h:1827
BOOLEAN(WINAPI * PWINSTATIONQUERYINFORMATIONW)(HANDLE, ULONG, WINSTATIONINFOCLASS, PVOID, ULONG, PULONG)
Definition: winternl.h:577
PVOID Reserved5[52]
Definition: btrfs_drv.h:1840
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
ULONG AtlThunkSListPtr32
Definition: winternl.h:136
__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 _WINSTATIONINFORMATIONW * PWINSTATIONINFORMATIONW
#define WINAPI
Definition: msvc.h:20
__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)
_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
VOID NTAPI RtlFreeAnsiString(PANSI_STRING AnsiString)
PSTRING POEM_STRING
Definition: winternl.h:74
Status
Definition: gdiplustypes.h:24
ULONG TimeDateStamp
Definition: btrfs_drv.h:1814
struct _RTL_USER_PROCESS_PARAMETERS RTL_USER_PROCESS_PARAMETERS
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
BYTE Reserved3[1140]
Definition: winternl.h:572
#define _In_
Definition: no_sal2.h:204
IN PFCB IN PFILE_OBJECT FileObject IN ULONG AllocationSize
Definition: fatprocs.h:310
struct __PUBLIC_OBJECT_TYPE_INFORMATION * PPUBLIC_OBJECT_TYPE_INFORMATION
ULONG_PTR SIZE_T
Definition: typedefs.h:78
ULONG DataOffset
Definition: nt_native.h:1175
LARGE_INTEGER Reserved6[6]
Definition: winternl.h:513
Definition: compat.h:484
PPS_POST_PROCESS_INIT_ROUTINE PostProcessInitRoutine
Definition: btrfs_drv.h:1841
BYTE Reserved11[128]
Definition: winternl.h:140
struct _SYSTEM_EXCEPTION_INFORMATION * PSYSTEM_EXCEPTION_INFORMATION
struct _SYSTEM_TIMEOFDAY_INFORMATION SYSTEM_TIMEOFDAY_INFORMATION
static ULONG Timeout
Definition: ping.c:61
struct _PUBLIC_OBJECT_BASIC_INFORMATION PUBLIC_OBJECT_BASIC_INFORMATION
VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
PVOID SecurityDescriptor
Definition: umtypes.h:187
enum _THREADINFOCLASS THREADINFOCLASS
Definition: thread.c:106
NTSTATUS NTAPI RtlLocalTimeToSystemTime(IN PLARGE_INTEGER LocalTime, _Out_ PLARGE_INTEGER SystemTime)
struct _SYSTEM_PROCESS_INFORMATION SYSTEM_PROCESS_INFORMATION
_In_ THREADINFOCLASS _In_ ULONG ThreadInformationLength
Definition: psfuncs.h:837
unsigned short USHORT
Definition: pedump.c:61
struct _PEB_LDR_DATA PEB_LDR_DATA
struct _LDR_DATA_TABLE_ENTRY LDR_DATA_TABLE_ENTRY
PVOID TlsExpansionSlots
Definition: winternl.h:156
struct _SYSTEM_POLICY_INFORMATION SYSTEM_POLICY_INFORMATION
LIST_ENTRY InMemoryOrderLinks
Definition: btrfs_drv.h:1803
PVOID ReservedForOle
Definition: compat.h:540
PPEB_LDR_DATA Ldr
Definition: btrfs_drv.h:1837
_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:4157
UNICODE_STRING FullDllName
Definition: btrfs_drv.h:1807
PVOID Reserved3[2]
Definition: btrfs_drv.h:1806
static OUT PIO_STATUS_BLOCK IoStatusBlock
Definition: pipe.c:75
PVOID Reserved1[2]
Definition: btrfs_drv.h:1802
unsigned int * PULONG
Definition: retypes.h:1
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING _In_ BOOLEAN _In_ BOOLEAN _In_ ULONG CompletionFilter
Definition: fltkernel.h:2239
struct _UNICODE_STRING * PUNICODE_STRING
ULONG NTAPI RtlUniform(PULONG Seed)
VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
_In_ ULONG _In_ ULONG _Inout_updates_(8 *8) ULONG *pul)
Definition: winddi.h:3522
LONG NTSTATUS
Definition: winternl.h:51
enum _FILE_INFORMATION_CLASS FILE_INFORMATION_CLASS
_KEY_SET_INFORMATION_CLASS
Definition: nt_native.h:1140
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtRenameKey(_In_ HANDLE KeyHandle, _In_ PUNICODE_STRING NewName)
#define _In_reads_opt_(size)
Definition: no_sal2.h:231
_THREADINFOCLASS
Definition: compat.h:583
PVOID SecurityQualityOfService
Definition: umtypes.h:188
_In_ PUNICODE_STRING NewName
Definition: zwfuncs.h:1203
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtClose(_In_ HANDLE Handle)
_In_ OBJECT_INFORMATION_CLASS _In_ ULONG ObjectInformationLength
Definition: winternl.h:467
#define BOOLEAN
Definition: pedump.c:73
enum _PROCESSINFOCLASS PROCESSINFOCLASS
Definition: loader.c:63
struct _TEB * PTEB
NTSTATUS NTAPI RtlConvertSidToUnicodeString(PUNICODE_STRING UnicodeString, PSID Sid, BOOLEAN AllocateDestinationString)
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
unsigned int ULONG
Definition: retypes.h:1
struct _SYSTEM_PROCESS_INFORMATION * PSYSTEM_PROCESS_INFORMATION
PVOID TlsSlots[64]
Definition: compat.h:528
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryInformationThread(_In_ HANDLE ThreadHandle, _In_ THREADINFOCLASS ThreadInformationClass, _Out_ PVOID ThreadInformation, _In_ ULONG ThreadInformationLength, _Out_opt_ PULONG ReturnLength)
const uint16_t * PCWSTR
Definition: typedefs.h:55
struct _SYSTEM_LOOKASIDE_INFORMATION * PSYSTEM_LOOKASIDE_INFORMATION
IN PDCB IN POEM_STRING OemName
Definition: fatprocs.h:1294
_In_ PSID _In_ BOOLEAN AllocateDestinationString
Definition: rtlfuncs.h:1321
_In_ HANDLE ProcessHandle
Definition: mmfuncs.h:403
_OBJECT_INFORMATION_CLASS
Definition: DriverTester.h:53
unsigned short MaximumLength
Definition: sprintf.c:452
struct _LDR_DATA_TABLE_ENTRY * PLDR_DATA_TABLE_ENTRY
PVOID Reserved5[3]
Definition: btrfs_drv.h:1809
_Out_ PULONG ElapsedSeconds
Definition: rtlfuncs.h:4420
_PROCESSINFOCLASS
Definition: winternl.h:392
_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:4157
STRING OEM_STRING
Definition: winternl.h:73
#define CONST
Definition: pedump.c:81
ULONG ACCESS_MASK
Definition: nt_native.h:40
struct _SYSTEM_BASIC_INFORMATION SYSTEM_BASIC_INFORMATION
BOOLEAN NTAPI RtlIsNameLegalDOS8Dot3(_In_ PUNICODE_STRING Name, _Inout_opt_ POEM_STRING OemName, _Inout_opt_ PBOOLEAN NameContainsSpaces)
static PLARGE_INTEGER Time
Definition: time.c:105
struct _SYSTEM_EXCEPTION_INFORMATION SYSTEM_EXCEPTION_INFORMATION
VOID(NTAPI * PIO_APC_ROUTINE)(_In_ PVOID ApcContext, _In_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG Reserved)
Definition: winternl.h:294
PVOID Reserved2[3]
Definition: btrfs_drv.h:1819
_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:2448
PVOID Reserved7[1]
Definition: btrfs_drv.h:1843
ULONG Reserved8
Definition: winternl.h:135
struct _PEB_LDR_DATA * PPEB_LDR_DATA
STRING ANSI_STRING
Definition: winternl.h:70