]> sourceware.org Git - newlib-cygwin.git/blob - winsup/cygwin/ntdll.h
* fhandler.h (fhandler_base): Change fstat_helper prototype
[newlib-cygwin.git] / winsup / cygwin / ntdll.h
1 /* ntdll.h. Contains ntdll specific stuff not defined elsewhere.
2
3 Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006 Red Hat, Inc.
4
5 This file is part of Cygwin.
6
7 This software is a copyrighted work licensed under the terms of the
8 Cygwin license. Please consult the file "CYGWIN_LICENSE" for
9 details. */
10
11 #define STATUS_INVALID_INFO_CLASS ((NTSTATUS) 0xc0000003)
12 #define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS) 0xc0000004)
13 #define STATUS_INVALID_PARAMETER ((NTSTATUS) 0xc000000d)
14 #define STATUS_BUFFER_TOO_SMALL ((NTSTATUS) 0xc0000023)
15 #define STATUS_WORKING_SET_QUOTA ((NTSTATUS) 0xc00000a1L)
16 #define STATUS_INVALID_LEVEL ((NTSTATUS) 0xc0000148)
17 #define STATUS_NO_MORE_FILES ((NTSTATUS)0x80000006L)
18 #define PDI_MODULES 0x01
19 #define PDI_HEAPS 0x04
20 #define LDRP_IMAGE_DLL 0x00000004
21 #define WSLE_PAGE_READONLY 0x001
22 #define WSLE_PAGE_EXECUTE 0x002
23 #define WSLE_PAGE_EXECUTE_READ 0x003
24 #define WSLE_PAGE_READWRITE 0x004
25 #define WSLE_PAGE_WRITECOPY 0x005
26 #define WSLE_PAGE_EXECUTE_READWRITE 0x006
27 #define WSLE_PAGE_EXECUTE_WRITECOPY 0x007
28 #define WSLE_PAGE_SHARE_COUNT_MASK 0x0E0
29 #define WSLE_PAGE_SHAREABLE 0x100
30
31 typedef enum _FILE_INFORMATION_CLASS
32 {
33 FileDirectoryInformation = 1,
34 FileFullDirectoryInformation, // 2
35 FileBothDirectoryInformation, // 3
36 FileBasicInformation, // 4 wdm
37 FileStandardInformation, // 5 wdm
38 FileInternalInformation, // 6
39 FileEaInformation, // 7
40 FileAccessInformation, // 8
41 FileNameInformation, // 9
42 FileRenameInformation, // 10
43 FileLinkInformation, // 11
44 FileNamesInformation, // 12
45 FileDispositionInformation, // 13
46 FilePositionInformation, // 14 wdm
47 FileFullEaInformation, // 15
48 FileModeInformation, // 16
49 FileAlignmentInformation, // 17
50 FileAllInformation, // 18
51 FileAllocationInformation, // 19
52 FileEndOfFileInformation, // 20 wdm
53 FileAlternateNameInformation, // 21
54 FileStreamInformation, // 22
55 FilePipeInformation, // 23
56 FilePipeLocalInformation, // 24
57 FilePipeRemoteInformation, // 25
58 FileMailslotQueryInformation, // 26
59 FileMailslotSetInformation, // 27
60 FileCompressionInformation, // 28
61 FileObjectIdInformation, // 29
62 FileCompletionInformation, // 30
63 FileMoveClusterInformation, // 31
64 FileQuotaInformation, // 32
65 FileReparsePointInformation, // 33
66 FileNetworkOpenInformation, // 34
67 FileAttributeTagInformation, // 35
68 FileTrackingInformation, // 36
69 FileIdBothDirectoryInformation, // 37
70 FileIdFullDirectoryInformation, // 38
71 FileValidDataLengthInformation, // 39
72 FileShortNameInformation, // 40
73 FileMaximumInformation
74 } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
75
76 typedef struct _FILE_BOTH_DIR_INFORMATION
77 {
78 ULONG NextEntryOffset;
79 ULONG FileIndex;
80 LARGE_INTEGER CreationTime;
81 LARGE_INTEGER LastAccessTime;
82 LARGE_INTEGER LastWriteTime;
83 LARGE_INTEGER ChangeTime;
84 LARGE_INTEGER EndOfFile;
85 LARGE_INTEGER AllocationSize;
86 ULONG FileAttributes;
87 ULONG FileNameLength;
88 ULONG EaSize;
89 CCHAR ShortNameLength;
90 WCHAR ShortName[12];
91 WCHAR FileName[1];
92 } FILE_BOTH_DIR_INFORMATION, *PFILE_BOTH_DIR_INFORMATION;
93
94 typedef struct _FILE_ID_BOTH_DIR_INFORMATION
95 {
96 ULONG NextEntryOffset;
97 ULONG FileIndex;
98 LARGE_INTEGER CreationTime;
99 LARGE_INTEGER LastAccessTime;
100 LARGE_INTEGER LastWriteTime;
101 LARGE_INTEGER ChangeTime;
102 LARGE_INTEGER EndOfFile;
103 LARGE_INTEGER AllocationSize;
104 ULONG FileAttributes;
105 ULONG FileNameLength;
106 ULONG EaSize;
107 CCHAR ShortNameLength;
108 WCHAR ShortName[12];
109 LARGE_INTEGER FileId;
110 WCHAR FileName[1];
111 } FILE_ID_BOTH_DIR_INFORMATION, *PFILE_ID_BOTH_DIR_INFORMATION;
112
113
114 #define AT_EXTENDABLE_FILE 0x00002000
115 #define AT_ROUND_TO_PAGE 0x40000000
116
117 #define LOCK_VM_IN_WSL 1
118 #define LOCK_VM_IN_RAM 2
119
120 #define DIRECTORY_QUERY 1
121
122 typedef ULONG KAFFINITY;
123
124 typedef enum _SYSTEM_INFORMATION_CLASS
125 {
126 SystemBasicInformation = 0,
127 SystemPerformanceInformation = 2,
128 SystemTimeOfDayInformation = 3,
129 SystemProcessesAndThreadsInformation = 5,
130 SystemProcessorTimes = 8,
131 SystemPagefileInformation = 18,
132 /* There are a lot more of these... */
133 } SYSTEM_INFORMATION_CLASS;
134
135 typedef struct _SYSTEM_BASIC_INFORMATION
136 {
137 ULONG Unknown;
138 ULONG MaximumIncrement;
139 ULONG PhysicalPageSize;
140 ULONG NumberOfPhysicalPages;
141 ULONG LowestPhysicalPage;
142 ULONG HighestPhysicalPage;
143 ULONG AllocationGranularity;
144 ULONG LowestUserAddress;
145 ULONG HighestUserAddress;
146 ULONG ActiveProcessors;
147 UCHAR NumberProcessors;
148 } SYSTEM_BASIC_INFORMATION, *PSYSTEM_BASIC_INFORMATION;
149
150 typedef struct _SYSTEM_PAGEFILE_INFORMATION
151 {
152 ULONG NextEntryOffset;
153 ULONG CurrentSize;
154 ULONG TotalUsed;
155 ULONG PeakUsed;
156 UNICODE_STRING FileName;
157 } SYSTEM_PAGEFILE_INFORMATION, *PSYSTEM_PAGEFILE_INFORMATION;
158
159 typedef struct __attribute__ ((aligned (8))) _SYSTEM_PROCESSOR_TIMES
160 {
161 LARGE_INTEGER IdleTime;
162 LARGE_INTEGER KernelTime;
163 LARGE_INTEGER UserTime;
164 LARGE_INTEGER DpcTime;
165 LARGE_INTEGER InterruptTime;
166 ULONG InterruptCount;
167 } SYSTEM_PROCESSOR_TIMES, *PSYSTEM_PROCESSOR_TIMES;
168
169 typedef LONG KPRIORITY;
170 typedef struct _VM_COUNTERS
171 {
172 ULONG PeakVirtualSize;
173 ULONG VirtualSize;
174 ULONG PageFaultCount;
175 ULONG PeakWorkingSetSize;
176 ULONG WorkingSetSize;
177 ULONG QuotaPeakPagedPoolUsage;
178 ULONG QuotaPagedPoolUsage;
179 ULONG QuotaPeakNonPagedPoolUsage;
180 ULONG QuotaNonPagedPoolUsage;
181 ULONG PagefileUsage;
182 ULONG PeakPagefileUsage;
183 } VM_COUNTERS, *PVM_COUNTERS;
184
185 typedef struct _CLIENT_ID
186 {
187 HANDLE UniqueProcess;
188 HANDLE UniqueThread;
189 } CLIENT_ID, *PCLIENT_ID;
190
191 typedef enum
192 {
193 StateInitialized,
194 StateReady,
195 StateRunning,
196 StateStandby,
197 StateTerminated,
198 StateWait,
199 StateTransition,
200 StateUnknown,
201 } THREAD_STATE;
202
203 typedef enum
204 {
205 Executive,
206 FreePage,
207 PageIn,
208 PoolAllocation,
209 DelayExecution,
210 Suspended,
211 UserRequest,
212 WrExecutive,
213 WrFreePage,
214 WrPageIn,
215 WrPoolAllocation,
216 WrDelayExecution,
217 WrSuspended,
218 WrUserRequest,
219 WrEventPair,
220 WrQueue,
221 WrLpcReceive,
222 WrLpcReply,
223 WrVirtualMemory,
224 WrPageOut,
225 WrRendezvous,
226 Spare2,
227 Spare3,
228 Spare4,
229 Spare5,
230 Spare6,
231 WrKernel,
232 MaximumWaitReason
233 } KWAIT_REASON;
234
235 typedef struct _SYSTEM_THREADS
236 {
237 LARGE_INTEGER KernelTime;
238 LARGE_INTEGER UserTime;
239 LARGE_INTEGER CreateTime;
240 ULONG WaitTime;
241 PVOID StartAddress;
242 CLIENT_ID ClientId;
243 KPRIORITY Priority;
244 KPRIORITY BasePriority;
245 ULONG ContextSwitchCount;
246 THREAD_STATE State;
247 KWAIT_REASON WaitReason;
248 DWORD Reserved;
249 } SYSTEM_THREADS, *PSYSTEM_THREADS;
250
251 typedef struct _SYSTEM_PROCESSES
252 {
253 ULONG NextEntryDelta;
254 ULONG ThreadCount;
255 ULONG Reserved1[6];
256 LARGE_INTEGER CreateTime;
257 LARGE_INTEGER UserTime;
258 LARGE_INTEGER KernelTime;
259 UNICODE_STRING ProcessName;
260 KPRIORITY BasePriority;
261 ULONG ProcessId;
262 ULONG InheritedFromProcessId;
263 ULONG HandleCount;
264 ULONG Reserved2[2];
265 VM_COUNTERS VmCounters;
266 IO_COUNTERS IoCounters;
267 SYSTEM_THREADS Threads[1];
268 } SYSTEM_PROCESSES, *PSYSTEM_PROCESSES;
269
270 typedef struct _IO_STATUS_BLOCK
271 {
272 NTSTATUS Status;
273 ULONG Information;
274 } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;
275
276 typedef struct _SYSTEM_PERFORMANCE_INFORMATION
277 {
278 LARGE_INTEGER IdleTime;
279 LARGE_INTEGER ReadTransferCount;
280 LARGE_INTEGER WriteTransferCount;
281 LARGE_INTEGER OtherTransferCount;
282 ULONG ReadOperationCount;
283 ULONG WriteOperationCount;
284 ULONG OtherOperationCount;
285 ULONG AvailablePages;
286 ULONG TotalCommittedPages;
287 ULONG TotalCommitLimit;
288 ULONG PeakCommitment;
289 ULONG PageFaults;
290 ULONG WriteCopyFaults;
291 ULONG TransitionFaults;
292 ULONG Reserved1;
293 ULONG DemandZeroFaults;
294 ULONG PagesRead;
295 ULONG PageReadIos;
296 ULONG Reserved2[2];
297 ULONG PagefilePagesWritten;
298 ULONG PagefilePageWriteIos;
299 ULONG MappedFilePagesWritten;
300 ULONG MappedFilePageWriteIos;
301 ULONG PagedPoolUsage;
302 ULONG NonPagedPoolUsage;
303 ULONG PagedPoolAllocs;
304 ULONG PagedPoolFrees;
305 ULONG NonPagedPoolAllocs;
306 ULONG NonPagedPoolFrees;
307 ULONG TotalFreeSystemPtes;
308 ULONG SystemCodePage;
309 ULONG TotalSystemDriverPages;
310 ULONG TotalSystemCodePages;
311 ULONG SmallNonPagedLookasideListAllocateHits;
312 ULONG SmallPagedLookasideListAllocateHits;
313 ULONG Reserved3;
314 ULONG MmSystemCachePage;
315 ULONG PagedPoolPage;
316 ULONG SystemDriverPage;
317 ULONG FastReadNoWait;
318 ULONG FastReadWait;
319 ULONG FastReadResourceMiss;
320 ULONG FastReadNotPossible;
321 ULONG FastMdlReadNoWait;
322 ULONG FastMdlReadWait;
323 ULONG FastMdlReadResourceMiss;
324 ULONG FastMdlReadNotPossible;
325 ULONG MapDataNoWait;
326 ULONG MapDataWait;
327 ULONG MapDataNoWaitMiss;
328 ULONG MapDataWaitMiss;
329 ULONG PinMappedDataCount;
330 ULONG PinReadNoWait;
331 ULONG PinReadWait;
332 ULONG PinReadNoWaitMiss;
333 ULONG PinReadWaitMiss;
334 ULONG CopyReadNoWait;
335 ULONG CopyReadWait;
336 ULONG CopyReadNoWaitMiss;
337 ULONG CopyReadWaitMiss;
338 ULONG MdlReadNoWait;
339 ULONG MdlReadWait;
340 ULONG MdlReadNoWaitMiss;
341 ULONG MdlReadWaitMiss;
342 ULONG ReadAheadIos;
343 ULONG LazyWriteIos;
344 ULONG LazyWritePages;
345 ULONG DataFlushes;
346 ULONG DataPages;
347 ULONG ContextSwitches;
348 ULONG FirstLevelTbFills;
349 ULONG SecondLevelTbFills;
350 ULONG SystemCalls;
351 } SYSTEM_PERFORMANCE_INFORMATION, *PSYSTEM_PERFORMANCE_INFORMATION;
352
353 typedef struct __attribute__ ((aligned(8))) _SYSTEM_TIME_OF_DAY_INFORMATION
354 {
355 LARGE_INTEGER BootTime;
356 LARGE_INTEGER CurrentTime;
357 LARGE_INTEGER TimeZoneBias;
358 ULONG CurrentTimeZoneId;
359 } SYSTEM_TIME_OF_DAY_INFORMATION, *PSYSTEM_TIME_OF_DAY_INFORMATION;
360
361 typedef enum _PROCESSINFOCLASS
362 {
363 ProcessBasicInformation = 0,
364 ProcessQuotaLimits = 1,
365 ProcessVmCounters = 3,
366 ProcessTimes =4,
367 } PROCESSINFOCLASS;
368
369 typedef struct _DEBUG_BUFFER
370 {
371 HANDLE SectionHandle;
372 PVOID SectionBase;
373 PVOID RemoteSectionBase;
374 ULONG SectionBaseDelta;
375 HANDLE EventPairHandle;
376 ULONG Unknown[2];
377 HANDLE RemoteThreadHandle;
378 ULONG InfoClassMask;
379 ULONG SizeOfInfo;
380 ULONG AllocatedSize;
381 ULONG SectionSize;
382 PVOID ModuleInformation;
383 PVOID BackTraceInformation;
384 PVOID HeapInformation;
385 PVOID LockInformation;
386 PVOID Reserved[9];
387 } DEBUG_BUFFER, *PDEBUG_BUFFER;
388
389 typedef struct _DEBUG_HEAP_INFORMATION
390 {
391 ULONG Base;
392 ULONG Flags;
393 USHORT Granularity;
394 USHORT Unknown;
395 ULONG Allocated;
396 ULONG Committed;
397 ULONG TagCount;
398 ULONG BlockCount;
399 ULONG Reserved[7];
400 PVOID Tags;
401 PVOID Blocks;
402 } DEBUG_HEAP_INFORMATION, *PDEBUG_HEAP_INFORMATION;
403
404 typedef struct _DEBUG_MODULE_INFORMATION
405 {
406 ULONG Reserved[2];
407 ULONG Base;
408 ULONG Size;
409 ULONG Flags;
410 USHORT Index;
411 USHORT Unknown;
412 USHORT LoadCount;
413 USHORT ModuleNameOffset;
414 CHAR ImageName[256];
415 } DEBUG_MODULE_INFORMATION, *PDEBUG_MODULE_INFORMATION;
416
417 typedef struct _KERNEL_USER_TIMES
418 {
419 LARGE_INTEGER CreateTime;
420 LARGE_INTEGER ExitTime;
421 LARGE_INTEGER KernelTime;
422 LARGE_INTEGER UserTime;
423 } KERNEL_USER_TIMES, *PKERNEL_USER_TIMES;
424
425 typedef void *PPEB;
426
427 typedef struct _PROCESS_BASIC_INFORMATION
428 {
429 NTSTATUS ExitStatus;
430 PPEB PebBaseAddress;
431 KAFFINITY AffinityMask;
432 KPRIORITY BasePriority;
433 ULONG UniqueProcessId;
434 ULONG InheritedFromUniqueProcessId;
435 } PROCESS_BASIC_INFORMATION, *PPROCESS_BASIC_INFORMATION;
436
437 typedef enum _MEMORY_INFORMATION_CLASS
438 {
439 MemoryBasicInformation,
440 MemoryWorkingSetList,
441 MemorySectionName,
442 MemoryBasicVlmInformation
443 } MEMORY_INFORMATION_CLASS;
444
445 typedef struct _MEMORY_WORKING_SET_LIST
446 {
447 ULONG NumberOfPages;
448 ULONG WorkingSetList[1];
449 } MEMORY_WORKING_SET_LIST, *PMEMORY_WORKING_SET_LIST;
450
451 typedef struct _FILE_BASIC_INFORMATION {
452 LARGE_INTEGER CreationTime;
453 LARGE_INTEGER LastAccessTime;
454 LARGE_INTEGER LastWriteTime;
455 LARGE_INTEGER ChangeTime;
456 ULONG FileAttributes;
457 } FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION;
458
459 typedef struct _FILE_STANDARD_INFORMATION {
460 LARGE_INTEGER AllocationSize;
461 LARGE_INTEGER EndOfFile;
462 ULONG NumberOfLinks;
463 BOOLEAN DeletePending;
464 BOOLEAN Directory;
465 } FILE_STANDARD_INFORMATION, *PFILE_STANDARD_INFORMATION;
466
467 typedef struct _FILE_INTERNAL_INFORMATION {
468 LARGE_INTEGER FileId;
469 } FILE_INTERNAL_INFORMATION, *PFILE_INTERNAL_INFORMATION;
470
471 typedef struct _FILE_EA_INFORMATION {
472 ULONG EaSize;
473 } FILE_EA_INFORMATION, *PFILE_EA_INFORMATION;
474
475 typedef struct _FILE_ACCESS_INFORMATION {
476 ACCESS_MASK AccessFlags;
477 } FILE_ACCESS_INFORMATION, *PFILE_ACCESS_INFORMATION;
478
479 typedef struct _FILE_POSITION_INFORMATION {
480 LARGE_INTEGER CurrentByteOffset;
481 } FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION;
482
483 typedef struct _FILE_MODE_INFORMATION {
484 ULONG Mode;
485 } FILE_MODE_INFORMATION, *PFILE_MODE_INFORMATION;
486
487 typedef struct _FILE_ALIGNMENT_INFORMATION {
488 ULONG AlignmentRequirement;
489 } FILE_ALIGNMENT_INFORMATION;
490
491 typedef struct _FILE_NAME_INFORMATION {
492 ULONG FileNameLength;
493 WCHAR FileName[1];
494 } FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION;
495
496 typedef struct _FILE_ALL_INFORMATION {
497 FILE_BASIC_INFORMATION BasicInformation;
498 FILE_STANDARD_INFORMATION StandardInformation;
499 FILE_INTERNAL_INFORMATION InternalInformation;
500 FILE_EA_INFORMATION EaInformation;
501 FILE_ACCESS_INFORMATION AccessInformation;
502 FILE_POSITION_INFORMATION PositionInformation;
503 FILE_MODE_INFORMATION ModeInformation;
504 FILE_ALIGNMENT_INFORMATION AlignmentInformation;
505 FILE_NAME_INFORMATION NameInformation;
506 } FILE_ALL_INFORMATION, *PFILE_ALL_INFORMATION;
507
508 typedef struct _FILE_PIPE_LOCAL_INFORMATION
509 {
510 ULONG NamedPipeType;
511 ULONG NamedPipeConfiguration;
512 ULONG MaximumInstances;
513 ULONG CurrentInstances;
514 ULONG InboundQuota;
515 ULONG ReadDataAvailable;
516 ULONG OutboundQuota;
517 ULONG WriteQuotaAvailable;
518 ULONG NamedPipeState;
519 ULONG NamedPipeEnd;
520 } FILE_PIPE_LOCAL_INFORMATION, *PFILE_PIPE_LOCAL_INFORMATION;
521
522 typedef struct _FILE_COMPRESSION_INFORMATION
523 {
524 LARGE_INTEGER CompressedSize;
525 USHORT CompressionFormat;
526 UCHAR CompressionUnitShift;
527 UCHAR Unknown;
528 UCHAR ClusterSizeShift;
529 } FILE_COMPRESSION_INFORMATION, *PFILE_COMPRESSION_INFORMATION;
530
531 typedef struct _FILE_FS_VOLUME_INFORMATION
532 {
533 LARGE_INTEGER VolumeCreationTime;
534 ULONG VolumeSerialNumber;
535 ULONG VolumeLabelLength;
536 BOOLEAN SupportsObjects;
537 WCHAR VolumeLabel[1];
538 } FILE_FS_VOLUME_INFORMATION, *PFILE_FS_VOLUME_INFORMATION;
539
540 typedef struct _FILE_FS_SIZE_INFORMATION
541 {
542 LARGE_INTEGER TotalAllocationUnits;
543 LARGE_INTEGER AvailableAllocationUnits;
544 ULONG SectorsPerAllocationUnit;
545 ULONG BytesPerSector;
546 } FILE_FS_SIZE_INFORMATION, *PFILE_FS_SIZE_INFORMATION;
547
548 typedef enum _FSINFOCLASS {
549 FileFsVolumeInformation = 1,
550 FileFsLabelInformation,
551 FileFsSizeInformation,
552 FileFsDeviceInformation,
553 FileFsAttributeInformation,
554 FileFsControlInformation,
555 FileFsFullSizeInformation,
556 FileFsObjectIdInformation,
557 FileFsDriverPathInformation,
558 FileFsMaximumInformation
559 } FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS;
560
561 typedef enum _OBJECT_INFORMATION_CLASS
562 {
563 ObjectBasicInformation = 0,
564 ObjectNameInformation = 1,
565 ObjectHandleInformation = 4
566 // and many more
567 } OBJECT_INFORMATION_CLASS;
568
569 typedef struct _OBJECT_NAME_INFORMATION
570 {
571 UNICODE_STRING Name;
572 } OBJECT_NAME_INFORMATION;
573
574 typedef struct _DIRECTORY_BASIC_INFORMATION
575 {
576 UNICODE_STRING ObjectName;
577 UNICODE_STRING ObjectTypeName;
578 } DIRECTORY_BASIC_INFORMATION, *PDIRECTORY_BASIC_INFORMATION;
579
580 /* Function declarations for ntdll.dll. These don't appear in any
581 standard Win32 header. */
582 extern "C"
583 {
584 NTSTATUS NTAPI NtClose (HANDLE);
585 NTSTATUS NTAPI NtCreateFile (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES,
586 PIO_STATUS_BLOCK, PLARGE_INTEGER, ULONG, ULONG,
587 ULONG, ULONG, PVOID, ULONG);
588 NTSTATUS NTAPI NtCreateSection (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES,
589 PLARGE_INTEGER, ULONG, ULONG, HANDLE);
590 NTSTATUS NTAPI NtCreateToken (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES,
591 TOKEN_TYPE, PLUID, PLARGE_INTEGER, PTOKEN_USER,
592 PTOKEN_GROUPS, PTOKEN_PRIVILEGES, PTOKEN_OWNER,
593 PTOKEN_PRIMARY_GROUP, PTOKEN_DEFAULT_DACL,
594 PTOKEN_SOURCE);
595 NTSTATUS NTAPI NtLockVirtualMemory (HANDLE, PVOID *, ULONG *, ULONG);
596 NTSTATUS NTAPI NtMapViewOfSection (HANDLE, HANDLE, PVOID *, ULONG, ULONG,
597 PLARGE_INTEGER, PULONG, SECTION_INHERIT,
598 ULONG, ULONG);
599 NTSTATUS NTAPI NtOpenDirectoryObject (PHANDLE, ACCESS_MASK,
600 POBJECT_ATTRIBUTES);
601 NTSTATUS NTAPI NtOpenFile (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES,
602 PIO_STATUS_BLOCK, ULONG, ULONG);
603 NTSTATUS NTAPI NtOpenSection (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);
604 NTSTATUS NTAPI NtQueryDirectoryFile(HANDLE, HANDLE, PVOID, PVOID,
605 PIO_STATUS_BLOCK, PVOID, ULONG,
606 FILE_INFORMATION_CLASS, BOOLEAN,
607 PUNICODE_STRING, BOOLEAN);
608 NTSTATUS NTAPI NtQueryDirectoryObject (HANDLE, PVOID, ULONG, BOOLEAN,
609 BOOLEAN, PULONG, PULONG);
610 NTSTATUS NTAPI NtQueryInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID,
611 ULONG, FILE_INFORMATION_CLASS);
612 NTSTATUS NTAPI NtQueryInformationProcess (HANDLE, PROCESSINFOCLASS,
613 PVOID, ULONG, PULONG);
614 NTSTATUS NTAPI NtQueryObject (HANDLE, OBJECT_INFORMATION_CLASS, VOID *,
615 ULONG, ULONG *);
616 NTSTATUS NTAPI NtQuerySystemInformation (SYSTEM_INFORMATION_CLASS,
617 PVOID, ULONG, PULONG);
618 NTSTATUS NTAPI NtQuerySecurityObject (HANDLE, SECURITY_INFORMATION,
619 PSECURITY_DESCRIPTOR, ULONG, PULONG);
620 NTSTATUS NTAPI NtQueryVirtualMemory (HANDLE, PVOID, MEMORY_INFORMATION_CLASS,
621 PVOID, ULONG, PULONG);
622 NTSTATUS NTAPI NtQueryVolumeInformationFile (HANDLE, IO_STATUS_BLOCK *,
623 VOID *, ULONG,
624 FS_INFORMATION_CLASS);
625 NTSTATUS NTAPI NtSetSecurityObject (HANDLE, SECURITY_INFORMATION,
626 PSECURITY_DESCRIPTOR);
627 NTSTATUS NTAPI NtUnlockVirtualMemory (HANDLE, PVOID *, ULONG *, ULONG);
628 NTSTATUS NTAPI NtUnmapViewOfSection (HANDLE, PVOID);
629 VOID NTAPI RtlInitUnicodeString (PUNICODE_STRING, PCWSTR);
630 ULONG NTAPI RtlIsDosDeviceName_U (PCWSTR);
631 ULONG NTAPI RtlNtStatusToDosError (NTSTATUS);
632 }
This page took 0.063915 seconds and 6 git commands to generate.