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