- Add the real NT Object Callbacks and #ifdef out the ReactOS ones.
[reactos.git] / reactos / include / ndk / iofuncs.h
1 /*++ NDK Version: 0095
2
3 Copyright (c) Alex Ionescu. All rights reserved.
4
5 Header Name:
6
7 iofuncs.h
8
9 Abstract:
10
11 Function definitions for the I/O Manager.
12
13 Author:
14
15 Alex Ionescu (alex.ionescu@reactos.com) 06-Oct-2004
16
17 --*/
18
19 #ifndef _IOFUNCS_H
20 #define _IOFUNCS_H
21
22 //
23 // Dependencies
24 //
25 #include <umtypes.h>
26
27 //
28 // Native calls
29 //
30 NTSTATUS
31 NTAPI
32 NtAddBootEntry(
33 IN PUNICODE_STRING EntryName,
34 IN PUNICODE_STRING EntryValue
35 );
36
37 NTSTATUS
38 NTAPI
39 NtCancelIoFile(
40 IN HANDLE FileHandle,
41 OUT PIO_STATUS_BLOCK IoStatusBlock
42 );
43
44 NTSYSCALLAPI
45 NTSTATUS
46 NTAPI
47 NtCreateFile(
48 OUT PHANDLE FileHandle,
49 IN ACCESS_MASK DesiredAccess,
50 IN POBJECT_ATTRIBUTES ObjectAttributes,
51 OUT PIO_STATUS_BLOCK IoStatusBlock,
52 IN PLARGE_INTEGER AllocationSize OPTIONAL,
53 IN ULONG FileAttributes,
54 IN ULONG ShareAccess,
55 IN ULONG CreateDisposition,
56 IN ULONG CreateOptions,
57 IN PVOID EaBuffer OPTIONAL,
58 IN ULONG EaLength
59 );
60
61 NTSTATUS
62 NTAPI
63 NtCreateIoCompletion(
64 OUT PHANDLE IoCompletionHandle,
65 IN ACCESS_MASK DesiredAccess,
66 IN POBJECT_ATTRIBUTES ObjectAttributes,
67 IN ULONG NumberOfConcurrentThreads
68 );
69
70 NTSTATUS
71 NTAPI
72 NtCreateMailslotFile(
73 OUT PHANDLE MailSlotFileHandle,
74 IN ACCESS_MASK DesiredAccess,
75 IN POBJECT_ATTRIBUTES ObjectAttributes,
76 OUT PIO_STATUS_BLOCK IoStatusBlock,
77 IN ULONG FileAttributes,
78 IN ULONG ShareAccess,
79 IN ULONG MaxMessageSize,
80 IN PLARGE_INTEGER TimeOut
81 );
82
83 NTSTATUS
84 NTAPI
85 NtCreateNamedPipeFile(
86 OUT PHANDLE NamedPipeFileHandle,
87 IN ACCESS_MASK DesiredAccess,
88 IN POBJECT_ATTRIBUTES ObjectAttributes,
89 OUT PIO_STATUS_BLOCK IoStatusBlock,
90 IN ULONG ShareAccess,
91 IN ULONG CreateDisposition,
92 IN ULONG CreateOptions,
93 IN ULONG WriteModeMessage,
94 IN ULONG ReadModeMessage,
95 IN ULONG NonBlocking,
96 IN ULONG MaxInstances,
97 IN ULONG InBufferSize,
98 IN ULONG OutBufferSize,
99 IN PLARGE_INTEGER DefaultTimeOut
100 );
101
102 NTSTATUS
103 NTAPI
104 NtDeleteBootEntry(
105 IN PUNICODE_STRING EntryName,
106 IN PUNICODE_STRING EntryValue
107 );
108
109 NTSTATUS
110 NTAPI
111 NtDeleteFile(
112 IN POBJECT_ATTRIBUTES ObjectAttributes
113 );
114
115 NTSYSCALLAPI
116 NTSTATUS
117 NTAPI
118 NtDeviceIoControlFile(
119 IN HANDLE DeviceHandle,
120 IN HANDLE Event OPTIONAL,
121 IN PIO_APC_ROUTINE UserApcRoutine OPTIONAL,
122 IN PVOID UserApcContext OPTIONAL,
123 OUT PIO_STATUS_BLOCK IoStatusBlock,
124 IN ULONG IoControlCode,
125 IN PVOID InputBuffer,
126 IN ULONG InputBufferSize,
127 OUT PVOID OutputBuffer,
128 IN ULONG OutputBufferSize
129 );
130
131 NTSTATUS
132 NTAPI
133 NtEnumerateBootEntries(
134 IN ULONG Unknown1,
135 IN ULONG Unknown2
136 );
137
138 NTSTATUS
139 NTAPI
140 NtFlushBuffersFile(
141 IN HANDLE FileHandle,
142 OUT PIO_STATUS_BLOCK IoStatusBlock
143 );
144
145 NTSTATUS
146 NTAPI
147 NtFlushWriteBuffer(VOID);
148
149 NTSYSCALLAPI
150 NTSTATUS
151 NTAPI
152 NtFsControlFile(
153 IN HANDLE DeviceHandle,
154 IN HANDLE Event OPTIONAL,
155 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
156 IN PVOID ApcContext OPTIONAL,
157 OUT PIO_STATUS_BLOCK IoStatusBlock,
158 IN ULONG IoControlCode,
159 IN PVOID InputBuffer,
160 IN ULONG InputBufferSize,
161 OUT PVOID OutputBuffer,
162 IN ULONG OutputBufferSize
163 );
164
165 NTSTATUS
166 NTAPI
167 NtLoadDriver(
168 IN PUNICODE_STRING DriverServiceName
169 );
170
171 NTSYSCALLAPI
172 NTSTATUS
173 NTAPI
174 NtLockFile(
175 IN HANDLE FileHandle,
176 IN HANDLE Event OPTIONAL,
177 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
178 IN PVOID ApcContext OPTIONAL,
179 OUT PIO_STATUS_BLOCK IoStatusBlock,
180 IN PLARGE_INTEGER ByteOffset,
181 IN PLARGE_INTEGER Length,
182 IN ULONG Key,
183 IN BOOLEAN FailImmediatedly,
184 IN BOOLEAN ExclusiveLock
185 );
186
187 NTSTATUS
188 NTAPI
189 NtNotifyChangeDirectoryFile(
190 IN HANDLE FileHandle,
191 IN HANDLE Event OPTIONAL,
192 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
193 IN PVOID ApcContext OPTIONAL,
194 OUT PIO_STATUS_BLOCK IoStatusBlock,
195 OUT PVOID Buffer,
196 IN ULONG BufferSize,
197 IN ULONG CompletionFilter,
198 IN BOOLEAN WatchTree
199 );
200
201 NTSYSCALLAPI
202 NTSTATUS
203 NTAPI
204 NtOpenFile(
205 OUT PHANDLE FileHandle,
206 IN ACCESS_MASK DesiredAccess,
207 IN POBJECT_ATTRIBUTES ObjectAttributes,
208 OUT PIO_STATUS_BLOCK IoStatusBlock,
209 IN ULONG ShareAccess,
210 IN ULONG OpenOptions
211 );
212
213 NTSTATUS
214 NTAPI
215 NtOpenIoCompletion(
216 OUT PHANDLE CompetionPort,
217 IN ACCESS_MASK DesiredAccess,
218 IN POBJECT_ATTRIBUTES ObjectAttributes
219 );
220
221 NTSTATUS
222 NTAPI
223 NtQueryAttributesFile(
224 IN POBJECT_ATTRIBUTES ObjectAttributes,
225 OUT PFILE_BASIC_INFORMATION FileInformation
226 );
227
228 NTSTATUS
229 NTAPI
230 NtQueryBootEntryOrder(
231 IN ULONG Unknown1,
232 IN ULONG Unknown2
233 );
234
235 NTSTATUS
236 NTAPI
237 NtQueryBootOptions(
238 IN ULONG Unknown1,
239 IN ULONG Unknown2
240 );
241
242 NTSYSCALLAPI
243 NTSTATUS
244 NTAPI
245 NtQueryDirectoryFile(
246 IN HANDLE FileHandle,
247 IN HANDLE Event OPTIONAL,
248 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
249 IN PVOID ApcContext OPTIONAL,
250 OUT PIO_STATUS_BLOCK IoStatusBlock,
251 OUT PVOID FileInformation,
252 IN ULONG Length,
253 IN FILE_INFORMATION_CLASS FileInformationClass,
254 IN BOOLEAN ReturnSingleEntry,
255 IN PUNICODE_STRING FileName OPTIONAL,
256 IN BOOLEAN RestartScan
257 );
258
259 NTSTATUS
260 NTAPI
261 NtQueryEaFile(
262 IN HANDLE FileHandle,
263 OUT PIO_STATUS_BLOCK IoStatusBlock,
264 OUT PVOID Buffer,
265 IN ULONG Length,
266 IN BOOLEAN ReturnSingleEntry,
267 IN PVOID EaList OPTIONAL,
268 IN ULONG EaListLength,
269 IN PULONG EaIndex OPTIONAL,
270 IN BOOLEAN RestartScan
271 );
272
273 NTSTATUS
274 NTAPI
275 NtQueryFullAttributesFile(
276 IN POBJECT_ATTRIBUTES ObjectAttributes,
277 OUT PFILE_NETWORK_OPEN_INFORMATION FileInformation
278 );
279
280 NTSYSCALLAPI
281 NTSTATUS
282 NTAPI
283 NtQueryInformationFile(
284 IN HANDLE FileHandle,
285 OUT PIO_STATUS_BLOCK IoStatusBlock,
286 OUT PVOID FileInformation,
287 IN ULONG Length,
288 IN FILE_INFORMATION_CLASS FileInformationClass
289 );
290
291 NTSTATUS
292 NTAPI
293 NtQueryIoCompletion(
294 IN HANDLE IoCompletionHandle,
295 IN IO_COMPLETION_INFORMATION_CLASS IoCompletionInformationClass,
296 OUT PVOID IoCompletionInformation,
297 IN ULONG IoCompletionInformationLength,
298 OUT PULONG ResultLength OPTIONAL
299 );
300
301 NTSYSCALLAPI
302 NTSTATUS
303 NTAPI
304 NtQueryQuotaInformationFile(
305 IN HANDLE FileHandle,
306 OUT PIO_STATUS_BLOCK IoStatusBlock,
307 OUT PVOID Buffer,
308 IN ULONG Length,
309 IN BOOLEAN ReturnSingleEntry,
310 IN PVOID SidList OPTIONAL,
311 IN ULONG SidListLength,
312 IN PSID StartSid OPTIONAL,
313 IN BOOLEAN RestartScan
314 );
315
316 NTSYSCALLAPI
317 NTSTATUS
318 NTAPI
319 NtQueryVolumeInformationFile(
320 IN HANDLE FileHandle,
321 OUT PIO_STATUS_BLOCK IoStatusBlock,
322 OUT PVOID FsInformation,
323 IN ULONG Length,
324 IN FS_INFORMATION_CLASS FsInformationClass
325 );
326
327 NTSYSCALLAPI
328 NTSTATUS
329 NTAPI
330 NtReadFile(
331 IN HANDLE FileHandle,
332 IN HANDLE Event OPTIONAL,
333 IN PIO_APC_ROUTINE UserApcRoutine OPTIONAL,
334 IN PVOID UserApcContext OPTIONAL,
335 OUT PIO_STATUS_BLOCK IoStatusBlock,
336 OUT PVOID Buffer,
337 IN ULONG BufferLength,
338 IN PLARGE_INTEGER ByteOffset OPTIONAL,
339 IN PULONG Key OPTIONAL
340 );
341
342 NTSTATUS
343 NTAPI
344 NtReadFileScatter(
345 IN HANDLE FileHandle,
346 IN HANDLE Event OPTIONAL,
347 IN PIO_APC_ROUTINE UserApcRoutine OPTIONAL,
348 IN PVOID UserApcContext OPTIONAL,
349 OUT PIO_STATUS_BLOCK UserIoStatusBlock,
350 IN FILE_SEGMENT_ELEMENT BufferDescription[],
351 IN ULONG BufferLength,
352 IN PLARGE_INTEGER ByteOffset,
353 IN PULONG Key OPTIONAL
354 );
355
356 NTSTATUS
357 NTAPI
358 NtRemoveIoCompletion(
359 IN HANDLE IoCompletionHandle,
360 OUT PVOID *CompletionKey,
361 OUT PVOID *CompletionContext,
362 OUT PIO_STATUS_BLOCK IoStatusBlock,
363 IN PLARGE_INTEGER Timeout OPTIONAL
364 );
365
366 NTSTATUS
367 NTAPI
368 NtSetBootEntryOrder(
369 IN ULONG Unknown1,
370 IN ULONG Unknown2
371 );
372
373 NTSTATUS
374 NTAPI
375 NtSetBootOptions(
376 ULONG Unknown1,
377 ULONG Unknown2
378 );
379
380 NTSTATUS
381 NTAPI
382 NtSetEaFile(
383 IN HANDLE FileHandle,
384 IN PIO_STATUS_BLOCK IoStatusBlock,
385 PVOID EaBuffer,
386 ULONG EaBufferSize
387 );
388
389 NTSYSCALLAPI
390 NTSTATUS
391 NTAPI
392 NtSetInformationFile(
393 IN HANDLE FileHandle,
394 IN PIO_STATUS_BLOCK IoStatusBlock,
395 IN PVOID FileInformation,
396 IN ULONG Length,
397 IN FILE_INFORMATION_CLASS FileInformationClass
398 );
399
400 NTSTATUS
401 NTAPI
402 NtSetIoCompletion(
403 IN HANDLE IoCompletionPortHandle,
404 IN PVOID CompletionKey,
405 IN PVOID CompletionContext,
406 IN NTSTATUS CompletionStatus,
407 IN ULONG CompletionInformation
408 );
409
410 NTSYSCALLAPI
411 NTSTATUS
412 NTAPI
413 NtSetQuotaInformationFile(
414 HANDLE FileHandle,
415 PIO_STATUS_BLOCK IoStatusBlock,
416 PVOID Buffer,
417 ULONG BufferLength
418 );
419
420 NTSYSCALLAPI
421 NTSTATUS
422 NTAPI
423 NtSetVolumeInformationFile(
424 IN HANDLE FileHandle,
425 OUT PIO_STATUS_BLOCK IoStatusBlock,
426 IN PVOID FsInformation,
427 IN ULONG Length,
428 IN FS_INFORMATION_CLASS FsInformationClass
429 );
430
431 NTSTATUS
432 NTAPI
433 NtTranslateFilePath(
434 ULONG Unknown1,
435 ULONG Unknown2,
436 ULONG Unknown3
437 );
438
439 NTSTATUS
440 NTAPI
441 NtUnloadDriver(
442 IN PUNICODE_STRING DriverServiceName
443 );
444
445 NTSYSCALLAPI
446 NTSTATUS
447 NTAPI
448 NtUnlockFile(
449 IN HANDLE FileHandle,
450 OUT PIO_STATUS_BLOCK IoStatusBlock,
451 IN PLARGE_INTEGER ByteOffset,
452 IN PLARGE_INTEGER Lenght,
453 OUT ULONG Key OPTIONAL
454 );
455
456 NTSYSCALLAPI
457 NTSTATUS
458 NTAPI
459 NtWriteFile(
460 IN HANDLE FileHandle,
461 IN HANDLE Event OPTIONAL,
462 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
463 IN PVOID ApcContext OPTIONAL,
464 OUT PIO_STATUS_BLOCK IoStatusBlock,
465 IN PVOID Buffer,
466 IN ULONG Length,
467 IN PLARGE_INTEGER ByteOffset,
468 IN PULONG Key OPTIONAL
469 );
470
471 NTSTATUS
472 NTAPI
473 NtWriteFileGather(
474 IN HANDLE FileHandle,
475 IN HANDLE Event OPTIONAL,
476 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
477 IN PVOID ApcContext OPTIONAL,
478 OUT PIO_STATUS_BLOCK IoStatusBlock,
479 IN FILE_SEGMENT_ELEMENT BufferDescription[],
480 IN ULONG BufferLength,
481 IN PLARGE_INTEGER ByteOffset,
482 IN PULONG Key OPTIONAL
483 );
484
485 NTSTATUS
486 NTAPI
487 ZwAddBootEntry(
488 IN PUNICODE_STRING EntryName,
489 IN PUNICODE_STRING EntryValue
490 );
491
492 NTSTATUS
493 NTAPI
494 ZwCancelIoFile(
495 IN HANDLE FileHandle,
496 OUT PIO_STATUS_BLOCK IoStatusBlock
497 );
498
499 NTSYSCALLAPI
500 NTSTATUS
501 NTAPI
502 ZwCreateFile(
503 OUT PHANDLE FileHandle,
504 IN ACCESS_MASK DesiredAccess,
505 IN POBJECT_ATTRIBUTES ObjectAttributes,
506 OUT PIO_STATUS_BLOCK IoStatusBlock,
507 IN PLARGE_INTEGER AllocationSize OPTIONAL,
508 IN ULONG FileAttributes,
509 IN ULONG ShareAccess,
510 IN ULONG CreateDisposition,
511 IN ULONG CreateOptions,
512 IN PVOID EaBuffer OPTIONAL,
513 IN ULONG EaLength
514 );
515
516 NTSTATUS
517 NTAPI
518 ZwCreateIoCompletion(
519 OUT PHANDLE IoCompletionHandle,
520 IN ACCESS_MASK DesiredAccess,
521 IN POBJECT_ATTRIBUTES ObjectAttributes,
522 IN ULONG NumberOfConcurrentThreads
523 );
524
525 NTSTATUS
526 NTAPI
527 ZwCreateMailslotFile(
528 OUT PHANDLE MailSlotFileHandle,
529 IN ACCESS_MASK DesiredAccess,
530 IN POBJECT_ATTRIBUTES ObjectAttributes,
531 OUT PIO_STATUS_BLOCK IoStatusBlock,
532 IN ULONG FileAttributes,
533 IN ULONG ShareAccess,
534 IN ULONG MaxMessageSize,
535 IN PLARGE_INTEGER TimeOut
536 );
537
538 NTSTATUS
539 NTAPI
540 ZwCreateNamedPipeFile(
541 OUT PHANDLE NamedPipeFileHandle,
542 IN ACCESS_MASK DesiredAccess,
543 IN POBJECT_ATTRIBUTES ObjectAttributes,
544 OUT PIO_STATUS_BLOCK IoStatusBlock,
545 IN ULONG ShareAccess,
546 IN ULONG CreateDisposition,
547 IN ULONG CreateOptions,
548 IN ULONG WriteModeMessage,
549 IN ULONG ReadModeMessage,
550 IN ULONG NonBlocking,
551 IN ULONG MaxInstances,
552 IN ULONG InBufferSize,
553 IN ULONG OutBufferSize,
554 IN PLARGE_INTEGER DefaultTimeOut
555 );
556
557 NTSTATUS
558 NTAPI
559 ZwDeleteBootEntry(
560 IN PUNICODE_STRING EntryName,
561 IN PUNICODE_STRING EntryValue
562 );
563
564 NTSTATUS
565 NTAPI
566 ZwDeleteFile(
567 IN POBJECT_ATTRIBUTES ObjectAttributes
568 );
569
570 NTSYSCALLAPI
571 NTSTATUS
572 NTAPI
573 ZwDeviceIoControlFile(
574 IN HANDLE DeviceHandle,
575 IN HANDLE Event OPTIONAL,
576 IN PIO_APC_ROUTINE UserApcRoutine OPTIONAL,
577 IN PVOID UserApcContext OPTIONAL,
578 OUT PIO_STATUS_BLOCK IoStatusBlock,
579 IN ULONG IoControlCode,
580 IN PVOID InputBuffer,
581 IN ULONG InputBufferSize,
582 OUT PVOID OutputBuffer,
583 IN ULONG OutputBufferSize
584 );
585
586 NTSTATUS
587 NTAPI
588 ZwEnumerateBootEntries(
589 IN ULONG Unknown1,
590 IN ULONG Unknown2
591 );
592
593 NTSTATUS
594 NTAPI
595 ZwFlushBuffersFile(
596 IN HANDLE FileHandle,
597 OUT PIO_STATUS_BLOCK IoStatusBlock
598 );
599
600 NTSTATUS
601 NTAPI
602 ZwFlushWriteBuffer(VOID);
603
604 NTSYSCALLAPI
605 NTSTATUS
606 NTAPI
607 ZwFsControlFile(
608 IN HANDLE DeviceHandle,
609 IN HANDLE Event OPTIONAL,
610 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
611 IN PVOID ApcContext OPTIONAL,
612 OUT PIO_STATUS_BLOCK IoStatusBlock,
613 IN ULONG IoControlCode,
614 IN PVOID InputBuffer,
615 IN ULONG InputBufferSize,
616 OUT PVOID OutputBuffer,
617 IN ULONG OutputBufferSize
618 );
619
620 NTSTATUS
621 NTAPI
622 ZwLoadDriver(
623 IN PUNICODE_STRING DriverServiceName
624 );
625
626 NTSYSCALLAPI
627 NTSTATUS
628 NTAPI
629 ZwLockFile(
630 IN HANDLE FileHandle,
631 IN HANDLE Event OPTIONAL,
632 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
633 IN PVOID ApcContext OPTIONAL,
634 OUT PIO_STATUS_BLOCK IoStatusBlock,
635 IN PLARGE_INTEGER ByteOffset,
636 IN PLARGE_INTEGER Length,
637 IN ULONG Key,
638 IN BOOLEAN FailImmediatedly,
639 IN BOOLEAN ExclusiveLock
640 );
641
642 NTSTATUS
643 NTAPI
644 ZwNotifyChangeDirectoryFile(
645 IN HANDLE FileHandle,
646 IN HANDLE Event OPTIONAL,
647 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
648 IN PVOID ApcContext OPTIONAL,
649 OUT PIO_STATUS_BLOCK IoStatusBlock,
650 OUT PVOID Buffer,
651 IN ULONG BufferSize,
652 IN ULONG CompletionFilter,
653 IN BOOLEAN WatchTree
654 );
655
656 NTSYSCALLAPI
657 NTSTATUS
658 NTAPI
659 ZwOpenFile(
660 OUT PHANDLE FileHandle,
661 IN ACCESS_MASK DesiredAccess,
662 IN POBJECT_ATTRIBUTES ObjectAttributes,
663 OUT PIO_STATUS_BLOCK IoStatusBlock,
664 IN ULONG ShareAccess,
665 IN ULONG OpenOptions
666 );
667
668 NTSTATUS
669 NTAPI
670 ZwOpenIoCompletion(
671 OUT PHANDLE CompetionPort,
672 IN ACCESS_MASK DesiredAccess,
673 IN POBJECT_ATTRIBUTES ObjectAttributes
674 );
675
676 NTSTATUS
677 NTAPI
678 ZwQueryAttributesFile(
679 IN POBJECT_ATTRIBUTES ObjectAttributes,
680 OUT PFILE_BASIC_INFORMATION FileInformation
681 );
682
683 NTSTATUS
684 NTAPI
685 ZwQueryBootEntryOrder(
686 IN ULONG Unknown1,
687 IN ULONG Unknown2
688 );
689
690 NTSTATUS
691 NTAPI
692 ZwQueryBootOptions(
693 IN ULONG Unknown1,
694 IN ULONG Unknown2
695 );
696
697 NTSYSCALLAPI
698 NTSTATUS
699 NTAPI
700 ZwQueryDirectoryFile(
701 IN HANDLE FileHandle,
702 IN HANDLE Event OPTIONAL,
703 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
704 IN PVOID ApcContext OPTIONAL,
705 OUT PIO_STATUS_BLOCK IoStatusBlock,
706 OUT PVOID FileInformation,
707 IN ULONG Length,
708 IN FILE_INFORMATION_CLASS FileInformationClass,
709 IN BOOLEAN ReturnSingleEntry,
710 IN PUNICODE_STRING FileName OPTIONAL,
711 IN BOOLEAN RestartScan
712 );
713
714 NTSTATUS
715 NTAPI
716 ZwQueryEaFile(
717 IN HANDLE FileHandle,
718 OUT PIO_STATUS_BLOCK IoStatusBlock,
719 OUT PVOID Buffer,
720 IN ULONG Length,
721 IN BOOLEAN ReturnSingleEntry,
722 IN PVOID EaList OPTIONAL,
723 IN ULONG EaListLength,
724 IN PULONG EaIndex OPTIONAL,
725 IN BOOLEAN RestartScan
726 );
727
728 NTSTATUS
729 NTAPI
730 ZwQueryFullAttributesFile(
731 IN POBJECT_ATTRIBUTES ObjectAttributes,
732 OUT PFILE_NETWORK_OPEN_INFORMATION FileInformation
733 );
734
735 NTSYSCALLAPI
736 NTSTATUS
737 NTAPI
738 ZwQueryInformationFile(
739 IN HANDLE FileHandle,
740 OUT PIO_STATUS_BLOCK IoStatusBlock,
741 OUT PVOID FileInformation,
742 IN ULONG Length,
743 IN FILE_INFORMATION_CLASS FileInformationClass
744 );
745
746 NTSTATUS
747 NTAPI
748 ZwQueryIoCompletion(
749 IN HANDLE IoCompletionHandle,
750 IN IO_COMPLETION_INFORMATION_CLASS IoCompletionInformationClass,
751 OUT PVOID IoCompletionInformation,
752 IN ULONG IoCompletionInformationLength,
753 OUT PULONG ResultLength OPTIONAL
754 );
755
756 NTSYSCALLAPI
757 NTSTATUS
758 NTAPI
759 ZwQueryQuotaInformationFile(
760 IN HANDLE FileHandle,
761 OUT PIO_STATUS_BLOCK IoStatusBlock,
762 OUT PVOID Buffer,
763 IN ULONG Length,
764 IN BOOLEAN ReturnSingleEntry,
765 IN PVOID SidList OPTIONAL,
766 IN ULONG SidListLength,
767 IN PSID StartSid OPTIONAL,
768 IN BOOLEAN RestartScan
769 );
770
771 NTSYSCALLAPI
772 NTSTATUS
773 NTAPI
774 ZwQueryVolumeInformationFile(
775 IN HANDLE FileHandle,
776 OUT PIO_STATUS_BLOCK IoStatusBlock,
777 OUT PVOID FsInformation,
778 IN ULONG Length,
779 IN FS_INFORMATION_CLASS FsInformationClass
780 );
781
782 NTSYSCALLAPI
783 NTSTATUS
784 NTAPI
785 ZwReadFile(
786 IN HANDLE FileHandle,
787 IN HANDLE Event OPTIONAL,
788 IN PIO_APC_ROUTINE UserApcRoutine OPTIONAL,
789 IN PVOID UserApcContext OPTIONAL,
790 OUT PIO_STATUS_BLOCK IoStatusBlock,
791 OUT PVOID Buffer,
792 IN ULONG BufferLength,
793 IN PLARGE_INTEGER ByteOffset OPTIONAL,
794 IN PULONG Key OPTIONAL
795 );
796
797 NTSTATUS
798 NTAPI
799 ZwReadFileScatter(
800 IN HANDLE FileHandle,
801 IN HANDLE Event OPTIONAL,
802 IN PIO_APC_ROUTINE UserApcRoutine OPTIONAL,
803 IN PVOID UserApcContext OPTIONAL,
804 OUT PIO_STATUS_BLOCK UserIoStatusBlock,
805 IN FILE_SEGMENT_ELEMENT BufferDescription[],
806 IN ULONG BufferLength,
807 IN PLARGE_INTEGER ByteOffset,
808 IN PULONG Key OPTIONAL
809 );
810
811 NTSTATUS
812 NTAPI
813 ZwRemoveIoCompletion(
814 IN HANDLE IoCompletionHandle,
815 OUT PVOID *CompletionKey,
816 OUT PVOID *CompletionContext,
817 OUT PIO_STATUS_BLOCK IoStatusBlock,
818 IN PLARGE_INTEGER Timeout OPTIONAL
819 );
820
821 NTSTATUS
822 NTAPI
823 ZwSetBootEntryOrder(
824 IN ULONG Unknown1,
825 IN ULONG Unknown2
826 );
827
828 NTSTATUS
829 NTAPI
830 ZwSetBootOptions(
831 ULONG Unknown1,
832 ULONG Unknown2
833 );
834
835 NTSTATUS
836 NTAPI
837 ZwSetEaFile(
838 IN HANDLE FileHandle,
839 IN PIO_STATUS_BLOCK IoStatusBlock,
840 PVOID EaBuffer,
841 ULONG EaBufferSize
842 );
843
844 NTSYSCALLAPI
845 NTSTATUS
846 NTAPI
847 ZwSetInformationFile(
848 IN HANDLE FileHandle,
849 IN PIO_STATUS_BLOCK IoStatusBlock,
850 IN PVOID FileInformation,
851 IN ULONG Length,
852 IN FILE_INFORMATION_CLASS FileInformationClass
853 );
854
855 NTSTATUS
856 NTAPI
857 ZwSetIoCompletion(
858 IN HANDLE IoCompletionPortHandle,
859 IN PVOID CompletionKey,
860 IN PVOID CompletionContext,
861 IN NTSTATUS CompletionStatus,
862 IN ULONG CompletionInformation
863 );
864
865 NTSYSCALLAPI
866 NTSTATUS
867 NTAPI
868 ZwSetQuotaInformationFile(
869 HANDLE FileHandle,
870 PIO_STATUS_BLOCK IoStatusBlock,
871 PVOID Buffer,
872 ULONG BufferLength
873 );
874
875 NTSYSCALLAPI
876 NTSTATUS
877 NTAPI
878 ZwSetVolumeInformationFile(
879 IN HANDLE FileHandle,
880 OUT PIO_STATUS_BLOCK IoStatusBlock,
881 IN PVOID FsInformation,
882 IN ULONG Length,
883 IN FS_INFORMATION_CLASS FsInformationClass
884 );
885
886 NTSTATUS
887 NTAPI
888 ZwTranslateFilePath(
889 ULONG Unknown1,
890 ULONG Unknown2,
891 ULONG Unknown3
892 );
893
894 NTSTATUS
895 NTAPI
896 ZwUnloadDriver(
897 IN PUNICODE_STRING DriverServiceName
898 );
899
900 NTSYSCALLAPI
901 NTSTATUS
902 NTAPI
903 ZwUnlockFile(
904 IN HANDLE FileHandle,
905 OUT PIO_STATUS_BLOCK IoStatusBlock,
906 IN PLARGE_INTEGER ByteOffset,
907 IN PLARGE_INTEGER Lenght,
908 OUT ULONG Key OPTIONAL
909 );
910
911 NTSYSCALLAPI
912 NTSTATUS
913 NTAPI
914 ZwWriteFile(
915 IN HANDLE FileHandle,
916 IN HANDLE Event OPTIONAL,
917 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
918 IN PVOID ApcContext OPTIONAL,
919 OUT PIO_STATUS_BLOCK IoStatusBlock,
920 IN PVOID Buffer,
921 IN ULONG Length,
922 IN PLARGE_INTEGER ByteOffset,
923 IN PULONG Key OPTIONAL
924 );
925
926 NTSTATUS
927 NTAPI
928 ZwWriteFileGather(
929 IN HANDLE FileHandle,
930 IN HANDLE Event OPTIONAL,
931 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
932 IN PVOID ApcContext OPTIONAL,
933 OUT PIO_STATUS_BLOCK IoStatusBlock,
934 IN FILE_SEGMENT_ELEMENT BufferDescription[],
935 IN ULONG BufferLength,
936 IN PLARGE_INTEGER ByteOffset,
937 IN PULONG Key OPTIONAL
938 );
939
940 #endif
941