[XDK]
[reactos.git] / include / xdk / zwfuncs.h
1 /******************************************************************************
2 * ZwXxx Functions *
3 ******************************************************************************/
4
5 $if (_WDMDDK_)
6
7 /* Constants */
8 #define NtCurrentProcess() ( (HANDLE)(LONG_PTR) -1 )
9 #define ZwCurrentProcess() NtCurrentProcess()
10 #define NtCurrentThread() ( (HANDLE)(LONG_PTR) -2 )
11 #define ZwCurrentThread() NtCurrentThread()
12
13 $endif
14
15 $if (_NTDDK_)
16
17 NTSYSAPI
18 NTSTATUS
19 NTAPI
20 ZwAllocateLocallyUniqueId(
21 OUT PLUID Luid);
22
23 NTSYSAPI
24 NTSTATUS
25 NTAPI
26 ZwTerminateProcess(
27 IN HANDLE ProcessHandle OPTIONAL,
28 IN NTSTATUS ExitStatus);
29
30 NTSYSAPI
31 NTSTATUS
32 NTAPI
33 ZwOpenProcess(
34 OUT PHANDLE ProcessHandle,
35 IN ACCESS_MASK DesiredAccess,
36 IN POBJECT_ATTRIBUTES ObjectAttributes,
37 IN PCLIENT_ID ClientId OPTIONAL);
38
39 $endif
40
41 #if (NTDDI_VERSION >= NTDDI_WIN2K)
42
43 $if (_NTDDK_)
44
45 NTSTATUS
46 NTAPI
47 ZwCancelTimer(
48 IN HANDLE TimerHandle,
49 OUT PBOOLEAN CurrentState OPTIONAL);
50
51 NTSTATUS
52 NTAPI
53 ZwCreateTimer(
54 OUT PHANDLE TimerHandle,
55 IN ACCESS_MASK DesiredAccess,
56 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
57 IN TIMER_TYPE TimerType);
58
59 NTSTATUS
60 NTAPI
61 ZwOpenTimer(
62 OUT PHANDLE TimerHandle,
63 IN ACCESS_MASK DesiredAccess,
64 IN POBJECT_ATTRIBUTES ObjectAttributes);
65
66 NTSYSAPI
67 NTSTATUS
68 NTAPI
69 ZwSetInformationThread(
70 IN HANDLE ThreadHandle,
71 IN THREADINFOCLASS ThreadInformationClass,
72 IN PVOID ThreadInformation,
73 IN ULONG ThreadInformationLength);
74
75 NTSTATUS
76 NTAPI
77 ZwSetTimer(
78 IN HANDLE TimerHandle,
79 IN PLARGE_INTEGER DueTime,
80 IN PTIMER_APC_ROUTINE TimerApcRoutine OPTIONAL,
81 IN PVOID TimerContext OPTIONAL,
82 IN BOOLEAN ResumeTimer,
83 IN LONG Period OPTIONAL,
84 OUT PBOOLEAN PreviousState OPTIONAL);
85
86 NTSYSAPI
87 NTSTATUS
88 NTAPI
89 ZwDisplayString(
90 IN PUNICODE_STRING String);
91
92 NTSYSAPI
93 NTSTATUS
94 NTAPI
95 ZwPowerInformation(
96 IN POWER_INFORMATION_LEVEL PowerInformationLevel,
97 IN PVOID InputBuffer OPTIONAL,
98 IN ULONG InputBufferLength,
99 OUT PVOID OutputBuffer OPTIONAL,
100 IN ULONG OutputBufferLength);
101
102 NTSYSAPI
103 NTSTATUS
104 NTAPI
105 ZwQueryVolumeInformationFile(
106 IN HANDLE FileHandle,
107 OUT PIO_STATUS_BLOCK IoStatusBlock,
108 OUT PVOID FsInformation,
109 IN ULONG Length,
110 IN FS_INFORMATION_CLASS FsInformationClass);
111
112 NTSYSAPI
113 NTSTATUS
114 NTAPI
115 ZwDeviceIoControlFile(
116 IN HANDLE FileHandle,
117 IN HANDLE Event OPTIONAL,
118 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
119 IN PVOID ApcContext OPTIONAL,
120 OUT PIO_STATUS_BLOCK IoStatusBlock,
121 IN ULONG IoControlCode,
122 IN PVOID InputBuffer OPTIONAL,
123 IN ULONG InputBufferLength,
124 OUT PVOID OutputBuffer OPTIONAL,
125 IN ULONG OutputBufferLength);
126
127 $endif
128
129 $if (_WDMDDK_)
130
131 NTSYSAPI
132 NTSTATUS
133 NTAPI
134 ZwClose(
135 IN HANDLE Handle);
136
137 NTSYSAPI
138 NTSTATUS
139 NTAPI
140 ZwCreateDirectoryObject(
141 OUT PHANDLE DirectoryHandle,
142 IN ACCESS_MASK DesiredAccess,
143 IN POBJECT_ATTRIBUTES ObjectAttributes);
144
145 NTSYSAPI
146 NTSTATUS
147 NTAPI
148 ZwCreateFile(
149 OUT PHANDLE FileHandle,
150 IN ACCESS_MASK DesiredAccess,
151 IN POBJECT_ATTRIBUTES ObjectAttributes,
152 OUT PIO_STATUS_BLOCK IoStatusBlock,
153 IN PLARGE_INTEGER AllocationSize OPTIONAL,
154 IN ULONG FileAttributes,
155 IN ULONG ShareAccess,
156 IN ULONG CreateDisposition,
157 IN ULONG CreateOptions,
158 IN PVOID EaBuffer OPTIONAL,
159 IN ULONG EaLength);
160
161 NTSYSAPI
162 NTSTATUS
163 NTAPI
164 ZwCreateKey(
165 OUT PHANDLE KeyHandle,
166 IN ACCESS_MASK DesiredAccess,
167 IN POBJECT_ATTRIBUTES ObjectAttributes,
168 IN ULONG TitleIndex,
169 IN PUNICODE_STRING Class OPTIONAL,
170 IN ULONG CreateOptions,
171 OUT PULONG Disposition OPTIONAL);
172
173 NTSYSAPI
174 NTSTATUS
175 NTAPI
176 ZwCreateSection(
177 OUT PHANDLE SectionHandle,
178 IN ACCESS_MASK DesiredAccess,
179 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
180 IN PLARGE_INTEGER MaximumSize OPTIONAL,
181 IN ULONG SectionPageProtection,
182 IN ULONG AllocationAttributes,
183 IN HANDLE FileHandle OPTIONAL);
184
185 NTSYSAPI
186 NTSTATUS
187 NTAPI
188 ZwDeleteKey(
189 IN HANDLE KeyHandle);
190
191 NTSYSAPI
192 NTSTATUS
193 NTAPI
194 ZwDeleteValueKey(
195 IN HANDLE KeyHandle,
196 IN PUNICODE_STRING ValueName);
197
198 NTSYSAPI
199 NTSTATUS
200 NTAPI
201 ZwEnumerateKey(
202 IN HANDLE KeyHandle,
203 IN ULONG Index,
204 IN KEY_INFORMATION_CLASS KeyInformationClass,
205 OUT PVOID KeyInformation OPTIONAL,
206 IN ULONG Length,
207 OUT PULONG ResultLength);
208
209 NTSYSAPI
210 NTSTATUS
211 NTAPI
212 ZwEnumerateValueKey(
213 IN HANDLE KeyHandle,
214 IN ULONG Index,
215 IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
216 OUT PVOID KeyValueInformation OPTIONAL,
217 IN ULONG Length,
218 OUT PULONG ResultLength);
219
220 NTSYSAPI
221 NTSTATUS
222 NTAPI
223 ZwFlushKey(
224 IN HANDLE KeyHandle);
225
226 NTSYSAPI
227 NTSTATUS
228 NTAPI
229 ZwLoadDriver(
230 IN PUNICODE_STRING DriverServiceName);
231
232 NTSYSAPI
233 NTSTATUS
234 NTAPI
235 ZwMakeTemporaryObject(
236 IN HANDLE Handle);
237
238 NTSYSAPI
239 NTSTATUS
240 NTAPI
241 ZwMapViewOfSection(
242 IN HANDLE SectionHandle,
243 IN HANDLE ProcessHandle,
244 IN OUT PVOID *BaseAddress,
245 IN ULONG_PTR ZeroBits,
246 IN SIZE_T CommitSize,
247 IN OUT PLARGE_INTEGER SectionOffset OPTIONAL,
248 IN OUT PSIZE_T ViewSize,
249 IN SECTION_INHERIT InheritDisposition,
250 IN ULONG AllocationType,
251 IN ULONG Protect);
252
253 NTSYSAPI
254 NTSTATUS
255 NTAPI
256 ZwOpenFile(
257 OUT PHANDLE FileHandle,
258 IN ACCESS_MASK DesiredAccess,
259 IN POBJECT_ATTRIBUTES ObjectAttributes,
260 OUT PIO_STATUS_BLOCK IoStatusBlock,
261 IN ULONG ShareAccess,
262 IN ULONG OpenOptions);
263
264 NTSYSAPI
265 NTSTATUS
266 NTAPI
267 ZwOpenKey(
268 OUT PHANDLE KeyHandle,
269 IN ACCESS_MASK DesiredAccess,
270 IN POBJECT_ATTRIBUTES ObjectAttributes);
271
272 NTSYSAPI
273 NTSTATUS
274 NTAPI
275 ZwOpenSection(
276 OUT PHANDLE SectionHandle,
277 IN ACCESS_MASK DesiredAccess,
278 IN POBJECT_ATTRIBUTES ObjectAttributes);
279
280 NTSYSAPI
281 NTSTATUS
282 NTAPI
283 ZwOpenSymbolicLinkObject(
284 OUT PHANDLE LinkHandle,
285 IN ACCESS_MASK DesiredAccess,
286 IN POBJECT_ATTRIBUTES ObjectAttributes);
287
288 NTSYSAPI
289 NTSTATUS
290 NTAPI
291 ZwQueryInformationFile(
292 IN HANDLE FileHandle,
293 OUT PIO_STATUS_BLOCK IoStatusBlock,
294 OUT PVOID FileInformation,
295 IN ULONG Length,
296 IN FILE_INFORMATION_CLASS FileInformationClass);
297
298 NTSYSAPI
299 NTSTATUS
300 NTAPI
301 ZwQueryKey(
302 IN HANDLE KeyHandle,
303 IN KEY_INFORMATION_CLASS KeyInformationClass,
304 OUT PVOID KeyInformation OPTIONAL,
305 IN ULONG Length,
306 OUT PULONG ResultLength);
307
308 NTSYSAPI
309 NTSTATUS
310 NTAPI
311 ZwQuerySymbolicLinkObject(
312 IN HANDLE LinkHandle,
313 IN OUT PUNICODE_STRING LinkTarget,
314 OUT PULONG ReturnedLength OPTIONAL);
315
316 NTSYSAPI
317 NTSTATUS
318 NTAPI
319 ZwQueryValueKey(
320 IN HANDLE KeyHandle,
321 IN PUNICODE_STRING ValueName,
322 IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
323 OUT PVOID KeyValueInformation OPTIONAL,
324 IN ULONG Length,
325 OUT PULONG ResultLength);
326
327 NTSYSAPI
328 NTSTATUS
329 NTAPI
330 ZwReadFile(
331 IN HANDLE FileHandle,
332 IN HANDLE Event OPTIONAL,
333 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
334 IN PVOID ApcContext OPTIONAL,
335 OUT PIO_STATUS_BLOCK IoStatusBlock,
336 OUT PVOID Buffer,
337 IN ULONG Length,
338 IN PLARGE_INTEGER ByteOffset OPTIONAL,
339 IN PULONG Key OPTIONAL);
340
341 NTSYSAPI
342 NTSTATUS
343 NTAPI
344 ZwSetInformationFile(
345 IN HANDLE FileHandle,
346 OUT PIO_STATUS_BLOCK IoStatusBlock,
347 IN PVOID FileInformation,
348 IN ULONG Length,
349 IN FILE_INFORMATION_CLASS FileInformationClass);
350
351 NTSYSAPI
352 NTSTATUS
353 NTAPI
354 ZwSetValueKey(
355 IN HANDLE KeyHandle,
356 IN PUNICODE_STRING ValueName,
357 IN ULONG TitleIndex OPTIONAL,
358 IN ULONG Type,
359 IN PVOID Data OPTIONAL,
360 IN ULONG DataSize);
361
362 NTSYSAPI
363 NTSTATUS
364 NTAPI
365 ZwUnloadDriver(
366 IN PUNICODE_STRING DriverServiceName);
367
368 NTSYSAPI
369 NTSTATUS
370 NTAPI
371 ZwUnmapViewOfSection(
372 IN HANDLE ProcessHandle,
373 IN PVOID BaseAddress OPTIONAL);
374
375 NTSYSAPI
376 NTSTATUS
377 NTAPI
378 ZwWriteFile(
379 IN HANDLE FileHandle,
380 IN HANDLE Event OPTIONAL,
381 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
382 IN PVOID ApcContext OPTIONAL,
383 OUT PIO_STATUS_BLOCK IoStatusBlock,
384 IN PVOID Buffer,
385 IN ULONG Length,
386 IN PLARGE_INTEGER ByteOffset OPTIONAL,
387 IN PULONG Key OPTIONAL);
388
389 NTSYSAPI
390 NTSTATUS
391 NTAPI
392 ZwQueryFullAttributesFile(
393 IN POBJECT_ATTRIBUTES ObjectAttributes,
394 OUT PFILE_NETWORK_OPEN_INFORMATION FileInformation);
395
396 $endif
397
398 #endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
399
400 $if (_WDMDDK_)
401
402 #if (NTDDI_VERSION >= NTDDI_WS03)
403 NTSYSCALLAPI
404 NTSTATUS
405 NTAPI
406 ZwOpenEvent(
407 OUT PHANDLE EventHandle,
408 IN ACCESS_MASK DesiredAccess,
409 IN POBJECT_ATTRIBUTES ObjectAttributes);
410 #endif
411
412 #if (NTDDI_VERSION >= NTDDI_VISTA)
413
414 NTSYSAPI
415 NTSTATUS
416 ZwCreateKeyTransacted(
417 OUT PHANDLE KeyHandle,
418 IN ACCESS_MASK DesiredAccess,
419 IN POBJECT_ATTRIBUTES ObjectAttributes,
420 IN ULONG TitleIndex,
421 IN PUNICODE_STRING Class OPTIONAL,
422 IN ULONG CreateOptions,
423 IN HANDLE TransactionHandle,
424 OUT PULONG Disposition OPTIONAL);
425
426 NTSYSAPI
427 NTSTATUS
428 NTAPI
429 ZwOpenKeyTransacted(
430 OUT PHANDLE KeyHandle,
431 IN ACCESS_MASK DesiredAccess,
432 IN POBJECT_ATTRIBUTES ObjectAttributes,
433 IN HANDLE TransactionHandle);
434
435 NTSYSCALLAPI
436 NTSTATUS
437 NTAPI
438 ZwCreateTransactionManager(
439 OUT PHANDLE TmHandle,
440 IN ACCESS_MASK DesiredAccess,
441 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
442 IN PUNICODE_STRING LogFileName OPTIONAL,
443 IN ULONG CreateOptions OPTIONAL,
444 IN ULONG CommitStrength OPTIONAL);
445
446 NTSYSCALLAPI
447 NTSTATUS
448 NTAPI
449 ZwOpenTransactionManager(
450 OUT PHANDLE TmHandle,
451 IN ACCESS_MASK DesiredAccess,
452 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
453 IN PUNICODE_STRING LogFileName OPTIONAL,
454 IN LPGUID TmIdentity OPTIONAL,
455 IN ULONG OpenOptions OPTIONAL);
456
457 NTSYSCALLAPI
458 NTSTATUS
459 NTAPI
460 ZwRollforwardTransactionManager(
461 IN HANDLE TransactionManagerHandle,
462 IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
463
464 NTSYSCALLAPI
465 NTSTATUS
466 NTAPI
467 ZwRecoverTransactionManager(
468 IN HANDLE TransactionManagerHandle);
469
470 NTSYSCALLAPI
471 NTSTATUS
472 NTAPI
473 ZwQueryInformationTransactionManager(
474 IN HANDLE TransactionManagerHandle,
475 IN TRANSACTIONMANAGER_INFORMATION_CLASS TransactionManagerInformationClass,
476 OUT PVOID TransactionManagerInformation,
477 IN ULONG TransactionManagerInformationLength,
478 OUT PULONG ReturnLength OPTIONAL);
479
480 NTSYSCALLAPI
481 NTSTATUS
482 NTAPI
483 ZwSetInformationTransactionManager(
484 IN HANDLE TmHandle,
485 IN TRANSACTIONMANAGER_INFORMATION_CLASS TransactionManagerInformationClass,
486 IN PVOID TransactionManagerInformation,
487 IN ULONG TransactionManagerInformationLength);
488
489 NTSYSCALLAPI
490 NTSTATUS
491 NTAPI
492 ZwEnumerateTransactionObject(
493 IN HANDLE RootObjectHandle OPTIONAL,
494 IN KTMOBJECT_TYPE QueryType,
495 IN OUT PKTMOBJECT_CURSOR ObjectCursor,
496 IN ULONG ObjectCursorLength,
497 OUT PULONG ReturnLength);
498
499 NTSYSCALLAPI
500 NTSTATUS
501 NTAPI
502 ZwCreateTransaction(
503 OUT PHANDLE TransactionHandle,
504 IN ACCESS_MASK DesiredAccess,
505 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
506 IN LPGUID Uow OPTIONAL,
507 IN HANDLE TmHandle OPTIONAL,
508 IN ULONG CreateOptions OPTIONAL,
509 IN ULONG IsolationLevel OPTIONAL,
510 IN ULONG IsolationFlags OPTIONAL,
511 IN PLARGE_INTEGER Timeout OPTIONAL,
512 IN PUNICODE_STRING Description OPTIONAL);
513
514 NTSYSCALLAPI
515 NTSTATUS
516 NTAPI
517 ZwOpenTransaction(
518 OUT PHANDLE TransactionHandle,
519 IN ACCESS_MASK DesiredAccess,
520 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
521 IN LPGUID Uow,
522 IN HANDLE TmHandle OPTIONAL);
523
524 NTSYSCALLAPI
525 NTSTATUS
526 NTAPI
527 ZwQueryInformationTransaction(
528 IN HANDLE TransactionHandle,
529 IN TRANSACTION_INFORMATION_CLASS TransactionInformationClass,
530 OUT PVOID TransactionInformation,
531 IN ULONG TransactionInformationLength,
532 OUT PULONG ReturnLength OPTIONAL);
533
534 NTSYSCALLAPI
535 NTSTATUS
536 NTAPI
537 ZwSetInformationTransaction(
538 IN HANDLE TransactionHandle,
539 IN TRANSACTION_INFORMATION_CLASS TransactionInformationClass,
540 IN PVOID TransactionInformation,
541 IN ULONG TransactionInformationLength);
542
543 NTSYSCALLAPI
544 NTSTATUS
545 NTAPI
546 ZwCommitTransaction(
547 IN HANDLE TransactionHandle,
548 IN BOOLEAN Wait);
549
550 NTSYSCALLAPI
551 NTSTATUS
552 NTAPI
553 ZwRollbackTransaction(
554 IN HANDLE TransactionHandle,
555 IN BOOLEAN Wait);
556
557 NTSYSCALLAPI
558 NTSTATUS
559 NTAPI
560 ZwCreateResourceManager(
561 OUT PHANDLE ResourceManagerHandle,
562 IN ACCESS_MASK DesiredAccess,
563 IN HANDLE TmHandle,
564 IN LPGUID ResourceManagerGuid OPTIONAL,
565 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
566 IN ULONG CreateOptions OPTIONAL,
567 IN PUNICODE_STRING Description OPTIONAL);
568
569 NTSYSCALLAPI
570 NTSTATUS
571 NTAPI
572 ZwOpenResourceManager(
573 OUT PHANDLE ResourceManagerHandle,
574 IN ACCESS_MASK DesiredAccess,
575 IN HANDLE TmHandle,
576 IN LPGUID ResourceManagerGuid,
577 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL);
578
579 NTSYSCALLAPI
580 NTSTATUS
581 NTAPI
582 ZwRecoverResourceManager(
583 IN HANDLE ResourceManagerHandle);
584
585 NTSYSCALLAPI
586 NTSTATUS
587 NTAPI
588 ZwGetNotificationResourceManager(
589 IN HANDLE ResourceManagerHandle,
590 OUT PTRANSACTION_NOTIFICATION TransactionNotification,
591 IN ULONG NotificationLength,
592 IN PLARGE_INTEGER Timeout,
593 IN PULONG ReturnLength OPTIONAL,
594 IN ULONG Asynchronous,
595 IN ULONG_PTR AsynchronousContext OPTIONAL);
596
597 NTSYSCALLAPI
598 NTSTATUS
599 NTAPI
600 ZwQueryInformationResourceManager(
601 IN HANDLE ResourceManagerHandle,
602 IN RESOURCEMANAGER_INFORMATION_CLASS ResourceManagerInformationClass,
603 OUT PVOID ResourceManagerInformation,
604 IN ULONG ResourceManagerInformationLength,
605 IN PULONG ReturnLength OPTIONAL);
606
607 NTSYSCALLAPI
608 NTSTATUS
609 NTAPI
610 ZwSetInformationResourceManager(
611 IN HANDLE ResourceManagerHandle,
612 IN RESOURCEMANAGER_INFORMATION_CLASS ResourceManagerInformationClass,
613 IN PVOID ResourceManagerInformation,
614 IN ULONG ResourceManagerInformationLength);
615
616 NTSYSCALLAPI
617 NTSTATUS
618 NTAPI
619 ZwCreateEnlistment(
620 OUT PHANDLE EnlistmentHandle,
621 IN ACCESS_MASK DesiredAccess,
622 IN HANDLE ResourceManagerHandle,
623 IN HANDLE TransactionHandle,
624 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
625 IN ULONG CreateOptions OPTIONAL,
626 IN NOTIFICATION_MASK NotificationMask,
627 IN PVOID EnlistmentKey OPTIONAL);
628
629 NTSYSCALLAPI
630 NTSTATUS
631 NTAPI
632 ZwOpenEnlistment(
633 OUT PHANDLE EnlistmentHandle,
634 IN ACCESS_MASK DesiredAccess,
635 IN HANDLE RmHandle,
636 IN LPGUID EnlistmentGuid,
637 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL);
638
639 NTSYSCALLAPI
640 NTSTATUS
641 NTAPI
642 ZwQueryInformationEnlistment(
643 IN HANDLE EnlistmentHandle,
644 IN ENLISTMENT_INFORMATION_CLASS EnlistmentInformationClass,
645 OUT PVOID EnlistmentInformation,
646 IN ULONG EnlistmentInformationLength,
647 IN PULONG ReturnLength OPTIONAL);
648
649 NTSYSCALLAPI
650 NTSTATUS
651 NTAPI
652 ZwSetInformationEnlistment(
653 IN HANDLE EnlistmentHandle,
654 IN ENLISTMENT_INFORMATION_CLASS EnlistmentInformationClass,
655 IN PVOID EnlistmentInformation,
656 IN ULONG EnlistmentInformationLength);
657
658 NTSYSCALLAPI
659 NTSTATUS
660 NTAPI
661 ZwRecoverEnlistment(
662 IN HANDLE EnlistmentHandle,
663 IN PVOID EnlistmentKey OPTIONAL);
664
665 NTSYSCALLAPI
666 NTSTATUS
667 NTAPI
668 ZwPrePrepareEnlistment(
669 IN HANDLE EnlistmentHandle,
670 IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
671
672 NTSYSCALLAPI
673 NTSTATUS
674 NTAPI
675 ZwPrepareEnlistment(
676 IN HANDLE EnlistmentHandle,
677 IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
678
679 NTSYSCALLAPI
680 NTSTATUS
681 NTAPI
682 ZwCommitEnlistment(
683 IN HANDLE EnlistmentHandle,
684 IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
685
686 NTSYSCALLAPI
687 NTSTATUS
688 NTAPI
689 ZwRollbackEnlistment(
690 IN HANDLE EnlistmentHandle,
691 IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
692
693 NTSYSCALLAPI
694 NTSTATUS
695 NTAPI
696 ZwPrePrepareComplete(
697 IN HANDLE EnlistmentHandle,
698 IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
699
700 NTSYSCALLAPI
701 NTSTATUS
702 NTAPI
703 ZwPrepareComplete(
704 IN HANDLE EnlistmentHandle,
705 IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
706
707 NTSYSCALLAPI
708 NTSTATUS
709 NTAPI
710 ZwCommitComplete(
711 IN HANDLE EnlistmentHandle,
712 IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
713
714 NTSYSCALLAPI
715 NTSTATUS
716 NTAPI
717 ZwReadOnlyEnlistment(
718 IN HANDLE EnlistmentHandle,
719 IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
720
721 NTSYSCALLAPI
722 NTSTATUS
723 NTAPI
724 ZwRollbackComplete(
725 IN HANDLE EnlistmentHandle,
726 IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
727
728 NTSYSCALLAPI
729 NTSTATUS
730 NTAPI
731 ZwSinglePhaseReject(
732 IN HANDLE EnlistmentHandle,
733 IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
734
735
736 #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
737
738 $endif
739
740 #if (NTDDI_VERSION >= NTDDI_WIN7)
741
742 $if (_NTDDK_)
743 NTSTATUS
744 NTAPI
745 ZwSetTimerEx(
746 IN HANDLE TimerHandle,
747 IN TIMER_SET_INFORMATION_CLASS TimerSetInformationClass,
748 IN OUT PVOID TimerSetInformation,
749 IN ULONG TimerSetInformationLength);
750 $endif
751
752 $if (_WDMDDK_)
753
754 NTSYSAPI
755 NTSTATUS
756 NTAPI
757 ZwOpenKeyEx(
758 OUT PHANDLE KeyHandle,
759 IN ACCESS_MASK DesiredAccess,
760 IN POBJECT_ATTRIBUTES ObjectAttributes,
761 IN ULONG OpenOptions);
762
763 NTSYSAPI
764 NTSTATUS
765 NTAPI
766 ZwOpenKeyTransactedEx(
767 OUT PHANDLE KeyHandle,
768 IN ACCESS_MASK DesiredAccess,
769 IN POBJECT_ATTRIBUTES ObjectAttributes,
770 IN ULONG OpenOptions,
771 IN HANDLE TransactionHandle);
772
773 NTSYSAPI
774 NTSTATUS
775 NTAPI
776 ZwNotifyChangeMultipleKeys(
777 IN HANDLE MasterKeyHandle,
778 IN ULONG Count OPTIONAL,
779 IN OBJECT_ATTRIBUTES SubordinateObjects[] OPTIONAL,
780 IN HANDLE Event OPTIONAL,
781 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
782 IN PVOID ApcContext OPTIONAL,
783 OUT PIO_STATUS_BLOCK IoStatusBlock,
784 IN ULONG CompletionFilter,
785 IN BOOLEAN WatchTree,
786 OUT PVOID Buffer OPTIONAL,
787 IN ULONG BufferSize,
788 IN BOOLEAN Asynchronous);
789
790 NTSYSAPI
791 NTSTATUS
792 NTAPI
793 ZwQueryMultipleValueKey(
794 IN HANDLE KeyHandle,
795 IN OUT PKEY_VALUE_ENTRY ValueEntries,
796 IN ULONG EntryCount,
797 OUT PVOID ValueBuffer,
798 IN OUT PULONG BufferLength,
799 OUT PULONG RequiredBufferLength OPTIONAL);
800
801 NTSYSAPI
802 NTSTATUS
803 NTAPI
804 ZwRenameKey(
805 IN HANDLE KeyHandle,
806 IN PUNICODE_STRING NewName);
807
808 NTSYSAPI
809 NTSTATUS
810 NTAPI
811 ZwSetInformationKey(
812 IN HANDLE KeyHandle,
813 IN KEY_SET_INFORMATION_CLASS KeySetInformationClass,
814 IN PVOID KeySetInformation,
815 IN ULONG KeySetInformationLength);
816
817 $endif
818
819 #endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
820