]> git.proxmox.com Git - rustc.git/blob - vendor/ntapi/src/ntzwapi.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / vendor / ntapi / src / ntzwapi.rs
1 use crate::ntapi_base::{PCLIENT_ID, PRTL_ATOM, RTL_ATOM};
2 use crate::ntdbg::DEBUGOBJECTINFOCLASS;
3 use crate::ntexapi::{
4 ATOM_INFORMATION_CLASS, EVENT_INFORMATION_CLASS, MUTANT_INFORMATION_CLASS, PBOOT_ENTRY,
5 PBOOT_OPTIONS, PCWNF_TYPE_ID, PEFI_DRIVER_ENTRY, PFILE_PATH, PT2_CANCEL_PARAMETERS,
6 PT2_SET_PARAMETERS, PTIMER_APC_ROUTINE, PWNF_CHANGE_STAMP, PWNF_DELIVERY_DESCRIPTOR,
7 SEMAPHORE_INFORMATION_CLASS, SHUTDOWN_ACTION, SYSDBG_COMMAND, SYSTEM_INFORMATION_CLASS,
8 TIMER_INFORMATION_CLASS, TIMER_SET_INFORMATION_CLASS, WNF_CHANGE_STAMP, WNF_DATA_SCOPE,
9 WNF_STATE_NAME_INFORMATION, WNF_STATE_NAME_LIFETIME, WORKERFACTORYINFOCLASS,
10 };
11 use crate::ntioapi::{
12 FILE_INFORMATION_CLASS, FILE_IO_COMPLETION_INFORMATION, FS_INFORMATION_CLASS,
13 IO_COMPLETION_INFORMATION_CLASS, IO_SESSION_EVENT, IO_SESSION_STATE, PFILE_BASIC_INFORMATION,
14 PFILE_IO_COMPLETION_INFORMATION, PFILE_NETWORK_OPEN_INFORMATION, PIO_APC_ROUTINE,
15 PIO_STATUS_BLOCK,
16 };
17 use crate::ntkeapi::KPROFILE_SOURCE;
18 use crate::ntlpcapi::{
19 ALPC_HANDLE, ALPC_MESSAGE_INFORMATION_CLASS, ALPC_PORT_INFORMATION_CLASS, PALPC_CONTEXT_ATTR,
20 PALPC_DATA_VIEW_ATTR, PALPC_HANDLE, PALPC_MESSAGE_ATTRIBUTES, PALPC_PORT_ATTRIBUTES,
21 PALPC_SECURITY_ATTR, PORT_INFORMATION_CLASS, PPORT_MESSAGE, PPORT_VIEW, PREMOTE_PORT_VIEW,
22 };
23 use crate::ntmisc::VDMSERVICECLASS;
24 use crate::ntmmapi::{
25 MEMORY_INFORMATION_CLASS, MEMORY_PARTITION_INFORMATION_CLASS, PMEMORY_RANGE_ENTRY,
26 SECTION_INFORMATION_CLASS, SECTION_INHERIT, VIRTUAL_MEMORY_INFORMATION_CLASS,
27 };
28 use crate::ntobapi::OBJECT_INFORMATION_CLASS;
29 use crate::ntpnpapi::{PLUGPLAY_CONTROL_CLASS, PPLUGPLAY_EVENT_BLOCK};
30 use crate::ntpsapi::{
31 MEMORY_RESERVE_TYPE, PINITIAL_TEB, PPS_APC_ROUTINE, PPS_ATTRIBUTE_LIST, PPS_CREATE_INFO,
32 PROCESSINFOCLASS, THREADINFOCLASS,
33 };
34 use crate::ntregapi::{
35 KEY_INFORMATION_CLASS, KEY_SET_INFORMATION_CLASS, KEY_VALUE_INFORMATION_CLASS,
36 PKEY_VALUE_ENTRY,
37 };
38 use crate::ntseapi::PTOKEN_SECURITY_ATTRIBUTES_INFORMATION;
39 use winapi::shared::basetsd::{
40 KAFFINITY, PSIZE_T, PULONG64, PULONG_PTR, SIZE_T, ULONG64, ULONG_PTR,
41 };
42 use winapi::shared::guiddef::LPGUID;
43 use winapi::shared::ktmtypes::{NOTIFICATION_MASK, PCRM_PROTOCOL_ID, PTRANSACTION_NOTIFICATION};
44 use winapi::shared::ntdef::{
45 BOOLEAN, EVENT_TYPE, HANDLE, LANGID, LCID, LOGICAL, LONG, NTSTATUS, OBJECT_ATTRIBUTES,
46 PBOOLEAN, PCHAR, PCWNF_STATE_NAME, PGROUP_AFFINITY, PHANDLE, PLARGE_INTEGER, PLCID, PLONG,
47 PLUID, PNTSTATUS, POBJECT_ATTRIBUTES, PUCHAR, PULARGE_INTEGER, PULONG, PULONGLONG,
48 PUNICODE_STRING, PUSHORT, PVOID, PWNF_STATE_NAME, PWSTR, TIMER_TYPE, ULONG, USHORT, VOID,
49 WAIT_TYPE,
50 };
51 use winapi::um::winnt::{
52 ACCESS_MASK, AUDIT_EVENT_TYPE, ENLISTMENT_INFORMATION_CLASS, EXECUTION_STATE,
53 JOBOBJECTINFOCLASS, KTMOBJECT_TYPE, LATENCY_TIME, PACCESS_MASK, PCONTEXT, PDEVICE_POWER_STATE,
54 PEXCEPTION_RECORD, PFILE_SEGMENT_ELEMENT, PGENERIC_MAPPING, PJOB_SET_ARRAY, PKTMOBJECT_CURSOR,
55 POBJECT_TYPE_LIST, POWER_ACTION, POWER_INFORMATION_LEVEL, PPRIVILEGE_SET, PSECURITY_DESCRIPTOR,
56 PSECURITY_QUALITY_OF_SERVICE, PSE_SIGNING_LEVEL, PSID, PSID_AND_ATTRIBUTES,
57 PTOKEN_DEFAULT_DACL, PTOKEN_GROUPS, PTOKEN_MANDATORY_POLICY, PTOKEN_OWNER,
58 PTOKEN_PRIMARY_GROUP, PTOKEN_PRIVILEGES, PTOKEN_SOURCE, PTOKEN_USER,
59 RESOURCEMANAGER_INFORMATION_CLASS, SECURITY_INFORMATION, SE_SIGNING_LEVEL, SYSTEM_POWER_STATE,
60 TOKEN_INFORMATION_CLASS, TOKEN_TYPE, TRANSACTIONMANAGER_INFORMATION_CLASS,
61 TRANSACTION_INFORMATION_CLASS,
62 };
63 EXTERN!{extern "system" {
64 fn ZwAcceptConnectPort(
65 PortHandle: PHANDLE,
66 PortContext: PVOID,
67 ConnectionRequest: PPORT_MESSAGE,
68 AcceptConnection: BOOLEAN,
69 ServerView: PPORT_VIEW,
70 ClientView: PREMOTE_PORT_VIEW,
71 ) -> NTSTATUS;
72 fn ZwAccessCheck(
73 SecurityDescriptor: PSECURITY_DESCRIPTOR,
74 ClientToken: HANDLE,
75 DesiredAccess: ACCESS_MASK,
76 GenericMapping: PGENERIC_MAPPING,
77 PrivilegeSet: PPRIVILEGE_SET,
78 PrivilegeSetLength: PULONG,
79 GrantedAccess: PACCESS_MASK,
80 AccessStatus: PNTSTATUS,
81 ) -> NTSTATUS;
82 fn ZwAccessCheckAndAuditAlarm(
83 SubsystemName: PUNICODE_STRING,
84 HandleId: PVOID,
85 ObjectTypeName: PUNICODE_STRING,
86 ObjectName: PUNICODE_STRING,
87 SecurityDescriptor: PSECURITY_DESCRIPTOR,
88 DesiredAccess: ACCESS_MASK,
89 GenericMapping: PGENERIC_MAPPING,
90 ObjectCreation: BOOLEAN,
91 GrantedAccess: PACCESS_MASK,
92 AccessStatus: PNTSTATUS,
93 GenerateOnClose: PBOOLEAN,
94 ) -> NTSTATUS;
95 fn ZwAccessCheckByType(
96 SecurityDescriptor: PSECURITY_DESCRIPTOR,
97 PrincipalSelfSid: PSID,
98 ClientToken: HANDLE,
99 DesiredAccess: ACCESS_MASK,
100 ObjectTypeList: POBJECT_TYPE_LIST,
101 ObjectTypeListLength: ULONG,
102 GenericMapping: PGENERIC_MAPPING,
103 PrivilegeSet: PPRIVILEGE_SET,
104 PrivilegeSetLength: PULONG,
105 GrantedAccess: PACCESS_MASK,
106 AccessStatus: PNTSTATUS,
107 ) -> NTSTATUS;
108 fn ZwAccessCheckByTypeAndAuditAlarm(
109 SubsystemName: PUNICODE_STRING,
110 HandleId: PVOID,
111 ObjectTypeName: PUNICODE_STRING,
112 ObjectName: PUNICODE_STRING,
113 SecurityDescriptor: PSECURITY_DESCRIPTOR,
114 PrincipalSelfSid: PSID,
115 DesiredAccess: ACCESS_MASK,
116 AuditType: AUDIT_EVENT_TYPE,
117 Flags: ULONG,
118 ObjectTypeList: POBJECT_TYPE_LIST,
119 ObjectTypeListLength: ULONG,
120 GenericMapping: PGENERIC_MAPPING,
121 ObjectCreation: BOOLEAN,
122 GrantedAccess: PACCESS_MASK,
123 AccessStatus: PNTSTATUS,
124 GenerateOnClose: PBOOLEAN,
125 ) -> NTSTATUS;
126 fn ZwAccessCheckByTypeResultList(
127 SecurityDescriptor: PSECURITY_DESCRIPTOR,
128 PrincipalSelfSid: PSID,
129 ClientToken: HANDLE,
130 DesiredAccess: ACCESS_MASK,
131 ObjectTypeList: POBJECT_TYPE_LIST,
132 ObjectTypeListLength: ULONG,
133 GenericMapping: PGENERIC_MAPPING,
134 PrivilegeSet: PPRIVILEGE_SET,
135 PrivilegeSetLength: PULONG,
136 GrantedAccess: PACCESS_MASK,
137 AccessStatus: PNTSTATUS,
138 ) -> NTSTATUS;
139 fn ZwAccessCheckByTypeResultListAndAuditAlarm(
140 SubsystemName: PUNICODE_STRING,
141 HandleId: PVOID,
142 ObjectTypeName: PUNICODE_STRING,
143 ObjectName: PUNICODE_STRING,
144 SecurityDescriptor: PSECURITY_DESCRIPTOR,
145 PrincipalSelfSid: PSID,
146 DesiredAccess: ACCESS_MASK,
147 AuditType: AUDIT_EVENT_TYPE,
148 Flags: ULONG,
149 ObjectTypeList: POBJECT_TYPE_LIST,
150 ObjectTypeListLength: ULONG,
151 GenericMapping: PGENERIC_MAPPING,
152 ObjectCreation: BOOLEAN,
153 GrantedAccess: PACCESS_MASK,
154 AccessStatus: PNTSTATUS,
155 GenerateOnClose: PBOOLEAN,
156 ) -> NTSTATUS;
157 fn ZwAccessCheckByTypeResultListAndAuditAlarmByHandle(
158 SubsystemName: PUNICODE_STRING,
159 HandleId: PVOID,
160 ClientToken: HANDLE,
161 ObjectTypeName: PUNICODE_STRING,
162 ObjectName: PUNICODE_STRING,
163 SecurityDescriptor: PSECURITY_DESCRIPTOR,
164 PrincipalSelfSid: PSID,
165 DesiredAccess: ACCESS_MASK,
166 AuditType: AUDIT_EVENT_TYPE,
167 Flags: ULONG,
168 ObjectTypeList: POBJECT_TYPE_LIST,
169 ObjectTypeListLength: ULONG,
170 GenericMapping: PGENERIC_MAPPING,
171 ObjectCreation: BOOLEAN,
172 GrantedAccess: PACCESS_MASK,
173 AccessStatus: PNTSTATUS,
174 GenerateOnClose: PBOOLEAN,
175 ) -> NTSTATUS;
176 fn ZwAcquireCMFViewOwnership(
177 TimeStamp: PULONGLONG,
178 tokenTaken: PBOOLEAN,
179 replaceExisting: BOOLEAN,
180 ) -> NTSTATUS;
181 fn ZwAddAtom(
182 AtomName: PWSTR,
183 Length: ULONG,
184 Atom: PRTL_ATOM,
185 ) -> NTSTATUS;
186 fn ZwAddAtomEx(
187 AtomName: PWSTR,
188 Length: ULONG,
189 Atom: PRTL_ATOM,
190 Flags: ULONG,
191 ) -> NTSTATUS;
192 fn ZwAddBootEntry(
193 BootEntry: PBOOT_ENTRY,
194 Id: PULONG,
195 ) -> NTSTATUS;
196 fn ZwAddDriverEntry(
197 DriverEntry: PEFI_DRIVER_ENTRY,
198 Id: PULONG,
199 ) -> NTSTATUS;
200 fn ZwAdjustGroupsToken(
201 TokenHandle: HANDLE,
202 ResetToDefault: BOOLEAN,
203 NewState: PTOKEN_GROUPS,
204 BufferLength: ULONG,
205 PreviousState: PTOKEN_GROUPS,
206 ReturnLength: PULONG,
207 ) -> NTSTATUS;
208 fn ZwAdjustPrivilegesToken(
209 TokenHandle: HANDLE,
210 DisableAllPrivileges: BOOLEAN,
211 NewState: PTOKEN_PRIVILEGES,
212 BufferLength: ULONG,
213 PreviousState: PTOKEN_PRIVILEGES,
214 ReturnLength: PULONG,
215 ) -> NTSTATUS;
216 fn ZwAdjustTokenClaimsAndDeviceGroups(
217 TokenHandle: HANDLE,
218 UserResetToDefault: BOOLEAN,
219 DeviceResetToDefault: BOOLEAN,
220 DeviceGroupsResetToDefault: BOOLEAN,
221 NewUserState: PTOKEN_SECURITY_ATTRIBUTES_INFORMATION,
222 NewDeviceState: PTOKEN_SECURITY_ATTRIBUTES_INFORMATION,
223 NewDeviceGroupsState: PTOKEN_GROUPS,
224 UserBufferLength: ULONG,
225 PreviousUserState: PTOKEN_SECURITY_ATTRIBUTES_INFORMATION,
226 DeviceBufferLength: ULONG,
227 PreviousDeviceState: PTOKEN_SECURITY_ATTRIBUTES_INFORMATION,
228 DeviceGroupsBufferLength: ULONG,
229 PreviousDeviceGroups: PTOKEN_GROUPS,
230 UserReturnLength: PULONG,
231 DeviceReturnLength: PULONG,
232 DeviceGroupsReturnBufferLength: PULONG,
233 ) -> NTSTATUS;
234 fn ZwAlertResumeThread(
235 ThreadHandle: HANDLE,
236 PreviousSuspendCount: PULONG,
237 ) -> NTSTATUS;
238 fn ZwAlertThread(
239 ThreadHandle: HANDLE,
240 ) -> NTSTATUS;
241 fn ZwAlertThreadByThreadId(
242 ThreadId: HANDLE,
243 ) -> NTSTATUS;
244 fn ZwAllocateLocallyUniqueId(
245 Luid: PLUID,
246 ) -> NTSTATUS;
247 fn ZwAllocateReserveObject(
248 MemoryReserveHandle: PHANDLE,
249 ObjectAttributes: POBJECT_ATTRIBUTES,
250 Type: MEMORY_RESERVE_TYPE,
251 ) -> NTSTATUS;
252 fn ZwAllocateUserPhysicalPages(
253 ProcessHandle: HANDLE,
254 NumberOfPages: PULONG_PTR,
255 UserPfnArray: PULONG_PTR,
256 ) -> NTSTATUS;
257 fn ZwAllocateUuids(
258 Time: PULARGE_INTEGER,
259 Range: PULONG,
260 Sequence: PULONG,
261 Seed: PCHAR,
262 ) -> NTSTATUS;
263 fn ZwAllocateVirtualMemory(
264 ProcessHandle: HANDLE,
265 BaseAddress: *mut PVOID,
266 ZeroBits: ULONG_PTR,
267 RegionSize: PSIZE_T,
268 AllocationType: ULONG,
269 Protect: ULONG,
270 ) -> NTSTATUS;
271 fn ZwAlpcAcceptConnectPort(
272 PortHandle: PHANDLE,
273 ConnectionPortHandle: HANDLE,
274 Flags: ULONG,
275 ObjectAttributes: POBJECT_ATTRIBUTES,
276 PortAttributes: PALPC_PORT_ATTRIBUTES,
277 PortContext: PVOID,
278 ConnectionRequest: PPORT_MESSAGE,
279 ConnectionMessageAttributes: PALPC_MESSAGE_ATTRIBUTES,
280 AcceptConnection: BOOLEAN,
281 ) -> NTSTATUS;
282 fn ZwAlpcCancelMessage(
283 PortHandle: HANDLE,
284 Flags: ULONG,
285 MessageContext: PALPC_CONTEXT_ATTR,
286 ) -> NTSTATUS;
287 fn ZwAlpcConnectPort(
288 PortHandle: PHANDLE,
289 PortName: PUNICODE_STRING,
290 ObjectAttributes: POBJECT_ATTRIBUTES,
291 PortAttributes: PALPC_PORT_ATTRIBUTES,
292 Flags: ULONG,
293 RequiredServerSid: PSID,
294 ConnectionMessage: PPORT_MESSAGE,
295 BufferLength: PULONG,
296 OutMessageAttributes: PALPC_MESSAGE_ATTRIBUTES,
297 InMessageAttributes: PALPC_MESSAGE_ATTRIBUTES,
298 Timeout: PLARGE_INTEGER,
299 ) -> NTSTATUS;
300 fn ZwAlpcConnectPortEx(
301 PortHandle: PHANDLE,
302 ConnectionPortObjectAttributes: POBJECT_ATTRIBUTES,
303 ClientPortObjectAttributes: POBJECT_ATTRIBUTES,
304 PortAttributes: PALPC_PORT_ATTRIBUTES,
305 Flags: ULONG,
306 ServerSecurityRequirements: PSECURITY_DESCRIPTOR,
307 ConnectionMessage: PPORT_MESSAGE,
308 BufferLength: PSIZE_T,
309 OutMessageAttributes: PALPC_MESSAGE_ATTRIBUTES,
310 InMessageAttributes: PALPC_MESSAGE_ATTRIBUTES,
311 Timeout: PLARGE_INTEGER,
312 ) -> NTSTATUS;
313 fn ZwAlpcCreatePort(
314 PortHandle: PHANDLE,
315 ObjectAttributes: POBJECT_ATTRIBUTES,
316 PortAttributes: PALPC_PORT_ATTRIBUTES,
317 ) -> NTSTATUS;
318 fn ZwAlpcCreatePortSection(
319 PortHandle: HANDLE,
320 Flags: ULONG,
321 SectionHandle: HANDLE,
322 SectionSize: SIZE_T,
323 AlpcSectionHandle: PALPC_HANDLE,
324 ActualSectionSize: PSIZE_T,
325 ) -> NTSTATUS;
326 fn ZwAlpcCreateResourceReserve(
327 PortHandle: HANDLE,
328 Flags: ULONG,
329 MessageSize: SIZE_T,
330 ResourceId: PALPC_HANDLE,
331 ) -> NTSTATUS;
332 fn ZwAlpcCreateSectionView(
333 PortHandle: HANDLE,
334 Flags: ULONG,
335 ViewAttributes: PALPC_DATA_VIEW_ATTR,
336 ) -> NTSTATUS;
337 fn ZwAlpcCreateSecurityContext(
338 PortHandle: HANDLE,
339 Flags: ULONG,
340 SecurityAttribute: PALPC_SECURITY_ATTR,
341 ) -> NTSTATUS;
342 fn ZwAlpcDeletePortSection(
343 PortHandle: HANDLE,
344 Flags: ULONG,
345 SectionHandle: ALPC_HANDLE,
346 ) -> NTSTATUS;
347 fn ZwAlpcDeleteResourceReserve(
348 PortHandle: HANDLE,
349 Flags: ULONG,
350 ResourceId: ALPC_HANDLE,
351 ) -> NTSTATUS;
352 fn ZwAlpcDeleteSectionView(
353 PortHandle: HANDLE,
354 Flags: ULONG,
355 ViewBase: PVOID,
356 ) -> NTSTATUS;
357 fn ZwAlpcDeleteSecurityContext(
358 PortHandle: HANDLE,
359 Flags: ULONG,
360 ContextHandle: ALPC_HANDLE,
361 ) -> NTSTATUS;
362 fn ZwAlpcDisconnectPort(
363 PortHandle: HANDLE,
364 Flags: ULONG,
365 ) -> NTSTATUS;
366 fn ZwAlpcImpersonateClientContainerOfPort(
367 PortHandle: HANDLE,
368 Message: PPORT_MESSAGE,
369 Flags: ULONG,
370 ) -> NTSTATUS;
371 fn ZwAlpcImpersonateClientOfPort(
372 PortHandle: HANDLE,
373 Message: PPORT_MESSAGE,
374 Flags: PVOID,
375 ) -> NTSTATUS;
376 fn ZwAlpcOpenSenderProcess(
377 ProcessHandle: PHANDLE,
378 PortHandle: HANDLE,
379 PortMessage: PPORT_MESSAGE,
380 Flags: ULONG,
381 DesiredAccess: ACCESS_MASK,
382 ObjectAttributes: POBJECT_ATTRIBUTES,
383 ) -> NTSTATUS;
384 fn ZwAlpcOpenSenderThread(
385 ThreadHandle: PHANDLE,
386 PortHandle: HANDLE,
387 PortMessage: PPORT_MESSAGE,
388 Flags: ULONG,
389 DesiredAccess: ACCESS_MASK,
390 ObjectAttributes: POBJECT_ATTRIBUTES,
391 ) -> NTSTATUS;
392 fn ZwAlpcQueryInformation(
393 PortHandle: HANDLE,
394 PortInformationClass: ALPC_PORT_INFORMATION_CLASS,
395 PortInformation: PVOID,
396 Length: ULONG,
397 ReturnLength: PULONG,
398 ) -> NTSTATUS;
399 fn ZwAlpcQueryInformationMessage(
400 PortHandle: HANDLE,
401 PortMessage: PPORT_MESSAGE,
402 MessageInformationClass: ALPC_MESSAGE_INFORMATION_CLASS,
403 MessageInformation: PVOID,
404 Length: ULONG,
405 ReturnLength: PULONG,
406 ) -> NTSTATUS;
407 fn ZwAlpcRevokeSecurityContext(
408 PortHandle: HANDLE,
409 Flags: ULONG,
410 ContextHandle: ALPC_HANDLE,
411 ) -> NTSTATUS;
412 fn ZwAlpcSendWaitReceivePort(
413 PortHandle: HANDLE,
414 Flags: ULONG,
415 SendMessageA: PPORT_MESSAGE,
416 SendMessageAttributes: PALPC_MESSAGE_ATTRIBUTES,
417 ReceiveMessage: PPORT_MESSAGE,
418 BufferLength: PSIZE_T,
419 ReceiveMessageAttributes: PALPC_MESSAGE_ATTRIBUTES,
420 Timeout: PLARGE_INTEGER,
421 ) -> NTSTATUS;
422 fn ZwAlpcSetInformation(
423 PortHandle: HANDLE,
424 PortInformationClass: ALPC_PORT_INFORMATION_CLASS,
425 PortInformation: PVOID,
426 Length: ULONG,
427 ) -> NTSTATUS;
428 fn ZwAreMappedFilesTheSame(
429 File1MappedAsAnImage: PVOID,
430 File2MappedAsFile: PVOID,
431 ) -> NTSTATUS;
432 fn ZwAssignProcessToJobObject(
433 JobHandle: HANDLE,
434 ProcessHandle: HANDLE,
435 ) -> NTSTATUS;
436 fn ZwAssociateWaitCompletionPacket(
437 WaitCompletionPacketHandle: HANDLE,
438 IoCompletionHandle: HANDLE,
439 TargetObjectHandle: HANDLE,
440 KeyContext: PVOID,
441 ApcContext: PVOID,
442 IoStatus: NTSTATUS,
443 IoStatusInformation: ULONG_PTR,
444 AlreadySignaled: PBOOLEAN,
445 ) -> NTSTATUS;
446 fn ZwCallbackReturn(
447 OutputBuffer: PVOID,
448 OutputLength: ULONG,
449 Status: NTSTATUS,
450 ) -> NTSTATUS;
451 fn ZwCancelIoFile(
452 FileHandle: HANDLE,
453 IoStatusBlock: PIO_STATUS_BLOCK,
454 ) -> NTSTATUS;
455 fn ZwCancelIoFileEx(
456 FileHandle: HANDLE,
457 IoRequestToCancel: PIO_STATUS_BLOCK,
458 IoStatusBlock: PIO_STATUS_BLOCK,
459 ) -> NTSTATUS;
460 fn ZwCancelSynchronousIoFile(
461 ThreadHandle: HANDLE,
462 IoRequestToCancel: PIO_STATUS_BLOCK,
463 IoStatusBlock: PIO_STATUS_BLOCK,
464 ) -> NTSTATUS;
465 fn ZwCancelTimer(
466 TimerHandle: HANDLE,
467 CurrentState: PBOOLEAN,
468 ) -> NTSTATUS;
469 fn ZwCancelTimer2(
470 TimerHandle: HANDLE,
471 Parameters: PT2_CANCEL_PARAMETERS,
472 ) -> NTSTATUS;
473 fn ZwCancelWaitCompletionPacket(
474 WaitCompletionPacketHandle: HANDLE,
475 RemoveSignaledPacket: BOOLEAN,
476 ) -> NTSTATUS;
477 fn ZwClearEvent(
478 EventHandle: HANDLE,
479 ) -> NTSTATUS;
480 fn ZwClose(
481 Handle: HANDLE,
482 ) -> NTSTATUS;
483 fn ZwCloseObjectAuditAlarm(
484 SubsystemName: PUNICODE_STRING,
485 HandleId: PVOID,
486 GenerateOnClose: BOOLEAN,
487 ) -> NTSTATUS;
488 fn ZwCommitComplete(
489 EnlistmentHandle: HANDLE,
490 TmVirtualClock: PLARGE_INTEGER,
491 ) -> NTSTATUS;
492 fn ZwCommitEnlistment(
493 EnlistmentHandle: HANDLE,
494 TmVirtualClock: PLARGE_INTEGER,
495 ) -> NTSTATUS;
496 fn ZwCommitTransaction(
497 TransactionHandle: HANDLE,
498 Wait: BOOLEAN,
499 ) -> NTSTATUS;
500 fn ZwCompactKeys(
501 Count: ULONG,
502 KeyArray: *mut HANDLE,
503 ) -> NTSTATUS;
504 fn ZwCompareObjects(
505 FirstObjectHandle: HANDLE,
506 SecondObjectHandle: HANDLE,
507 ) -> NTSTATUS;
508 fn ZwCompareTokens(
509 FirstTokenHandle: HANDLE,
510 SecondTokenHandle: HANDLE,
511 Equal: PBOOLEAN,
512 ) -> NTSTATUS;
513 fn ZwCompleteConnectPort(
514 PortHandle: HANDLE,
515 ) -> NTSTATUS;
516 fn ZwCompressKey(
517 Key: HANDLE,
518 ) -> NTSTATUS;
519 fn ZwConnectPort(
520 PortHandle: PHANDLE,
521 PortName: PUNICODE_STRING,
522 SecurityQos: PSECURITY_QUALITY_OF_SERVICE,
523 ClientView: PPORT_VIEW,
524 ServerView: PREMOTE_PORT_VIEW,
525 MaxMessageLength: PULONG,
526 ConnectionInformation: PVOID,
527 ConnectionInformationLength: PULONG,
528 ) -> NTSTATUS;
529 fn ZwContinue(
530 ContextRecord: PCONTEXT,
531 TestAlert: BOOLEAN,
532 ) -> NTSTATUS;
533 fn ZwCreateDebugObject(
534 DebugObjectHandle: PHANDLE,
535 DesiredAccess: ACCESS_MASK,
536 ObjectAttributes: POBJECT_ATTRIBUTES,
537 Flags: ULONG,
538 ) -> NTSTATUS;
539 fn ZwCreateDirectoryObject(
540 DirectoryHandle: PHANDLE,
541 DesiredAccess: ACCESS_MASK,
542 ObjectAttributes: POBJECT_ATTRIBUTES,
543 ) -> NTSTATUS;
544 fn ZwCreateDirectoryObjectEx(
545 DirectoryHandle: PHANDLE,
546 DesiredAccess: ACCESS_MASK,
547 ObjectAttributes: POBJECT_ATTRIBUTES,
548 ShadowDirectoryHandle: HANDLE,
549 Flags: ULONG,
550 ) -> NTSTATUS;
551 fn ZwCreateEnlistment(
552 EnlistmentHandle: PHANDLE,
553 DesiredAccess: ACCESS_MASK,
554 ResourceManagerHandle: HANDLE,
555 TransactionHandle: HANDLE,
556 ObjectAttributes: POBJECT_ATTRIBUTES,
557 CreateOptions: ULONG,
558 NotificationMask: NOTIFICATION_MASK,
559 EnlistmentKey: PVOID,
560 ) -> NTSTATUS;
561 fn ZwCreateEvent(
562 EventHandle: PHANDLE,
563 DesiredAccess: ACCESS_MASK,
564 ObjectAttributes: POBJECT_ATTRIBUTES,
565 EventType: EVENT_TYPE,
566 InitialState: BOOLEAN,
567 ) -> NTSTATUS;
568 fn ZwCreateEventPair(
569 EventPairHandle: PHANDLE,
570 DesiredAccess: ACCESS_MASK,
571 ObjectAttributes: POBJECT_ATTRIBUTES,
572 ) -> NTSTATUS;
573 fn ZwCreateFile(
574 FileHandle: PHANDLE,
575 DesiredAccess: ACCESS_MASK,
576 ObjectAttributes: POBJECT_ATTRIBUTES,
577 IoStatusBlock: PIO_STATUS_BLOCK,
578 AllocationSize: PLARGE_INTEGER,
579 FileAttributes: ULONG,
580 ShareAccess: ULONG,
581 CreateDisposition: ULONG,
582 CreateOptions: ULONG,
583 EaBuffer: PVOID,
584 EaLength: ULONG,
585 ) -> NTSTATUS;
586 fn ZwCreateIRTimer(
587 TimerHandle: PHANDLE,
588 DesiredAccess: ACCESS_MASK,
589 ) -> NTSTATUS;
590 fn ZwCreateIoCompletion(
591 IoCompletionHandle: PHANDLE,
592 DesiredAccess: ACCESS_MASK,
593 ObjectAttributes: POBJECT_ATTRIBUTES,
594 Count: ULONG,
595 ) -> NTSTATUS;
596 fn ZwCreateJobObject(
597 JobHandle: PHANDLE,
598 DesiredAccess: ACCESS_MASK,
599 ObjectAttributes: POBJECT_ATTRIBUTES,
600 ) -> NTSTATUS;
601 fn ZwCreateJobSet(
602 NumJob: ULONG,
603 UserJobSet: PJOB_SET_ARRAY,
604 Flags: ULONG,
605 ) -> NTSTATUS;
606 fn ZwCreateKey(
607 KeyHandle: PHANDLE,
608 DesiredAccess: ACCESS_MASK,
609 ObjectAttributes: POBJECT_ATTRIBUTES,
610 TitleIndex: ULONG,
611 Class: PUNICODE_STRING,
612 CreateOptions: ULONG,
613 Disposition: PULONG,
614 ) -> NTSTATUS;
615 fn ZwCreateKeyTransacted(
616 KeyHandle: PHANDLE,
617 DesiredAccess: ACCESS_MASK,
618 ObjectAttributes: POBJECT_ATTRIBUTES,
619 TitleIndex: ULONG,
620 Class: PUNICODE_STRING,
621 CreateOptions: ULONG,
622 TransactionHandle: HANDLE,
623 Disposition: PULONG,
624 ) -> NTSTATUS;
625 fn ZwCreateKeyedEvent(
626 KeyedEventHandle: PHANDLE,
627 DesiredAccess: ACCESS_MASK,
628 ObjectAttributes: POBJECT_ATTRIBUTES,
629 Flags: ULONG,
630 ) -> NTSTATUS;
631 fn ZwCreateLowBoxToken(
632 TokenHandle: PHANDLE,
633 ExistingTokenHandle: HANDLE,
634 DesiredAccess: ACCESS_MASK,
635 ObjectAttributes: POBJECT_ATTRIBUTES,
636 PackageSid: PSID,
637 CapabilityCount: ULONG,
638 Capabilities: PSID_AND_ATTRIBUTES,
639 HandleCount: ULONG,
640 Handles: *mut HANDLE,
641 ) -> NTSTATUS;
642 fn ZwCreateMailslotFile(
643 FileHandle: PHANDLE,
644 DesiredAccess: ULONG,
645 ObjectAttributes: POBJECT_ATTRIBUTES,
646 IoStatusBlock: PIO_STATUS_BLOCK,
647 CreateOptions: ULONG,
648 MailslotQuota: ULONG,
649 MaximumMessageSize: ULONG,
650 ReadTimeout: PLARGE_INTEGER,
651 ) -> NTSTATUS;
652 fn ZwCreateMutant(
653 MutantHandle: PHANDLE,
654 DesiredAccess: ACCESS_MASK,
655 ObjectAttributes: POBJECT_ATTRIBUTES,
656 InitialOwner: BOOLEAN,
657 ) -> NTSTATUS;
658 fn ZwCreateNamedPipeFile(
659 FileHandle: PHANDLE,
660 DesiredAccess: ULONG,
661 ObjectAttributes: POBJECT_ATTRIBUTES,
662 IoStatusBlock: PIO_STATUS_BLOCK,
663 ShareAccess: ULONG,
664 CreateDisposition: ULONG,
665 CreateOptions: ULONG,
666 NamedPipeType: ULONG,
667 ReadMode: ULONG,
668 CompletionMode: ULONG,
669 MaximumInstances: ULONG,
670 InboundQuota: ULONG,
671 OutboundQuota: ULONG,
672 DefaultTimeout: PLARGE_INTEGER,
673 ) -> NTSTATUS;
674 fn ZwCreatePagingFile(
675 PageFileName: PUNICODE_STRING,
676 MinimumSize: PLARGE_INTEGER,
677 MaximumSize: PLARGE_INTEGER,
678 Priority: ULONG,
679 ) -> NTSTATUS;
680 fn ZwCreatePartition(
681 PartitionHandle: PHANDLE,
682 DesiredAccess: ACCESS_MASK,
683 ObjectAttributes: POBJECT_ATTRIBUTES,
684 PreferredNode: ULONG,
685 ) -> NTSTATUS;
686 fn ZwCreatePort(
687 PortHandle: PHANDLE,
688 ObjectAttributes: POBJECT_ATTRIBUTES,
689 MaxConnectionInfoLength: ULONG,
690 MaxMessageLength: ULONG,
691 MaxPoolUsage: ULONG,
692 ) -> NTSTATUS;
693 fn ZwCreatePrivateNamespace(
694 NamespaceHandle: PHANDLE,
695 DesiredAccess: ACCESS_MASK,
696 ObjectAttributes: POBJECT_ATTRIBUTES,
697 BoundaryDescriptor: PVOID,
698 ) -> NTSTATUS;
699 fn ZwCreateProcess(
700 ProcessHandle: PHANDLE,
701 DesiredAccess: ACCESS_MASK,
702 ObjectAttributes: POBJECT_ATTRIBUTES,
703 ParentProcess: HANDLE,
704 InheritObjectTable: BOOLEAN,
705 SectionHandle: HANDLE,
706 DebugPort: HANDLE,
707 ExceptionPort: HANDLE,
708 ) -> NTSTATUS;
709 fn ZwCreateProcessEx(
710 ProcessHandle: PHANDLE,
711 DesiredAccess: ACCESS_MASK,
712 ObjectAttributes: POBJECT_ATTRIBUTES,
713 ParentProcess: HANDLE,
714 Flags: ULONG,
715 SectionHandle: HANDLE,
716 DebugPort: HANDLE,
717 ExceptionPort: HANDLE,
718 JobMemberLevel: ULONG,
719 ) -> NTSTATUS;
720 fn ZwCreateProfile(
721 ProfileHandle: PHANDLE,
722 Process: HANDLE,
723 ProfileBase: PVOID,
724 ProfileSize: SIZE_T,
725 BucketSize: ULONG,
726 Buffer: PULONG,
727 BufferSize: ULONG,
728 ProfileSource: KPROFILE_SOURCE,
729 Affinity: KAFFINITY,
730 ) -> NTSTATUS;
731 fn ZwCreateProfileEx(
732 ProfileHandle: PHANDLE,
733 Process: HANDLE,
734 ProfileBase: PVOID,
735 ProfileSize: SIZE_T,
736 BucketSize: ULONG,
737 Buffer: PULONG,
738 BufferSize: ULONG,
739 ProfileSource: KPROFILE_SOURCE,
740 GroupCount: USHORT,
741 GroupAffinity: PGROUP_AFFINITY,
742 ) -> NTSTATUS;
743 fn ZwCreateResourceManager(
744 ResourceManagerHandle: PHANDLE,
745 DesiredAccess: ACCESS_MASK,
746 TmHandle: HANDLE,
747 ResourceManagerGuid: LPGUID,
748 ObjectAttributes: POBJECT_ATTRIBUTES,
749 CreateOptions: ULONG,
750 Description: PUNICODE_STRING,
751 ) -> NTSTATUS;
752 fn ZwCreateSection(
753 SectionHandle: PHANDLE,
754 DesiredAccess: ACCESS_MASK,
755 ObjectAttributes: POBJECT_ATTRIBUTES,
756 MaximumSize: PLARGE_INTEGER,
757 SectionPageProtection: ULONG,
758 AllocationAttributes: ULONG,
759 FileHandle: HANDLE,
760 ) -> NTSTATUS;
761 fn ZwCreateSemaphore(
762 SemaphoreHandle: PHANDLE,
763 DesiredAccess: ACCESS_MASK,
764 ObjectAttributes: POBJECT_ATTRIBUTES,
765 InitialCount: LONG,
766 MaximumCount: LONG,
767 ) -> NTSTATUS;
768 fn ZwCreateSymbolicLinkObject(
769 LinkHandle: PHANDLE,
770 DesiredAccess: ACCESS_MASK,
771 ObjectAttributes: POBJECT_ATTRIBUTES,
772 LinkTarget: PUNICODE_STRING,
773 ) -> NTSTATUS;
774 fn ZwCreateThread(
775 ThreadHandle: PHANDLE,
776 DesiredAccess: ACCESS_MASK,
777 ObjectAttributes: POBJECT_ATTRIBUTES,
778 ProcessHandle: HANDLE,
779 ClientId: PCLIENT_ID,
780 ThreadContext: PCONTEXT,
781 InitialTeb: PINITIAL_TEB,
782 CreateSuspended: BOOLEAN,
783 ) -> NTSTATUS;
784 fn ZwCreateThreadEx(
785 ThreadHandle: PHANDLE,
786 DesiredAccess: ACCESS_MASK,
787 ObjectAttributes: POBJECT_ATTRIBUTES,
788 ProcessHandle: HANDLE,
789 StartRoutine: PVOID,
790 Argument: PVOID,
791 CreateFlags: ULONG,
792 ZeroBits: SIZE_T,
793 StackSize: SIZE_T,
794 MaximumStackSize: SIZE_T,
795 AttributeList: PPS_ATTRIBUTE_LIST,
796 ) -> NTSTATUS;
797 fn ZwCreateTimer(
798 TimerHandle: PHANDLE,
799 DesiredAccess: ACCESS_MASK,
800 ObjectAttributes: POBJECT_ATTRIBUTES,
801 TimerType: TIMER_TYPE,
802 ) -> NTSTATUS;
803 fn ZwCreateTimer2(
804 TimerHandle: PHANDLE,
805 Reserved1: PVOID,
806 Reserved2: PVOID,
807 Attributes: ULONG,
808 DesiredAccess: ACCESS_MASK,
809 ) -> NTSTATUS;
810 fn ZwCreateToken(
811 TokenHandle: PHANDLE,
812 DesiredAccess: ACCESS_MASK,
813 ObjectAttributes: POBJECT_ATTRIBUTES,
814 TokenType: TOKEN_TYPE,
815 AuthenticationId: PLUID,
816 ExpirationTime: PLARGE_INTEGER,
817 User: PTOKEN_USER,
818 Groups: PTOKEN_GROUPS,
819 Privileges: PTOKEN_PRIVILEGES,
820 Owner: PTOKEN_OWNER,
821 PrimaryGroup: PTOKEN_PRIMARY_GROUP,
822 DefaultDacl: PTOKEN_DEFAULT_DACL,
823 TokenSource: PTOKEN_SOURCE,
824 ) -> NTSTATUS;
825 fn ZwCreateTokenEx(
826 TokenHandle: PHANDLE,
827 DesiredAccess: ACCESS_MASK,
828 ObjectAttributes: POBJECT_ATTRIBUTES,
829 TokenType: TOKEN_TYPE,
830 AuthenticationId: PLUID,
831 ExpirationTime: PLARGE_INTEGER,
832 User: PTOKEN_USER,
833 Groups: PTOKEN_GROUPS,
834 Privileges: PTOKEN_PRIVILEGES,
835 UserAttributes: PTOKEN_SECURITY_ATTRIBUTES_INFORMATION,
836 DeviceAttributes: PTOKEN_SECURITY_ATTRIBUTES_INFORMATION,
837 DeviceGroups: PTOKEN_GROUPS,
838 TokenMandatoryPolicy: PTOKEN_MANDATORY_POLICY,
839 Owner: PTOKEN_OWNER,
840 PrimaryGroup: PTOKEN_PRIMARY_GROUP,
841 DefaultDacl: PTOKEN_DEFAULT_DACL,
842 TokenSource: PTOKEN_SOURCE,
843 ) -> NTSTATUS;
844 fn ZwCreateTransaction(
845 TransactionHandle: PHANDLE,
846 DesiredAccess: ACCESS_MASK,
847 ObjectAttributes: POBJECT_ATTRIBUTES,
848 Uow: LPGUID,
849 TmHandle: HANDLE,
850 CreateOptions: ULONG,
851 IsolationLevel: ULONG,
852 IsolationFlags: ULONG,
853 Timeout: PLARGE_INTEGER,
854 Description: PUNICODE_STRING,
855 ) -> NTSTATUS;
856 fn ZwCreateTransactionManager(
857 TmHandle: PHANDLE,
858 DesiredAccess: ACCESS_MASK,
859 ObjectAttributes: POBJECT_ATTRIBUTES,
860 LogFileName: PUNICODE_STRING,
861 CreateOptions: ULONG,
862 CommitStrength: ULONG,
863 ) -> NTSTATUS;
864 fn ZwCreateUserProcess(
865 ProcessHandle: PHANDLE,
866 ThreadHandle: PHANDLE,
867 ProcessDesiredAccess: ACCESS_MASK,
868 ThreadDesiredAccess: ACCESS_MASK,
869 ProcessObjectAttributes: POBJECT_ATTRIBUTES,
870 ThreadObjectAttributes: POBJECT_ATTRIBUTES,
871 ProcessFlags: ULONG,
872 ThreadFlags: ULONG,
873 ProcessParameters: PVOID,
874 CreateInfo: PPS_CREATE_INFO,
875 AttributeList: PPS_ATTRIBUTE_LIST,
876 ) -> NTSTATUS;
877 fn ZwCreateWaitCompletionPacket(
878 WaitCompletionPacketHandle: PHANDLE,
879 DesiredAccess: ACCESS_MASK,
880 ObjectAttributes: POBJECT_ATTRIBUTES,
881 ) -> NTSTATUS;
882 fn ZwCreateWaitablePort(
883 PortHandle: PHANDLE,
884 ObjectAttributes: POBJECT_ATTRIBUTES,
885 MaxConnectionInfoLength: ULONG,
886 MaxMessageLength: ULONG,
887 MaxPoolUsage: ULONG,
888 ) -> NTSTATUS;
889 fn ZwCreateWnfStateName(
890 StateName: PWNF_STATE_NAME,
891 NameLifetime: WNF_STATE_NAME_LIFETIME,
892 DataScope: WNF_DATA_SCOPE,
893 PersistData: BOOLEAN,
894 TypeId: PCWNF_TYPE_ID,
895 MaximumStateSize: ULONG,
896 SecurityDescriptor: PSECURITY_DESCRIPTOR,
897 ) -> NTSTATUS;
898 fn ZwCreateWorkerFactory(
899 WorkerFactoryHandleReturn: PHANDLE,
900 DesiredAccess: ACCESS_MASK,
901 ObjectAttributes: POBJECT_ATTRIBUTES,
902 CompletionPortHandle: HANDLE,
903 WorkerProcessHandle: HANDLE,
904 StartRoutine: PVOID,
905 StartParameter: PVOID,
906 MaxThreadCount: ULONG,
907 StackReserve: SIZE_T,
908 StackCommit: SIZE_T,
909 ) -> NTSTATUS;
910 fn ZwDebugActiveProcess(
911 ProcessHandle: HANDLE,
912 DebugObjectHandle: HANDLE,
913 ) -> NTSTATUS;
914 fn ZwDebugContinue(
915 DebugObjectHandle: HANDLE,
916 ClientId: PCLIENT_ID,
917 ContinueStatus: NTSTATUS,
918 ) -> NTSTATUS;
919 fn ZwDelayExecution(
920 Alertable: BOOLEAN,
921 DelayInterval: PLARGE_INTEGER,
922 ) -> NTSTATUS;
923 fn ZwDeleteAtom(
924 Atom: RTL_ATOM,
925 ) -> NTSTATUS;
926 fn ZwDeleteBootEntry(
927 Id: ULONG,
928 ) -> NTSTATUS;
929 fn ZwDeleteDriverEntry(
930 Id: ULONG,
931 ) -> NTSTATUS;
932 fn ZwDeleteFile(
933 ObjectAttributes: POBJECT_ATTRIBUTES,
934 ) -> NTSTATUS;
935 fn ZwDeleteKey(
936 KeyHandle: HANDLE,
937 ) -> NTSTATUS;
938 fn ZwDeleteObjectAuditAlarm(
939 SubsystemName: PUNICODE_STRING,
940 HandleId: PVOID,
941 GenerateOnClose: BOOLEAN,
942 ) -> NTSTATUS;
943 fn ZwDeletePrivateNamespace(
944 NamespaceHandle: HANDLE,
945 ) -> NTSTATUS;
946 fn ZwDeleteValueKey(
947 KeyHandle: HANDLE,
948 ValueName: PUNICODE_STRING,
949 ) -> NTSTATUS;
950 fn ZwDeleteWnfStateData(
951 StateName: PCWNF_STATE_NAME,
952 ExplicitScope: *const VOID,
953 ) -> NTSTATUS;
954 fn ZwDeleteWnfStateName(
955 StateName: PCWNF_STATE_NAME,
956 ) -> NTSTATUS;
957 fn ZwDeviceIoControlFile(
958 FileHandle: HANDLE,
959 Event: HANDLE,
960 ApcRoutine: PIO_APC_ROUTINE,
961 ApcContext: PVOID,
962 IoStatusBlock: PIO_STATUS_BLOCK,
963 IoControlCode: ULONG,
964 InputBuffer: PVOID,
965 InputBufferLength: ULONG,
966 OutputBuffer: PVOID,
967 OutputBufferLength: ULONG,
968 ) -> NTSTATUS;
969 fn ZwDisableLastKnownGood() -> NTSTATUS;
970 fn ZwDisplayString(
971 String: PUNICODE_STRING,
972 ) -> NTSTATUS;
973 fn ZwDrawText(
974 String: PUNICODE_STRING,
975 ) -> NTSTATUS;
976 fn ZwDuplicateObject(
977 SourceProcessHandle: HANDLE,
978 SourceHandle: HANDLE,
979 TargetProcessHandle: HANDLE,
980 TargetHandle: PHANDLE,
981 DesiredAccess: ACCESS_MASK,
982 HandleAttributes: ULONG,
983 Options: ULONG,
984 ) -> NTSTATUS;
985 fn ZwDuplicateToken(
986 ExistingTokenHandle: HANDLE,
987 DesiredAccess: ACCESS_MASK,
988 ObjectAttributes: POBJECT_ATTRIBUTES,
989 EffectiveOnly: BOOLEAN,
990 TokenType: TOKEN_TYPE,
991 NewTokenHandle: PHANDLE,
992 ) -> NTSTATUS;
993 fn ZwEnableLastKnownGood() -> NTSTATUS;
994 fn ZwEnumerateBootEntries(
995 Buffer: PVOID,
996 BufferLength: PULONG,
997 ) -> NTSTATUS;
998 fn ZwEnumerateDriverEntries(
999 Buffer: PVOID,
1000 BufferLength: PULONG,
1001 ) -> NTSTATUS;
1002 fn ZwEnumerateKey(
1003 KeyHandle: HANDLE,
1004 Index: ULONG,
1005 KeyInformationClass: KEY_INFORMATION_CLASS,
1006 KeyInformation: PVOID,
1007 Length: ULONG,
1008 ResultLength: PULONG,
1009 ) -> NTSTATUS;
1010 fn ZwEnumerateSystemEnvironmentValuesEx(
1011 InformationClass: ULONG,
1012 Buffer: PVOID,
1013 BufferLength: PULONG,
1014 ) -> NTSTATUS;
1015 fn ZwEnumerateTransactionObject(
1016 RootObjectHandle: HANDLE,
1017 QueryType: KTMOBJECT_TYPE,
1018 ObjectCursor: PKTMOBJECT_CURSOR,
1019 ObjectCursorLength: ULONG,
1020 ReturnLength: PULONG,
1021 ) -> NTSTATUS;
1022 fn ZwEnumerateValueKey(
1023 KeyHandle: HANDLE,
1024 Index: ULONG,
1025 KeyValueInformationClass: KEY_VALUE_INFORMATION_CLASS,
1026 KeyValueInformation: PVOID,
1027 Length: ULONG,
1028 ResultLength: PULONG,
1029 ) -> NTSTATUS;
1030 fn ZwExtendSection(
1031 SectionHandle: HANDLE,
1032 NewSectionSize: PLARGE_INTEGER,
1033 ) -> NTSTATUS;
1034 fn ZwFilterToken(
1035 ExistingTokenHandle: HANDLE,
1036 Flags: ULONG,
1037 SidsToDisable: PTOKEN_GROUPS,
1038 PrivilegesToDelete: PTOKEN_PRIVILEGES,
1039 RestrictedSids: PTOKEN_GROUPS,
1040 NewTokenHandle: PHANDLE,
1041 ) -> NTSTATUS;
1042 fn ZwFilterTokenEx(
1043 ExistingTokenHandle: HANDLE,
1044 Flags: ULONG,
1045 SidsToDisable: PTOKEN_GROUPS,
1046 PrivilegesToDelete: PTOKEN_PRIVILEGES,
1047 RestrictedSids: PTOKEN_GROUPS,
1048 DisableUserClaimsCount: ULONG,
1049 UserClaimsToDisable: PUNICODE_STRING,
1050 DisableDeviceClaimsCount: ULONG,
1051 DeviceClaimsToDisable: PUNICODE_STRING,
1052 DeviceGroupsToDisable: PTOKEN_GROUPS,
1053 RestrictedUserAttributes: PTOKEN_SECURITY_ATTRIBUTES_INFORMATION,
1054 RestrictedDeviceAttributes: PTOKEN_SECURITY_ATTRIBUTES_INFORMATION,
1055 RestrictedDeviceGroups: PTOKEN_GROUPS,
1056 NewTokenHandle: PHANDLE,
1057 ) -> NTSTATUS;
1058 fn ZwFindAtom(
1059 AtomName: PWSTR,
1060 Length: ULONG,
1061 Atom: PRTL_ATOM,
1062 ) -> NTSTATUS;
1063 fn ZwFlushBuffersFile(
1064 FileHandle: HANDLE,
1065 IoStatusBlock: PIO_STATUS_BLOCK,
1066 ) -> NTSTATUS;
1067 fn ZwFlushBuffersFileEx(
1068 FileHandle: HANDLE,
1069 Flags: ULONG,
1070 Parameters: PVOID,
1071 ParametersSize: ULONG,
1072 IoStatusBlock: PIO_STATUS_BLOCK,
1073 ) -> NTSTATUS;
1074 fn ZwFlushInstallUILanguage(
1075 InstallUILanguage: LANGID,
1076 SetComittedFlag: ULONG,
1077 ) -> NTSTATUS;
1078 fn ZwFlushInstructionCache(
1079 ProcessHandle: HANDLE,
1080 BaseAddress: PVOID,
1081 Length: SIZE_T,
1082 ) -> NTSTATUS;
1083 fn ZwFlushKey(
1084 KeyHandle: HANDLE,
1085 ) -> NTSTATUS;
1086 fn ZwFlushProcessWriteBuffers();
1087 fn ZwFlushWriteBuffer() -> NTSTATUS;
1088 fn ZwFreeUserPhysicalPages(
1089 ProcessHandle: HANDLE,
1090 NumberOfPages: PULONG_PTR,
1091 UserPfnArray: PULONG_PTR,
1092 ) -> NTSTATUS;
1093 fn ZwFreeVirtualMemory(
1094 ProcessHandle: HANDLE,
1095 BaseAddress: *mut PVOID,
1096 RegionSize: PSIZE_T,
1097 FreeType: ULONG,
1098 ) -> NTSTATUS;
1099 fn ZwFreezeRegistry(
1100 TimeOutInSeconds: ULONG,
1101 ) -> NTSTATUS;
1102 fn ZwFreezeTransactions(
1103 FreezeTimeout: PLARGE_INTEGER,
1104 ThawTimeout: PLARGE_INTEGER,
1105 ) -> NTSTATUS;
1106 fn ZwFsControlFile(
1107 FileHandle: HANDLE,
1108 Event: HANDLE,
1109 ApcRoutine: PIO_APC_ROUTINE,
1110 ApcContext: PVOID,
1111 IoStatusBlock: PIO_STATUS_BLOCK,
1112 FsControlCode: ULONG,
1113 InputBuffer: PVOID,
1114 InputBufferLength: ULONG,
1115 OutputBuffer: PVOID,
1116 OutputBufferLength: ULONG,
1117 ) -> NTSTATUS;
1118 fn ZwGetCachedSigningLevel(
1119 File: HANDLE,
1120 Flags: PULONG,
1121 SigningLevel: PSE_SIGNING_LEVEL,
1122 Thumbprint: PUCHAR,
1123 ThumbprintSize: PULONG,
1124 ThumbprintAlgorithm: PULONG,
1125 ) -> NTSTATUS;
1126 fn ZwGetCompleteWnfStateSubscription(
1127 OldDescriptorStateName: PWNF_STATE_NAME,
1128 OldSubscriptionId: *mut ULONG64,
1129 OldDescriptorEventMask: ULONG,
1130 OldDescriptorStatus: ULONG,
1131 NewDeliveryDescriptor: PWNF_DELIVERY_DESCRIPTOR,
1132 DescriptorSize: ULONG,
1133 ) -> NTSTATUS;
1134 fn ZwGetContextThread(
1135 ThreadHandle: HANDLE,
1136 ThreadContext: PCONTEXT,
1137 ) -> NTSTATUS;
1138 fn ZwGetCurrentProcessorNumber() -> ULONG;
1139 fn ZwGetDevicePowerState(
1140 Device: HANDLE,
1141 State: PDEVICE_POWER_STATE,
1142 ) -> NTSTATUS;
1143 fn ZwGetMUIRegistryInfo(
1144 Flags: ULONG,
1145 DataSize: PULONG,
1146 Data: PVOID,
1147 ) -> NTSTATUS;
1148 fn ZwGetNextProcess(
1149 ProcessHandle: HANDLE,
1150 DesiredAccess: ACCESS_MASK,
1151 HandleAttributes: ULONG,
1152 Flags: ULONG,
1153 NewProcessHandle: PHANDLE,
1154 ) -> NTSTATUS;
1155 fn ZwGetNextThread(
1156 ProcessHandle: HANDLE,
1157 ThreadHandle: HANDLE,
1158 DesiredAccess: ACCESS_MASK,
1159 HandleAttributes: ULONG,
1160 Flags: ULONG,
1161 NewThreadHandle: PHANDLE,
1162 ) -> NTSTATUS;
1163 fn ZwGetNlsSectionPtr(
1164 SectionType: ULONG,
1165 SectionData: ULONG,
1166 ContextData: PVOID,
1167 SectionPointer: *mut PVOID,
1168 SectionSize: PULONG,
1169 ) -> NTSTATUS;
1170 fn ZwGetNotificationResourceManager(
1171 ResourceManagerHandle: HANDLE,
1172 TransactionNotification: PTRANSACTION_NOTIFICATION,
1173 NotificationLength: ULONG,
1174 Timeout: PLARGE_INTEGER,
1175 ReturnLength: PULONG,
1176 Asynchronous: ULONG,
1177 AsynchronousContext: ULONG_PTR,
1178 ) -> NTSTATUS;
1179 fn ZwGetPlugPlayEvent(
1180 EventHandle: HANDLE,
1181 Context: PVOID,
1182 EventBlock: PPLUGPLAY_EVENT_BLOCK,
1183 EventBufferSize: ULONG,
1184 ) -> NTSTATUS;
1185 fn ZwGetWriteWatch(
1186 ProcessHandle: HANDLE,
1187 Flags: ULONG,
1188 BaseAddress: PVOID,
1189 RegionSize: SIZE_T,
1190 UserAddressArray: *mut PVOID,
1191 EntriesInUserAddressArray: PULONG_PTR,
1192 Granularity: PULONG,
1193 ) -> NTSTATUS;
1194 fn ZwImpersonateAnonymousToken(
1195 ThreadHandle: HANDLE,
1196 ) -> NTSTATUS;
1197 fn ZwImpersonateClientOfPort(
1198 PortHandle: HANDLE,
1199 Message: PPORT_MESSAGE,
1200 ) -> NTSTATUS;
1201 fn ZwImpersonateThread(
1202 ServerThreadHandle: HANDLE,
1203 ClientThreadHandle: HANDLE,
1204 SecurityQos: PSECURITY_QUALITY_OF_SERVICE,
1205 ) -> NTSTATUS;
1206 fn ZwInitializeNlsFiles(
1207 BaseAddress: *mut PVOID,
1208 DefaultLocaleId: PLCID,
1209 DefaultCasingTableSize: PLARGE_INTEGER,
1210 ) -> NTSTATUS;
1211 fn ZwInitializeRegistry(
1212 BootCondition: USHORT,
1213 ) -> NTSTATUS;
1214 fn ZwInitiatePowerAction(
1215 SystemAction: POWER_ACTION,
1216 LightestSystemState: SYSTEM_POWER_STATE,
1217 Flags: ULONG,
1218 Asynchronous: BOOLEAN,
1219 ) -> NTSTATUS;
1220 fn ZwIsProcessInJob(
1221 ProcessHandle: HANDLE,
1222 JobHandle: HANDLE,
1223 ) -> NTSTATUS;
1224 fn ZwIsSystemResumeAutomatic() -> BOOLEAN;
1225 fn ZwIsUILanguageComitted() -> NTSTATUS;
1226 fn ZwListenPort(
1227 PortHandle: HANDLE,
1228 ConnectionRequest: PPORT_MESSAGE,
1229 ) -> NTSTATUS;
1230 fn ZwLoadDriver(
1231 DriverServiceName: PUNICODE_STRING,
1232 ) -> NTSTATUS;
1233 fn ZwLoadKey(
1234 TargetKey: POBJECT_ATTRIBUTES,
1235 SourceFile: POBJECT_ATTRIBUTES,
1236 ) -> NTSTATUS;
1237 fn ZwLoadKey2(
1238 TargetKey: POBJECT_ATTRIBUTES,
1239 SourceFile: POBJECT_ATTRIBUTES,
1240 Flags: ULONG,
1241 ) -> NTSTATUS;
1242 fn ZwLoadKeyEx(
1243 TargetKey: POBJECT_ATTRIBUTES,
1244 SourceFile: POBJECT_ATTRIBUTES,
1245 Flags: ULONG,
1246 TrustClassKey: HANDLE,
1247 Event: HANDLE,
1248 DesiredAccess: ACCESS_MASK,
1249 RootHandle: PHANDLE,
1250 IoStatus: PIO_STATUS_BLOCK,
1251 ) -> NTSTATUS;
1252 fn ZwLockFile(
1253 FileHandle: HANDLE,
1254 Event: HANDLE,
1255 ApcRoutine: PIO_APC_ROUTINE,
1256 ApcContext: PVOID,
1257 IoStatusBlock: PIO_STATUS_BLOCK,
1258 ByteOffset: PLARGE_INTEGER,
1259 Length: PLARGE_INTEGER,
1260 Key: ULONG,
1261 FailImmediately: BOOLEAN,
1262 ExclusiveLock: BOOLEAN,
1263 ) -> NTSTATUS;
1264 fn ZwLockProductActivationKeys(
1265 pPrivateVer: *mut ULONG,
1266 pSafeMode: *mut ULONG,
1267 ) -> NTSTATUS;
1268 fn ZwLockRegistryKey(
1269 KeyHandle: HANDLE,
1270 ) -> NTSTATUS;
1271 fn ZwLockVirtualMemory(
1272 ProcessHandle: HANDLE,
1273 BaseAddress: *mut PVOID,
1274 RegionSize: PSIZE_T,
1275 MapType: ULONG,
1276 ) -> NTSTATUS;
1277 fn ZwMakePermanentObject(
1278 Handle: HANDLE,
1279 ) -> NTSTATUS;
1280 fn ZwMakeTemporaryObject(
1281 Handle: HANDLE,
1282 ) -> NTSTATUS;
1283 fn ZwManagePartition(
1284 PartitionInformationClass: MEMORY_PARTITION_INFORMATION_CLASS,
1285 PartitionInformation: PVOID,
1286 PartitionInformationLength: ULONG,
1287 ) -> NTSTATUS;
1288 fn ZwMapCMFModule(
1289 What: ULONG,
1290 Index: ULONG,
1291 CacheIndexOut: PULONG,
1292 CacheFlagsOut: PULONG,
1293 ViewSizeOut: PULONG,
1294 BaseAddress: *mut PVOID,
1295 ) -> NTSTATUS;
1296 fn ZwMapUserPhysicalPages(
1297 VirtualAddress: PVOID,
1298 NumberOfPages: ULONG_PTR,
1299 UserPfnArray: PULONG_PTR,
1300 ) -> NTSTATUS;
1301 fn ZwMapUserPhysicalPagesScatter(
1302 VirtualAddresses: *mut PVOID,
1303 NumberOfPages: ULONG_PTR,
1304 UserPfnArray: PULONG_PTR,
1305 ) -> NTSTATUS;
1306 fn ZwMapViewOfSection(
1307 SectionHandle: HANDLE,
1308 ProcessHandle: HANDLE,
1309 BaseAddress: *mut PVOID,
1310 ZeroBits: ULONG_PTR,
1311 CommitSize: SIZE_T,
1312 SectionOffset: PLARGE_INTEGER,
1313 ViewSize: PSIZE_T,
1314 InheritDisposition: SECTION_INHERIT,
1315 AllocationType: ULONG,
1316 Win32Protect: ULONG,
1317 ) -> NTSTATUS;
1318 fn ZwModifyBootEntry(
1319 BootEntry: PBOOT_ENTRY,
1320 ) -> NTSTATUS;
1321 fn ZwModifyDriverEntry(
1322 DriverEntry: PEFI_DRIVER_ENTRY,
1323 ) -> NTSTATUS;
1324 fn ZwNotifyChangeDirectoryFile(
1325 FileHandle: HANDLE,
1326 Event: HANDLE,
1327 ApcRoutine: PIO_APC_ROUTINE,
1328 ApcContext: PVOID,
1329 IoStatusBlock: PIO_STATUS_BLOCK,
1330 Buffer: PVOID,
1331 Length: ULONG,
1332 CompletionFilter: ULONG,
1333 WatchTree: BOOLEAN,
1334 ) -> NTSTATUS;
1335 fn ZwNotifyChangeKey(
1336 KeyHandle: HANDLE,
1337 Event: HANDLE,
1338 ApcRoutine: PIO_APC_ROUTINE,
1339 ApcContext: PVOID,
1340 IoStatusBlock: PIO_STATUS_BLOCK,
1341 CompletionFilter: ULONG,
1342 WatchTree: BOOLEAN,
1343 Buffer: PVOID,
1344 BufferSize: ULONG,
1345 Asynchronous: BOOLEAN,
1346 ) -> NTSTATUS;
1347 fn ZwNotifyChangeMultipleKeys(
1348 MasterKeyHandle: HANDLE,
1349 Count: ULONG,
1350 SubordinateObjects: *mut OBJECT_ATTRIBUTES,
1351 Event: HANDLE,
1352 ApcRoutine: PIO_APC_ROUTINE,
1353 ApcContext: PVOID,
1354 IoStatusBlock: PIO_STATUS_BLOCK,
1355 CompletionFilter: ULONG,
1356 WatchTree: BOOLEAN,
1357 Buffer: PVOID,
1358 BufferSize: ULONG,
1359 Asynchronous: BOOLEAN,
1360 ) -> NTSTATUS;
1361 fn ZwNotifyChangeSession(
1362 SessionHandle: HANDLE,
1363 ChangeSequenceNumber: ULONG,
1364 ChangeTimeStamp: PLARGE_INTEGER,
1365 Event: IO_SESSION_EVENT,
1366 NewState: IO_SESSION_STATE,
1367 PreviousState: IO_SESSION_STATE,
1368 Payload: PVOID,
1369 PayloadSize: ULONG,
1370 ) -> NTSTATUS;
1371 fn ZwOpenDirectoryObject(
1372 DirectoryHandle: PHANDLE,
1373 DesiredAccess: ACCESS_MASK,
1374 ObjectAttributes: POBJECT_ATTRIBUTES,
1375 ) -> NTSTATUS;
1376 fn ZwOpenEnlistment(
1377 EnlistmentHandle: PHANDLE,
1378 DesiredAccess: ACCESS_MASK,
1379 RmHandle: HANDLE,
1380 EnlistmentGuid: LPGUID,
1381 ObjectAttributes: POBJECT_ATTRIBUTES,
1382 ) -> NTSTATUS;
1383 fn ZwOpenEvent(
1384 EventHandle: PHANDLE,
1385 DesiredAccess: ACCESS_MASK,
1386 ObjectAttributes: POBJECT_ATTRIBUTES,
1387 ) -> NTSTATUS;
1388 fn ZwOpenEventPair(
1389 EventPairHandle: PHANDLE,
1390 DesiredAccess: ACCESS_MASK,
1391 ObjectAttributes: POBJECT_ATTRIBUTES,
1392 ) -> NTSTATUS;
1393 fn ZwOpenFile(
1394 FileHandle: PHANDLE,
1395 DesiredAccess: ACCESS_MASK,
1396 ObjectAttributes: POBJECT_ATTRIBUTES,
1397 IoStatusBlock: PIO_STATUS_BLOCK,
1398 ShareAccess: ULONG,
1399 OpenOptions: ULONG,
1400 ) -> NTSTATUS;
1401 fn ZwOpenIoCompletion(
1402 IoCompletionHandle: PHANDLE,
1403 DesiredAccess: ACCESS_MASK,
1404 ObjectAttributes: POBJECT_ATTRIBUTES,
1405 ) -> NTSTATUS;
1406 fn ZwOpenJobObject(
1407 JobHandle: PHANDLE,
1408 DesiredAccess: ACCESS_MASK,
1409 ObjectAttributes: POBJECT_ATTRIBUTES,
1410 ) -> NTSTATUS;
1411 fn ZwOpenKey(
1412 KeyHandle: PHANDLE,
1413 DesiredAccess: ACCESS_MASK,
1414 ObjectAttributes: POBJECT_ATTRIBUTES,
1415 ) -> NTSTATUS;
1416 fn ZwOpenKeyEx(
1417 KeyHandle: PHANDLE,
1418 DesiredAccess: ACCESS_MASK,
1419 ObjectAttributes: POBJECT_ATTRIBUTES,
1420 OpenOptions: ULONG,
1421 ) -> NTSTATUS;
1422 fn ZwOpenKeyTransacted(
1423 KeyHandle: PHANDLE,
1424 DesiredAccess: ACCESS_MASK,
1425 ObjectAttributes: POBJECT_ATTRIBUTES,
1426 TransactionHandle: HANDLE,
1427 ) -> NTSTATUS;
1428 fn ZwOpenKeyTransactedEx(
1429 KeyHandle: PHANDLE,
1430 DesiredAccess: ACCESS_MASK,
1431 ObjectAttributes: POBJECT_ATTRIBUTES,
1432 OpenOptions: ULONG,
1433 TransactionHandle: HANDLE,
1434 ) -> NTSTATUS;
1435 fn ZwOpenKeyedEvent(
1436 KeyedEventHandle: PHANDLE,
1437 DesiredAccess: ACCESS_MASK,
1438 ObjectAttributes: POBJECT_ATTRIBUTES,
1439 ) -> NTSTATUS;
1440 fn ZwOpenMutant(
1441 MutantHandle: PHANDLE,
1442 DesiredAccess: ACCESS_MASK,
1443 ObjectAttributes: POBJECT_ATTRIBUTES,
1444 ) -> NTSTATUS;
1445 fn ZwOpenObjectAuditAlarm(
1446 SubsystemName: PUNICODE_STRING,
1447 HandleId: PVOID,
1448 ObjectTypeName: PUNICODE_STRING,
1449 ObjectName: PUNICODE_STRING,
1450 SecurityDescriptor: PSECURITY_DESCRIPTOR,
1451 ClientToken: HANDLE,
1452 DesiredAccess: ACCESS_MASK,
1453 GrantedAccess: ACCESS_MASK,
1454 Privileges: PPRIVILEGE_SET,
1455 ObjectCreation: BOOLEAN,
1456 AccessGranted: BOOLEAN,
1457 GenerateOnClose: PBOOLEAN,
1458 ) -> NTSTATUS;
1459 fn ZwOpenPartition(
1460 PartitionHandle: PHANDLE,
1461 DesiredAccess: ACCESS_MASK,
1462 ObjectAttributes: POBJECT_ATTRIBUTES,
1463 ) -> NTSTATUS;
1464 fn ZwOpenPrivateNamespace(
1465 NamespaceHandle: PHANDLE,
1466 DesiredAccess: ACCESS_MASK,
1467 ObjectAttributes: POBJECT_ATTRIBUTES,
1468 BoundaryDescriptor: PVOID,
1469 ) -> NTSTATUS;
1470 fn ZwOpenProcess(
1471 ProcessHandle: PHANDLE,
1472 DesiredAccess: ACCESS_MASK,
1473 ObjectAttributes: POBJECT_ATTRIBUTES,
1474 ClientId: PCLIENT_ID,
1475 ) -> NTSTATUS;
1476 fn ZwOpenProcessToken(
1477 ProcessHandle: HANDLE,
1478 DesiredAccess: ACCESS_MASK,
1479 TokenHandle: PHANDLE,
1480 ) -> NTSTATUS;
1481 fn ZwOpenProcessTokenEx(
1482 ProcessHandle: HANDLE,
1483 DesiredAccess: ACCESS_MASK,
1484 HandleAttributes: ULONG,
1485 TokenHandle: PHANDLE,
1486 ) -> NTSTATUS;
1487 fn ZwOpenResourceManager(
1488 ResourceManagerHandle: PHANDLE,
1489 DesiredAccess: ACCESS_MASK,
1490 TmHandle: HANDLE,
1491 ResourceManagerGuid: LPGUID,
1492 ObjectAttributes: POBJECT_ATTRIBUTES,
1493 ) -> NTSTATUS;
1494 fn ZwOpenSection(
1495 SectionHandle: PHANDLE,
1496 DesiredAccess: ACCESS_MASK,
1497 ObjectAttributes: POBJECT_ATTRIBUTES,
1498 ) -> NTSTATUS;
1499 fn ZwOpenSemaphore(
1500 SemaphoreHandle: PHANDLE,
1501 DesiredAccess: ACCESS_MASK,
1502 ObjectAttributes: POBJECT_ATTRIBUTES,
1503 ) -> NTSTATUS;
1504 fn ZwOpenSession(
1505 SessionHandle: PHANDLE,
1506 DesiredAccess: ACCESS_MASK,
1507 ObjectAttributes: POBJECT_ATTRIBUTES,
1508 ) -> NTSTATUS;
1509 fn ZwOpenSymbolicLinkObject(
1510 LinkHandle: PHANDLE,
1511 DesiredAccess: ACCESS_MASK,
1512 ObjectAttributes: POBJECT_ATTRIBUTES,
1513 ) -> NTSTATUS;
1514 fn ZwOpenThread(
1515 ThreadHandle: PHANDLE,
1516 DesiredAccess: ACCESS_MASK,
1517 ObjectAttributes: POBJECT_ATTRIBUTES,
1518 ClientId: PCLIENT_ID,
1519 ) -> NTSTATUS;
1520 fn ZwOpenThreadToken(
1521 ThreadHandle: HANDLE,
1522 DesiredAccess: ACCESS_MASK,
1523 OpenAsSelf: BOOLEAN,
1524 TokenHandle: PHANDLE,
1525 ) -> NTSTATUS;
1526 fn ZwOpenThreadTokenEx(
1527 ThreadHandle: HANDLE,
1528 DesiredAccess: ACCESS_MASK,
1529 OpenAsSelf: BOOLEAN,
1530 HandleAttributes: ULONG,
1531 TokenHandle: PHANDLE,
1532 ) -> NTSTATUS;
1533 fn ZwOpenTimer(
1534 TimerHandle: PHANDLE,
1535 DesiredAccess: ACCESS_MASK,
1536 ObjectAttributes: POBJECT_ATTRIBUTES,
1537 ) -> NTSTATUS;
1538 fn ZwOpenTransaction(
1539 TransactionHandle: PHANDLE,
1540 DesiredAccess: ACCESS_MASK,
1541 ObjectAttributes: POBJECT_ATTRIBUTES,
1542 Uow: LPGUID,
1543 TmHandle: HANDLE,
1544 ) -> NTSTATUS;
1545 fn ZwOpenTransactionManager(
1546 TmHandle: PHANDLE,
1547 DesiredAccess: ACCESS_MASK,
1548 ObjectAttributes: POBJECT_ATTRIBUTES,
1549 LogFileName: PUNICODE_STRING,
1550 TmIdentity: LPGUID,
1551 OpenOptions: ULONG,
1552 ) -> NTSTATUS;
1553 fn ZwPlugPlayControl(
1554 PnPControlClass: PLUGPLAY_CONTROL_CLASS,
1555 PnPControlData: PVOID,
1556 PnPControlDataLength: ULONG,
1557 ) -> NTSTATUS;
1558 fn ZwPowerInformation(
1559 InformationLevel: POWER_INFORMATION_LEVEL,
1560 InputBuffer: PVOID,
1561 InputBufferLength: ULONG,
1562 OutputBuffer: PVOID,
1563 OutputBufferLength: ULONG,
1564 ) -> NTSTATUS;
1565 fn ZwPrePrepareComplete(
1566 EnlistmentHandle: HANDLE,
1567 TmVirtualClock: PLARGE_INTEGER,
1568 ) -> NTSTATUS;
1569 fn ZwPrePrepareEnlistment(
1570 EnlistmentHandle: HANDLE,
1571 TmVirtualClock: PLARGE_INTEGER,
1572 ) -> NTSTATUS;
1573 fn ZwPrepareComplete(
1574 EnlistmentHandle: HANDLE,
1575 TmVirtualClock: PLARGE_INTEGER,
1576 ) -> NTSTATUS;
1577 fn ZwPrepareEnlistment(
1578 EnlistmentHandle: HANDLE,
1579 TmVirtualClock: PLARGE_INTEGER,
1580 ) -> NTSTATUS;
1581 fn ZwPrivilegeCheck(
1582 ClientToken: HANDLE,
1583 RequiredPrivileges: PPRIVILEGE_SET,
1584 Result: PBOOLEAN,
1585 ) -> NTSTATUS;
1586 fn ZwPrivilegeObjectAuditAlarm(
1587 SubsystemName: PUNICODE_STRING,
1588 HandleId: PVOID,
1589 ClientToken: HANDLE,
1590 DesiredAccess: ACCESS_MASK,
1591 Privileges: PPRIVILEGE_SET,
1592 AccessGranted: BOOLEAN,
1593 ) -> NTSTATUS;
1594 fn ZwPrivilegedServiceAuditAlarm(
1595 SubsystemName: PUNICODE_STRING,
1596 ServiceName: PUNICODE_STRING,
1597 ClientToken: HANDLE,
1598 Privileges: PPRIVILEGE_SET,
1599 AccessGranted: BOOLEAN,
1600 ) -> NTSTATUS;
1601 fn ZwPropagationComplete(
1602 ResourceManagerHandle: HANDLE,
1603 RequestCookie: ULONG,
1604 BufferLength: ULONG,
1605 Buffer: PVOID,
1606 ) -> NTSTATUS;
1607 fn ZwPropagationFailed(
1608 ResourceManagerHandle: HANDLE,
1609 RequestCookie: ULONG,
1610 PropStatus: NTSTATUS,
1611 ) -> NTSTATUS;
1612 fn ZwProtectVirtualMemory(
1613 ProcessHandle: HANDLE,
1614 BaseAddress: *mut PVOID,
1615 RegionSize: PSIZE_T,
1616 NewProtect: ULONG,
1617 OldProtect: PULONG,
1618 ) -> NTSTATUS;
1619 fn ZwPulseEvent(
1620 EventHandle: HANDLE,
1621 PreviousState: PLONG,
1622 ) -> NTSTATUS;
1623 fn ZwQueryAttributesFile(
1624 ObjectAttributes: POBJECT_ATTRIBUTES,
1625 FileInformation: PFILE_BASIC_INFORMATION,
1626 ) -> NTSTATUS;
1627 fn ZwQueryBootEntryOrder(
1628 Ids: PULONG,
1629 Count: PULONG,
1630 ) -> NTSTATUS;
1631 fn ZwQueryBootOptions(
1632 BootOptions: PBOOT_OPTIONS,
1633 BootOptionsLength: PULONG,
1634 ) -> NTSTATUS;
1635 fn ZwQueryDebugFilterState(
1636 ComponentId: ULONG,
1637 Level: ULONG,
1638 ) -> NTSTATUS;
1639 fn ZwQueryDefaultLocale(
1640 UserProfile: BOOLEAN,
1641 DefaultLocaleId: PLCID,
1642 ) -> NTSTATUS;
1643 fn ZwQueryDefaultUILanguage(
1644 DefaultUILanguageId: *mut LANGID,
1645 ) -> NTSTATUS;
1646 fn ZwQueryDirectoryFile(
1647 FileHandle: HANDLE,
1648 Event: HANDLE,
1649 ApcRoutine: PIO_APC_ROUTINE,
1650 ApcContext: PVOID,
1651 IoStatusBlock: PIO_STATUS_BLOCK,
1652 FileInformation: PVOID,
1653 Length: ULONG,
1654 FileInformationClass: FILE_INFORMATION_CLASS,
1655 ReturnSingleEntry: BOOLEAN,
1656 FileName: PUNICODE_STRING,
1657 RestartScan: BOOLEAN,
1658 ) -> NTSTATUS;
1659 fn ZwQueryDirectoryObject(
1660 DirectoryHandle: HANDLE,
1661 Buffer: PVOID,
1662 Length: ULONG,
1663 ReturnSingleEntry: BOOLEAN,
1664 RestartScan: BOOLEAN,
1665 Context: PULONG,
1666 ReturnLength: PULONG,
1667 ) -> NTSTATUS;
1668 fn ZwQueryDriverEntryOrder(
1669 Ids: PULONG,
1670 Count: PULONG,
1671 ) -> NTSTATUS;
1672 fn ZwQueryEaFile(
1673 FileHandle: HANDLE,
1674 IoStatusBlock: PIO_STATUS_BLOCK,
1675 Buffer: PVOID,
1676 Length: ULONG,
1677 ReturnSingleEntry: BOOLEAN,
1678 EaList: PVOID,
1679 EaListLength: ULONG,
1680 EaIndex: PULONG,
1681 RestartScan: BOOLEAN,
1682 ) -> NTSTATUS;
1683 fn ZwQueryEvent(
1684 EventHandle: HANDLE,
1685 EventInformationClass: EVENT_INFORMATION_CLASS,
1686 EventInformation: PVOID,
1687 EventInformationLength: ULONG,
1688 ReturnLength: PULONG,
1689 ) -> NTSTATUS;
1690 fn ZwQueryFullAttributesFile(
1691 ObjectAttributes: POBJECT_ATTRIBUTES,
1692 FileInformation: PFILE_NETWORK_OPEN_INFORMATION,
1693 ) -> NTSTATUS;
1694 fn ZwQueryInformationAtom(
1695 Atom: RTL_ATOM,
1696 AtomInformationClass: ATOM_INFORMATION_CLASS,
1697 AtomInformation: PVOID,
1698 AtomInformationLength: ULONG,
1699 ReturnLength: PULONG,
1700 ) -> NTSTATUS;
1701 fn ZwQueryInformationEnlistment(
1702 EnlistmentHandle: HANDLE,
1703 EnlistmentInformationClass: ENLISTMENT_INFORMATION_CLASS,
1704 EnlistmentInformation: PVOID,
1705 EnlistmentInformationLength: ULONG,
1706 ReturnLength: PULONG,
1707 ) -> NTSTATUS;
1708 fn ZwQueryInformationFile(
1709 FileHandle: HANDLE,
1710 IoStatusBlock: PIO_STATUS_BLOCK,
1711 FileInformation: PVOID,
1712 Length: ULONG,
1713 FileInformationClass: FILE_INFORMATION_CLASS,
1714 ) -> NTSTATUS;
1715 fn ZwQueryInformationJobObject(
1716 JobHandle: HANDLE,
1717 JobObjectInformationClass: JOBOBJECTINFOCLASS,
1718 JobObjectInformation: PVOID,
1719 JobObjectInformationLength: ULONG,
1720 ReturnLength: PULONG,
1721 ) -> NTSTATUS;
1722 fn ZwQueryInformationPort(
1723 PortHandle: HANDLE,
1724 PortInformationClass: PORT_INFORMATION_CLASS,
1725 PortInformation: PVOID,
1726 Length: ULONG,
1727 ReturnLength: PULONG,
1728 ) -> NTSTATUS;
1729 fn ZwQueryInformationProcess(
1730 ProcessHandle: HANDLE,
1731 ProcessInformationClass: PROCESSINFOCLASS,
1732 ProcessInformation: PVOID,
1733 ProcessInformationLength: ULONG,
1734 ReturnLength: PULONG,
1735 ) -> NTSTATUS;
1736 fn ZwQueryInformationResourceManager(
1737 ResourceManagerHandle: HANDLE,
1738 ResourceManagerInformationClass: RESOURCEMANAGER_INFORMATION_CLASS,
1739 ResourceManagerInformation: PVOID,
1740 ResourceManagerInformationLength: ULONG,
1741 ReturnLength: PULONG,
1742 ) -> NTSTATUS;
1743 fn ZwQueryInformationThread(
1744 ThreadHandle: HANDLE,
1745 ThreadInformationClass: THREADINFOCLASS,
1746 ThreadInformation: PVOID,
1747 ThreadInformationLength: ULONG,
1748 ReturnLength: PULONG,
1749 ) -> NTSTATUS;
1750 fn ZwQueryInformationToken(
1751 TokenHandle: HANDLE,
1752 TokenInformationClass: TOKEN_INFORMATION_CLASS,
1753 TokenInformation: PVOID,
1754 TokenInformationLength: ULONG,
1755 ReturnLength: PULONG,
1756 ) -> NTSTATUS;
1757 fn ZwQueryInformationTransaction(
1758 TransactionHandle: HANDLE,
1759 TransactionInformationClass: TRANSACTION_INFORMATION_CLASS,
1760 TransactionInformation: PVOID,
1761 TransactionInformationLength: ULONG,
1762 ReturnLength: PULONG,
1763 ) -> NTSTATUS;
1764 fn ZwQueryInformationTransactionManager(
1765 TransactionManagerHandle: HANDLE,
1766 TransactionManagerInformationClass: TRANSACTIONMANAGER_INFORMATION_CLASS,
1767 TransactionManagerInformation: PVOID,
1768 TransactionManagerInformationLength: ULONG,
1769 ReturnLength: PULONG,
1770 ) -> NTSTATUS;
1771 fn ZwQueryInformationWorkerFactory(
1772 WorkerFactoryHandle: HANDLE,
1773 WorkerFactoryInformationClass: WORKERFACTORYINFOCLASS,
1774 WorkerFactoryInformation: PVOID,
1775 WorkerFactoryInformationLength: ULONG,
1776 ReturnLength: PULONG,
1777 ) -> NTSTATUS;
1778 fn ZwQueryInstallUILanguage(
1779 InstallUILanguageId: *mut LANGID,
1780 ) -> NTSTATUS;
1781 fn ZwQueryIntervalProfile(
1782 ProfileSource: KPROFILE_SOURCE,
1783 Interval: PULONG,
1784 ) -> NTSTATUS;
1785 fn ZwQueryIoCompletion(
1786 IoCompletionHandle: HANDLE,
1787 IoCompletionInformationClass: IO_COMPLETION_INFORMATION_CLASS,
1788 IoCompletionInformation: PVOID,
1789 IoCompletionInformationLength: ULONG,
1790 ReturnLength: PULONG,
1791 ) -> NTSTATUS;
1792 fn ZwQueryKey(
1793 KeyHandle: HANDLE,
1794 KeyInformationClass: KEY_INFORMATION_CLASS,
1795 KeyInformation: PVOID,
1796 Length: ULONG,
1797 ResultLength: PULONG,
1798 ) -> NTSTATUS;
1799 fn ZwQueryLicenseValue(
1800 ValueName: PUNICODE_STRING,
1801 Type: PULONG,
1802 Data: PVOID,
1803 DataSize: ULONG,
1804 ResultDataSize: PULONG,
1805 ) -> NTSTATUS;
1806 fn ZwQueryMultipleValueKey(
1807 KeyHandle: HANDLE,
1808 ValueEntries: PKEY_VALUE_ENTRY,
1809 EntryCount: ULONG,
1810 ValueBuffer: PVOID,
1811 BufferLength: PULONG,
1812 RequiredBufferLength: PULONG,
1813 ) -> NTSTATUS;
1814 fn ZwQueryMutant(
1815 MutantHandle: HANDLE,
1816 MutantInformationClass: MUTANT_INFORMATION_CLASS,
1817 MutantInformation: PVOID,
1818 MutantInformationLength: ULONG,
1819 ReturnLength: PULONG,
1820 ) -> NTSTATUS;
1821 fn ZwQueryObject(
1822 Handle: HANDLE,
1823 ObjectInformationClass: OBJECT_INFORMATION_CLASS,
1824 ObjectInformation: PVOID,
1825 ObjectInformationLength: ULONG,
1826 ReturnLength: PULONG,
1827 ) -> NTSTATUS;
1828 fn ZwQueryOpenSubKeys(
1829 TargetKey: POBJECT_ATTRIBUTES,
1830 HandleCount: PULONG,
1831 ) -> NTSTATUS;
1832 fn ZwQueryOpenSubKeysEx(
1833 TargetKey: POBJECT_ATTRIBUTES,
1834 BufferLength: ULONG,
1835 Buffer: PVOID,
1836 RequiredSize: PULONG,
1837 ) -> NTSTATUS;
1838 fn ZwQueryPerformanceCounter(
1839 PerformanceCounter: PLARGE_INTEGER,
1840 PerformanceFrequency: PLARGE_INTEGER,
1841 ) -> NTSTATUS;
1842 fn ZwQueryPortInformationProcess() -> NTSTATUS;
1843 fn ZwQueryQuotaInformationFile(
1844 FileHandle: HANDLE,
1845 IoStatusBlock: PIO_STATUS_BLOCK,
1846 Buffer: PVOID,
1847 Length: ULONG,
1848 ReturnSingleEntry: BOOLEAN,
1849 SidList: PVOID,
1850 SidListLength: ULONG,
1851 StartSid: PSID,
1852 RestartScan: BOOLEAN,
1853 ) -> NTSTATUS;
1854 fn ZwQuerySection(
1855 SectionHandle: HANDLE,
1856 SectionInformationClass: SECTION_INFORMATION_CLASS,
1857 SectionInformation: PVOID,
1858 SectionInformationLength: SIZE_T,
1859 ReturnLength: PSIZE_T,
1860 ) -> NTSTATUS;
1861 fn ZwQuerySecurityAttributesToken(
1862 TokenHandle: HANDLE,
1863 Attributes: PUNICODE_STRING,
1864 NumberOfAttributes: ULONG,
1865 Buffer: PVOID,
1866 Length: ULONG,
1867 ReturnLength: PULONG,
1868 ) -> NTSTATUS;
1869 fn ZwQuerySecurityObject(
1870 Handle: HANDLE,
1871 SecurityInformation: SECURITY_INFORMATION,
1872 SecurityDescriptor: PSECURITY_DESCRIPTOR,
1873 Length: ULONG,
1874 LengthNeeded: PULONG,
1875 ) -> NTSTATUS;
1876 fn ZwQuerySemaphore(
1877 SemaphoreHandle: HANDLE,
1878 SemaphoreInformationClass: SEMAPHORE_INFORMATION_CLASS,
1879 SemaphoreInformation: PVOID,
1880 SemaphoreInformationLength: ULONG,
1881 ReturnLength: PULONG,
1882 ) -> NTSTATUS;
1883 fn ZwQuerySymbolicLinkObject(
1884 LinkHandle: HANDLE,
1885 LinkTarget: PUNICODE_STRING,
1886 ReturnedLength: PULONG,
1887 ) -> NTSTATUS;
1888 fn ZwQuerySystemEnvironmentValue(
1889 VariableName: PUNICODE_STRING,
1890 VariableValue: PWSTR,
1891 ValueLength: USHORT,
1892 ReturnLength: PUSHORT,
1893 ) -> NTSTATUS;
1894 fn ZwQuerySystemEnvironmentValueEx(
1895 VariableName: PUNICODE_STRING,
1896 VendorGuid: LPGUID,
1897 Value: PVOID,
1898 ValueLength: PULONG,
1899 Attributes: PULONG,
1900 ) -> NTSTATUS;
1901 fn ZwQuerySystemInformation(
1902 SystemInformationClass: SYSTEM_INFORMATION_CLASS,
1903 SystemInformation: PVOID,
1904 SystemInformationLength: ULONG,
1905 ReturnLength: PULONG,
1906 ) -> NTSTATUS;
1907 fn ZwQuerySystemInformationEx(
1908 SystemInformationClass: SYSTEM_INFORMATION_CLASS,
1909 InputBuffer: PVOID,
1910 InputBufferLength: ULONG,
1911 SystemInformation: PVOID,
1912 SystemInformationLength: ULONG,
1913 ReturnLength: PULONG,
1914 ) -> NTSTATUS;
1915 fn ZwQuerySystemTime(
1916 SystemTime: PLARGE_INTEGER,
1917 ) -> NTSTATUS;
1918 fn ZwQueryTimer(
1919 TimerHandle: HANDLE,
1920 TimerInformationClass: TIMER_INFORMATION_CLASS,
1921 TimerInformation: PVOID,
1922 TimerInformationLength: ULONG,
1923 ReturnLength: PULONG,
1924 ) -> NTSTATUS;
1925 fn ZwQueryTimerResolution(
1926 MaximumTime: PULONG,
1927 MinimumTime: PULONG,
1928 CurrentTime: PULONG,
1929 ) -> NTSTATUS;
1930 fn ZwQueryValueKey(
1931 KeyHandle: HANDLE,
1932 ValueName: PUNICODE_STRING,
1933 KeyValueInformationClass: KEY_VALUE_INFORMATION_CLASS,
1934 KeyValueInformation: PVOID,
1935 Length: ULONG,
1936 ResultLength: PULONG,
1937 ) -> NTSTATUS;
1938 fn ZwQueryVirtualMemory(
1939 ProcessHandle: HANDLE,
1940 BaseAddress: PVOID,
1941 MemoryInformationClass: MEMORY_INFORMATION_CLASS,
1942 MemoryInformation: PVOID,
1943 MemoryInformationLength: SIZE_T,
1944 ReturnLength: PSIZE_T,
1945 ) -> NTSTATUS;
1946 fn ZwQueryVolumeInformationFile(
1947 FileHandle: HANDLE,
1948 IoStatusBlock: PIO_STATUS_BLOCK,
1949 FsInformation: PVOID,
1950 Length: ULONG,
1951 FsInformationClass: FS_INFORMATION_CLASS,
1952 ) -> NTSTATUS;
1953 fn ZwQueryWnfStateData(
1954 StateName: PCWNF_STATE_NAME,
1955 TypeId: PCWNF_TYPE_ID,
1956 ExplicitScope: *const VOID,
1957 ChangeStamp: PWNF_CHANGE_STAMP,
1958 Buffer: PVOID,
1959 BufferSize: PULONG,
1960 ) -> NTSTATUS;
1961 fn ZwQueryWnfStateNameInformation(
1962 StateName: PCWNF_STATE_NAME,
1963 NameInfoClass: WNF_STATE_NAME_INFORMATION,
1964 ExplicitScope: *const VOID,
1965 InfoBuffer: PVOID,
1966 InfoBufferSize: ULONG,
1967 ) -> NTSTATUS;
1968 fn ZwQueueApcThread(
1969 ThreadHandle: HANDLE,
1970 ApcRoutine: PPS_APC_ROUTINE,
1971 ApcArgument1: PVOID,
1972 ApcArgument2: PVOID,
1973 ApcArgument3: PVOID,
1974 ) -> NTSTATUS;
1975 fn ZwQueueApcThreadEx(
1976 ThreadHandle: HANDLE,
1977 UserApcReserveHandle: HANDLE,
1978 ApcRoutine: PPS_APC_ROUTINE,
1979 ApcArgument1: PVOID,
1980 ApcArgument2: PVOID,
1981 ApcArgument3: PVOID,
1982 ) -> NTSTATUS;
1983 fn ZwRaiseException(
1984 ExceptionRecord: PEXCEPTION_RECORD,
1985 ContextRecord: PCONTEXT,
1986 FirstChance: BOOLEAN,
1987 ) -> NTSTATUS;
1988 fn ZwRaiseHardError(
1989 ErrorStatus: NTSTATUS,
1990 NumberOfParameters: ULONG,
1991 UnicodeStringParameterMask: ULONG,
1992 Parameters: PULONG_PTR,
1993 ValidResponseOptions: ULONG,
1994 Response: PULONG,
1995 ) -> NTSTATUS;
1996 fn ZwReadFile(
1997 FileHandle: HANDLE,
1998 Event: HANDLE,
1999 ApcRoutine: PIO_APC_ROUTINE,
2000 ApcContext: PVOID,
2001 IoStatusBlock: PIO_STATUS_BLOCK,
2002 Buffer: PVOID,
2003 Length: ULONG,
2004 ByteOffset: PLARGE_INTEGER,
2005 Key: PULONG,
2006 ) -> NTSTATUS;
2007 fn ZwReadFileScatter(
2008 FileHandle: HANDLE,
2009 Event: HANDLE,
2010 ApcRoutine: PIO_APC_ROUTINE,
2011 ApcContext: PVOID,
2012 IoStatusBlock: PIO_STATUS_BLOCK,
2013 SegmentArray: PFILE_SEGMENT_ELEMENT,
2014 Length: ULONG,
2015 ByteOffset: PLARGE_INTEGER,
2016 Key: PULONG,
2017 ) -> NTSTATUS;
2018 fn ZwReadOnlyEnlistment(
2019 EnlistmentHandle: HANDLE,
2020 TmVirtualClock: PLARGE_INTEGER,
2021 ) -> NTSTATUS;
2022 fn ZwReadRequestData(
2023 PortHandle: HANDLE,
2024 Message: PPORT_MESSAGE,
2025 DataEntryIndex: ULONG,
2026 Buffer: PVOID,
2027 BufferSize: SIZE_T,
2028 NumberOfBytesRead: PSIZE_T,
2029 ) -> NTSTATUS;
2030 fn ZwReadVirtualMemory(
2031 ProcessHandle: HANDLE,
2032 BaseAddress: PVOID,
2033 Buffer: PVOID,
2034 BufferSize: SIZE_T,
2035 NumberOfBytesRead: PSIZE_T,
2036 ) -> NTSTATUS;
2037 fn ZwRecoverEnlistment(
2038 EnlistmentHandle: HANDLE,
2039 EnlistmentKey: PVOID,
2040 ) -> NTSTATUS;
2041 fn ZwRecoverResourceManager(
2042 ResourceManagerHandle: HANDLE,
2043 ) -> NTSTATUS;
2044 fn ZwRecoverTransactionManager(
2045 TransactionManagerHandle: HANDLE,
2046 ) -> NTSTATUS;
2047 fn ZwRegisterProtocolAddressInformation(
2048 ResourceManager: HANDLE,
2049 ProtocolId: PCRM_PROTOCOL_ID,
2050 ProtocolInformationSize: ULONG,
2051 ProtocolInformation: PVOID,
2052 CreateOptions: ULONG,
2053 ) -> NTSTATUS;
2054 fn ZwRegisterThreadTerminatePort(
2055 PortHandle: HANDLE,
2056 ) -> NTSTATUS;
2057 fn ZwReleaseCMFViewOwnership() -> NTSTATUS;
2058 fn ZwReleaseKeyedEvent(
2059 KeyedEventHandle: HANDLE,
2060 KeyValue: PVOID,
2061 Alertable: BOOLEAN,
2062 Timeout: PLARGE_INTEGER,
2063 ) -> NTSTATUS;
2064 fn ZwReleaseMutant(
2065 MutantHandle: HANDLE,
2066 PreviousCount: PLONG,
2067 ) -> NTSTATUS;
2068 fn ZwReleaseSemaphore(
2069 SemaphoreHandle: HANDLE,
2070 ReleaseCount: LONG,
2071 PreviousCount: PLONG,
2072 ) -> NTSTATUS;
2073 fn ZwReleaseWorkerFactoryWorker(
2074 WorkerFactoryHandle: HANDLE,
2075 ) -> NTSTATUS;
2076 fn ZwRemoveIoCompletion(
2077 IoCompletionHandle: HANDLE,
2078 KeyContext: *mut PVOID,
2079 ApcContext: *mut PVOID,
2080 IoStatusBlock: PIO_STATUS_BLOCK,
2081 Timeout: PLARGE_INTEGER,
2082 ) -> NTSTATUS;
2083 fn ZwRemoveIoCompletionEx(
2084 IoCompletionHandle: HANDLE,
2085 IoCompletionInformation: PFILE_IO_COMPLETION_INFORMATION,
2086 Count: ULONG,
2087 NumEntriesRemoved: PULONG,
2088 Timeout: PLARGE_INTEGER,
2089 Alertable: BOOLEAN,
2090 ) -> NTSTATUS;
2091 fn ZwRemoveProcessDebug(
2092 ProcessHandle: HANDLE,
2093 DebugObjectHandle: HANDLE,
2094 ) -> NTSTATUS;
2095 fn ZwRenameKey(
2096 KeyHandle: HANDLE,
2097 NewName: PUNICODE_STRING,
2098 ) -> NTSTATUS;
2099 fn ZwRenameTransactionManager(
2100 LogFileName: PUNICODE_STRING,
2101 ExistingTransactionManagerGuid: LPGUID,
2102 ) -> NTSTATUS;
2103 fn ZwReplaceKey(
2104 NewFile: POBJECT_ATTRIBUTES,
2105 TargetHandle: HANDLE,
2106 OldFile: POBJECT_ATTRIBUTES,
2107 ) -> NTSTATUS;
2108 fn ZwReplacePartitionUnit(
2109 TargetInstancePath: PUNICODE_STRING,
2110 SpareInstancePath: PUNICODE_STRING,
2111 Flags: ULONG,
2112 ) -> NTSTATUS;
2113 fn ZwReplyPort(
2114 PortHandle: HANDLE,
2115 ReplyMessage: PPORT_MESSAGE,
2116 ) -> NTSTATUS;
2117 fn ZwReplyWaitReceivePort(
2118 PortHandle: HANDLE,
2119 PortContext: *mut PVOID,
2120 ReplyMessage: PPORT_MESSAGE,
2121 ReceiveMessage: PPORT_MESSAGE,
2122 ) -> NTSTATUS;
2123 fn ZwReplyWaitReceivePortEx(
2124 PortHandle: HANDLE,
2125 PortContext: *mut PVOID,
2126 ReplyMessage: PPORT_MESSAGE,
2127 ReceiveMessage: PPORT_MESSAGE,
2128 Timeout: PLARGE_INTEGER,
2129 ) -> NTSTATUS;
2130 fn ZwReplyWaitReplyPort(
2131 PortHandle: HANDLE,
2132 ReplyMessage: PPORT_MESSAGE,
2133 ) -> NTSTATUS;
2134 fn ZwRequestPort(
2135 PortHandle: HANDLE,
2136 RequestMessage: PPORT_MESSAGE,
2137 ) -> NTSTATUS;
2138 fn ZwRequestWaitReplyPort(
2139 PortHandle: HANDLE,
2140 RequestMessage: PPORT_MESSAGE,
2141 ReplyMessage: PPORT_MESSAGE,
2142 ) -> NTSTATUS;
2143 fn ZwRequestWakeupLatency(
2144 latency: LATENCY_TIME,
2145 ) -> NTSTATUS;
2146 fn ZwResetEvent(
2147 EventHandle: HANDLE,
2148 PreviousState: PLONG,
2149 ) -> NTSTATUS;
2150 fn ZwResetWriteWatch(
2151 ProcessHandle: HANDLE,
2152 BaseAddress: PVOID,
2153 RegionSize: SIZE_T,
2154 ) -> NTSTATUS;
2155 fn ZwRestoreKey(
2156 KeyHandle: HANDLE,
2157 FileHandle: HANDLE,
2158 Flags: ULONG,
2159 ) -> NTSTATUS;
2160 fn ZwResumeProcess(
2161 ProcessHandle: HANDLE,
2162 ) -> NTSTATUS;
2163 fn ZwResumeThread(
2164 ThreadHandle: HANDLE,
2165 PreviousSuspendCount: PULONG,
2166 ) -> NTSTATUS;
2167 fn ZwRevertContainerImpersonation() -> NTSTATUS;
2168 fn ZwRollbackComplete(
2169 EnlistmentHandle: HANDLE,
2170 TmVirtualClock: PLARGE_INTEGER,
2171 ) -> NTSTATUS;
2172 fn ZwRollbackEnlistment(
2173 EnlistmentHandle: HANDLE,
2174 TmVirtualClock: PLARGE_INTEGER,
2175 ) -> NTSTATUS;
2176 fn ZwRollbackTransaction(
2177 TransactionHandle: HANDLE,
2178 Wait: BOOLEAN,
2179 ) -> NTSTATUS;
2180 fn ZwRollforwardTransactionManager(
2181 TransactionManagerHandle: HANDLE,
2182 TmVirtualClock: PLARGE_INTEGER,
2183 ) -> NTSTATUS;
2184 fn ZwSaveKey(
2185 KeyHandle: HANDLE,
2186 FileHandle: HANDLE,
2187 ) -> NTSTATUS;
2188 fn ZwSaveKeyEx(
2189 KeyHandle: HANDLE,
2190 FileHandle: HANDLE,
2191 Format: ULONG,
2192 ) -> NTSTATUS;
2193 fn ZwSaveMergedKeys(
2194 HighPrecedenceKeyHandle: HANDLE,
2195 LowPrecedenceKeyHandle: HANDLE,
2196 FileHandle: HANDLE,
2197 ) -> NTSTATUS;
2198 fn ZwSecureConnectPort(
2199 PortHandle: PHANDLE,
2200 PortName: PUNICODE_STRING,
2201 SecurityQos: PSECURITY_QUALITY_OF_SERVICE,
2202 ClientView: PPORT_VIEW,
2203 RequiredServerSid: PSID,
2204 ServerView: PREMOTE_PORT_VIEW,
2205 MaxMessageLength: PULONG,
2206 ConnectionInformation: PVOID,
2207 ConnectionInformationLength: PULONG,
2208 ) -> NTSTATUS;
2209 fn ZwSerializeBoot() -> NTSTATUS;
2210 fn ZwSetBootEntryOrder(
2211 Ids: PULONG,
2212 Count: ULONG,
2213 ) -> NTSTATUS;
2214 fn ZwSetBootOptions(
2215 BootOptions: PBOOT_OPTIONS,
2216 FieldsToChange: ULONG,
2217 ) -> NTSTATUS;
2218 fn ZwSetCachedSigningLevel(
2219 Flags: ULONG,
2220 InputSigningLevel: SE_SIGNING_LEVEL,
2221 SourceFiles: PHANDLE,
2222 SourceFileCount: ULONG,
2223 TargetFile: HANDLE,
2224 ) -> NTSTATUS;
2225 fn ZwSetContextThread(
2226 ThreadHandle: HANDLE,
2227 ThreadContext: PCONTEXT,
2228 ) -> NTSTATUS;
2229 fn ZwSetDebugFilterState(
2230 ComponentId: ULONG,
2231 Level: ULONG,
2232 State: BOOLEAN,
2233 ) -> NTSTATUS;
2234 fn ZwSetDefaultHardErrorPort(
2235 DefaultHardErrorPort: HANDLE,
2236 ) -> NTSTATUS;
2237 fn ZwSetDefaultLocale(
2238 UserProfile: BOOLEAN,
2239 DefaultLocaleId: LCID,
2240 ) -> NTSTATUS;
2241 fn ZwSetDefaultUILanguage(
2242 DefaultUILanguageId: LANGID,
2243 ) -> NTSTATUS;
2244 fn ZwSetDriverEntryOrder(
2245 Ids: PULONG,
2246 Count: ULONG,
2247 ) -> NTSTATUS;
2248 fn ZwSetEaFile(
2249 FileHandle: HANDLE,
2250 IoStatusBlock: PIO_STATUS_BLOCK,
2251 Buffer: PVOID,
2252 Length: ULONG,
2253 ) -> NTSTATUS;
2254 fn ZwSetEvent(
2255 EventHandle: HANDLE,
2256 PreviousState: PLONG,
2257 ) -> NTSTATUS;
2258 fn ZwSetEventBoostPriority(
2259 EventHandle: HANDLE,
2260 ) -> NTSTATUS;
2261 fn ZwSetHighEventPair(
2262 EventPairHandle: HANDLE,
2263 ) -> NTSTATUS;
2264 fn ZwSetHighWaitLowEventPair(
2265 EventPairHandle: HANDLE,
2266 ) -> NTSTATUS;
2267 fn ZwSetIRTimer(
2268 TimerHandle: HANDLE,
2269 DueTime: PLARGE_INTEGER,
2270 ) -> NTSTATUS;
2271 fn ZwSetInformationDebugObject(
2272 DebugObjectHandle: HANDLE,
2273 DebugObjectInformationClass: DEBUGOBJECTINFOCLASS,
2274 DebugInformation: PVOID,
2275 DebugInformationLength: ULONG,
2276 ReturnLength: PULONG,
2277 ) -> NTSTATUS;
2278 fn ZwSetInformationEnlistment(
2279 EnlistmentHandle: HANDLE,
2280 EnlistmentInformationClass: ENLISTMENT_INFORMATION_CLASS,
2281 EnlistmentInformation: PVOID,
2282 EnlistmentInformationLength: ULONG,
2283 ) -> NTSTATUS;
2284 fn ZwSetInformationFile(
2285 FileHandle: HANDLE,
2286 IoStatusBlock: PIO_STATUS_BLOCK,
2287 FileInformation: PVOID,
2288 Length: ULONG,
2289 FileInformationClass: FILE_INFORMATION_CLASS,
2290 ) -> NTSTATUS;
2291 fn ZwSetInformationJobObject(
2292 JobHandle: HANDLE,
2293 JobObjectInformationClass: JOBOBJECTINFOCLASS,
2294 JobObjectInformation: PVOID,
2295 JobObjectInformationLength: ULONG,
2296 ) -> NTSTATUS;
2297 fn ZwSetInformationKey(
2298 KeyHandle: HANDLE,
2299 KeySetInformationClass: KEY_SET_INFORMATION_CLASS,
2300 KeySetInformation: PVOID,
2301 KeySetInformationLength: ULONG,
2302 ) -> NTSTATUS;
2303 fn ZwSetInformationObject(
2304 Handle: HANDLE,
2305 ObjectInformationClass: OBJECT_INFORMATION_CLASS,
2306 ObjectInformation: PVOID,
2307 ObjectInformationLength: ULONG,
2308 ) -> NTSTATUS;
2309 fn ZwSetInformationProcess(
2310 ProcessHandle: HANDLE,
2311 ProcessInformationClass: PROCESSINFOCLASS,
2312 ProcessInformation: PVOID,
2313 ProcessInformationLength: ULONG,
2314 ) -> NTSTATUS;
2315 fn ZwSetInformationResourceManager(
2316 ResourceManagerHandle: HANDLE,
2317 ResourceManagerInformationClass: RESOURCEMANAGER_INFORMATION_CLASS,
2318 ResourceManagerInformation: PVOID,
2319 ResourceManagerInformationLength: ULONG,
2320 ) -> NTSTATUS;
2321 fn ZwSetInformationThread(
2322 ThreadHandle: HANDLE,
2323 ThreadInformationClass: THREADINFOCLASS,
2324 ThreadInformation: PVOID,
2325 ThreadInformationLength: ULONG,
2326 ) -> NTSTATUS;
2327 fn ZwSetInformationToken(
2328 TokenHandle: HANDLE,
2329 TokenInformationClass: TOKEN_INFORMATION_CLASS,
2330 TokenInformation: PVOID,
2331 TokenInformationLength: ULONG,
2332 ) -> NTSTATUS;
2333 fn ZwSetInformationTransaction(
2334 TransactionHandle: HANDLE,
2335 TransactionInformationClass: TRANSACTION_INFORMATION_CLASS,
2336 TransactionInformation: PVOID,
2337 TransactionInformationLength: ULONG,
2338 ) -> NTSTATUS;
2339 fn ZwSetInformationTransactionManager(
2340 TmHandle: HANDLE,
2341 TransactionManagerInformationClass: TRANSACTIONMANAGER_INFORMATION_CLASS,
2342 TransactionManagerInformation: PVOID,
2343 TransactionManagerInformationLength: ULONG,
2344 ) -> NTSTATUS;
2345 fn ZwSetInformationVirtualMemory(
2346 ProcessHandle: HANDLE,
2347 VmInformationClass: VIRTUAL_MEMORY_INFORMATION_CLASS,
2348 NumberOfEntries: ULONG_PTR,
2349 VirtualAddresses: PMEMORY_RANGE_ENTRY,
2350 VmInformation: PVOID,
2351 VmInformationLength: ULONG,
2352 ) -> NTSTATUS;
2353 fn ZwSetInformationWorkerFactory(
2354 WorkerFactoryHandle: HANDLE,
2355 WorkerFactoryInformationClass: WORKERFACTORYINFOCLASS,
2356 WorkerFactoryInformation: PVOID,
2357 WorkerFactoryInformationLength: ULONG,
2358 ) -> NTSTATUS;
2359 fn ZwSetIntervalProfile(
2360 Interval: ULONG,
2361 Source: KPROFILE_SOURCE,
2362 ) -> NTSTATUS;
2363 fn ZwSetIoCompletion(
2364 IoCompletionHandle: HANDLE,
2365 KeyContext: PVOID,
2366 ApcContext: PVOID,
2367 IoStatus: NTSTATUS,
2368 IoStatusInformation: ULONG_PTR,
2369 ) -> NTSTATUS;
2370 fn ZwSetIoCompletionEx(
2371 IoCompletionHandle: HANDLE,
2372 IoCompletionPacketHandle: HANDLE,
2373 KeyContext: PVOID,
2374 ApcContext: PVOID,
2375 IoStatus: NTSTATUS,
2376 IoStatusInformation: ULONG_PTR,
2377 ) -> NTSTATUS;
2378 fn ZwSetLdtEntries(
2379 Selector0: ULONG,
2380 Entry0Low: ULONG,
2381 Entry0Hi: ULONG,
2382 Selector1: ULONG,
2383 Entry1Low: ULONG,
2384 Entry1Hi: ULONG,
2385 ) -> NTSTATUS;
2386 fn ZwSetLowEventPair(
2387 EventPairHandle: HANDLE,
2388 ) -> NTSTATUS;
2389 fn ZwSetLowWaitHighEventPair(
2390 EventPairHandle: HANDLE,
2391 ) -> NTSTATUS;
2392 fn ZwSetQuotaInformationFile(
2393 FileHandle: HANDLE,
2394 IoStatusBlock: PIO_STATUS_BLOCK,
2395 Buffer: PVOID,
2396 Length: ULONG,
2397 ) -> NTSTATUS;
2398 fn ZwSetSecurityObject(
2399 Handle: HANDLE,
2400 SecurityInformation: SECURITY_INFORMATION,
2401 SecurityDescriptor: PSECURITY_DESCRIPTOR,
2402 ) -> NTSTATUS;
2403 fn ZwSetSystemEnvironmentValue(
2404 VariableName: PUNICODE_STRING,
2405 VariableValue: PUNICODE_STRING,
2406 ) -> NTSTATUS;
2407 fn ZwSetSystemEnvironmentValueEx(
2408 VariableName: PUNICODE_STRING,
2409 VendorGuid: LPGUID,
2410 Value: PVOID,
2411 ValueLength: ULONG,
2412 Attributes: ULONG,
2413 ) -> NTSTATUS;
2414 fn ZwSetSystemInformation(
2415 SystemInformationClass: SYSTEM_INFORMATION_CLASS,
2416 SystemInformation: PVOID,
2417 SystemInformationLength: ULONG,
2418 ) -> NTSTATUS;
2419 fn ZwSetSystemPowerState(
2420 SystemAction: POWER_ACTION,
2421 LightestSystemState: SYSTEM_POWER_STATE,
2422 Flags: ULONG,
2423 ) -> NTSTATUS;
2424 fn ZwSetSystemTime(
2425 SystemTime: PLARGE_INTEGER,
2426 PreviousTime: PLARGE_INTEGER,
2427 ) -> NTSTATUS;
2428 fn ZwSetThreadExecutionState(
2429 NewFlags: EXECUTION_STATE,
2430 PreviousFlags: *mut EXECUTION_STATE,
2431 ) -> NTSTATUS;
2432 fn ZwSetTimer(
2433 TimerHandle: HANDLE,
2434 DueTime: PLARGE_INTEGER,
2435 TimerApcRoutine: PTIMER_APC_ROUTINE,
2436 TimerContext: PVOID,
2437 ResumeTimer: BOOLEAN,
2438 Period: LONG,
2439 PreviousState: PBOOLEAN,
2440 ) -> NTSTATUS;
2441 fn ZwSetTimer2(
2442 TimerHandle: HANDLE,
2443 DueTime: PLARGE_INTEGER,
2444 Period: PLARGE_INTEGER,
2445 Parameters: PT2_SET_PARAMETERS,
2446 ) -> NTSTATUS;
2447 fn ZwSetTimerEx(
2448 TimerHandle: HANDLE,
2449 TimerSetInformationClass: TIMER_SET_INFORMATION_CLASS,
2450 TimerSetInformation: PVOID,
2451 TimerSetInformationLength: ULONG,
2452 ) -> NTSTATUS;
2453 fn ZwSetTimerResolution(
2454 DesiredTime: ULONG,
2455 SetResolution: BOOLEAN,
2456 ActualTime: PULONG,
2457 ) -> NTSTATUS;
2458 fn ZwSetUuidSeed(
2459 Seed: PCHAR,
2460 ) -> NTSTATUS;
2461 fn ZwSetValueKey(
2462 KeyHandle: HANDLE,
2463 ValueName: PUNICODE_STRING,
2464 TitleIndex: ULONG,
2465 Type: ULONG,
2466 Data: PVOID,
2467 DataSize: ULONG,
2468 ) -> NTSTATUS;
2469 fn ZwSetVolumeInformationFile(
2470 FileHandle: HANDLE,
2471 IoStatusBlock: PIO_STATUS_BLOCK,
2472 FsInformation: PVOID,
2473 Length: ULONG,
2474 FsInformationClass: FS_INFORMATION_CLASS,
2475 ) -> NTSTATUS;
2476 fn ZwSetWnfProcessNotificationEvent(
2477 NotificationEvent: HANDLE,
2478 ) -> NTSTATUS;
2479 fn ZwShutdownSystem(
2480 Action: SHUTDOWN_ACTION,
2481 ) -> NTSTATUS;
2482 fn ZwShutdownWorkerFactory(
2483 WorkerFactoryHandle: HANDLE,
2484 PendingWorkerCount: *mut LONG,
2485 ) -> NTSTATUS;
2486 fn ZwSignalAndWaitForSingleObject(
2487 SignalHandle: HANDLE,
2488 WaitHandle: HANDLE,
2489 Alertable: BOOLEAN,
2490 Timeout: PLARGE_INTEGER,
2491 ) -> NTSTATUS;
2492 fn ZwSinglePhaseReject(
2493 EnlistmentHandle: HANDLE,
2494 TmVirtualClock: PLARGE_INTEGER,
2495 ) -> NTSTATUS;
2496 fn ZwStartProfile(
2497 ProfileHandle: HANDLE,
2498 ) -> NTSTATUS;
2499 fn ZwStopProfile(
2500 ProfileHandle: HANDLE,
2501 ) -> NTSTATUS;
2502 fn ZwSubscribeWnfStateChange(
2503 StateName: PCWNF_STATE_NAME,
2504 ChangeStamp: WNF_CHANGE_STAMP,
2505 EventMask: ULONG,
2506 SubscriptionId: PULONG64,
2507 ) -> NTSTATUS;
2508 fn ZwSuspendProcess(
2509 ProcessHandle: HANDLE,
2510 ) -> NTSTATUS;
2511 fn ZwSuspendThread(
2512 ThreadHandle: HANDLE,
2513 PreviousSuspendCount: PULONG,
2514 ) -> NTSTATUS;
2515 fn ZwSystemDebugControl(
2516 Command: SYSDBG_COMMAND,
2517 InputBuffer: PVOID,
2518 InputBufferLength: ULONG,
2519 OutputBuffer: PVOID,
2520 OutputBufferLength: ULONG,
2521 ReturnLength: PULONG,
2522 ) -> NTSTATUS;
2523 fn ZwTerminateJobObject(
2524 JobHandle: HANDLE,
2525 ExitStatus: NTSTATUS,
2526 ) -> NTSTATUS;
2527 fn ZwTerminateProcess(
2528 ProcessHandle: HANDLE,
2529 ExitStatus: NTSTATUS,
2530 ) -> NTSTATUS;
2531 fn ZwTerminateThread(
2532 ThreadHandle: HANDLE,
2533 ExitStatus: NTSTATUS,
2534 ) -> NTSTATUS;
2535 fn ZwTestAlert() -> NTSTATUS;
2536 fn ZwThawRegistry() -> NTSTATUS;
2537 fn ZwThawTransactions() -> NTSTATUS;
2538 fn ZwTraceControl(
2539 FunctionCode: ULONG,
2540 InBuffer: PVOID,
2541 InBufferLen: ULONG,
2542 OutBuffer: PVOID,
2543 OutBufferLen: ULONG,
2544 ReturnLength: PULONG,
2545 ) -> NTSTATUS;
2546 fn ZwTraceEvent(
2547 TraceHandle: HANDLE,
2548 Flags: ULONG,
2549 FieldSize: ULONG,
2550 Fields: PVOID,
2551 ) -> NTSTATUS;
2552 fn ZwTranslateFilePath(
2553 InputFilePath: PFILE_PATH,
2554 OutputType: ULONG,
2555 OutputFilePath: PFILE_PATH,
2556 OutputFilePathLength: PULONG,
2557 ) -> NTSTATUS;
2558 fn ZwUmsThreadYield(
2559 SchedulerParam: PVOID,
2560 ) -> NTSTATUS;
2561 fn ZwUnloadDriver(
2562 DriverServiceName: PUNICODE_STRING,
2563 ) -> NTSTATUS;
2564 fn ZwUnloadKey(
2565 TargetKey: POBJECT_ATTRIBUTES,
2566 ) -> NTSTATUS;
2567 fn ZwUnloadKey2(
2568 TargetKey: POBJECT_ATTRIBUTES,
2569 Flags: ULONG,
2570 ) -> NTSTATUS;
2571 fn ZwUnloadKeyEx(
2572 TargetKey: POBJECT_ATTRIBUTES,
2573 Event: HANDLE,
2574 ) -> NTSTATUS;
2575 fn ZwUnlockFile(
2576 FileHandle: HANDLE,
2577 IoStatusBlock: PIO_STATUS_BLOCK,
2578 ByteOffset: PLARGE_INTEGER,
2579 Length: PLARGE_INTEGER,
2580 Key: ULONG,
2581 ) -> NTSTATUS;
2582 fn ZwUnlockVirtualMemory(
2583 ProcessHandle: HANDLE,
2584 BaseAddress: *mut PVOID,
2585 RegionSize: PSIZE_T,
2586 MapType: ULONG,
2587 ) -> NTSTATUS;
2588 fn ZwUnmapViewOfSection(
2589 ProcessHandle: HANDLE,
2590 BaseAddress: PVOID,
2591 ) -> NTSTATUS;
2592 fn ZwUnmapViewOfSectionEx(
2593 ProcessHandle: HANDLE,
2594 BaseAddress: PVOID,
2595 Flags: ULONG,
2596 ) -> NTSTATUS;
2597 fn ZwUnsubscribeWnfStateChange(
2598 StateName: PCWNF_STATE_NAME,
2599 ) -> NTSTATUS;
2600 fn ZwUpdateWnfStateData(
2601 StateName: PCWNF_STATE_NAME,
2602 Buffer: *const VOID,
2603 Length: ULONG,
2604 TypeId: PCWNF_TYPE_ID,
2605 ExplicitScope: *const VOID,
2606 MatchingChangeStamp: WNF_CHANGE_STAMP,
2607 CheckStamp: LOGICAL,
2608 ) -> NTSTATUS;
2609 fn ZwVdmControl(
2610 Service: VDMSERVICECLASS,
2611 ServiceData: PVOID,
2612 ) -> NTSTATUS;
2613 fn ZwWaitForAlertByThreadId(
2614 Address: PVOID,
2615 Timeout: PLARGE_INTEGER,
2616 ) -> NTSTATUS;
2617 fn ZwWaitForDebugEvent(
2618 DebugObjectHandle: HANDLE,
2619 Alertable: BOOLEAN,
2620 Timeout: PLARGE_INTEGER,
2621 WaitStateChange: PVOID,
2622 ) -> NTSTATUS;
2623 fn ZwWaitForKeyedEvent(
2624 KeyedEventHandle: HANDLE,
2625 KeyValue: PVOID,
2626 Alertable: BOOLEAN,
2627 Timeout: PLARGE_INTEGER,
2628 ) -> NTSTATUS;
2629 fn ZwWaitForMultipleObjects(
2630 Count: ULONG,
2631 Handles: *mut HANDLE,
2632 WaitType: WAIT_TYPE,
2633 Alertable: BOOLEAN,
2634 Timeout: PLARGE_INTEGER,
2635 ) -> NTSTATUS;
2636 fn ZwWaitForMultipleObjects32(
2637 Count: ULONG,
2638 Handles: *mut LONG,
2639 WaitType: WAIT_TYPE,
2640 Alertable: BOOLEAN,
2641 Timeout: PLARGE_INTEGER,
2642 ) -> NTSTATUS;
2643 fn ZwWaitForSingleObject(
2644 Handle: HANDLE,
2645 Alertable: BOOLEAN,
2646 Timeout: PLARGE_INTEGER,
2647 ) -> NTSTATUS;
2648 fn ZwWaitForWorkViaWorkerFactory(
2649 WorkerFactoryHandle: HANDLE,
2650 MiniPacket: *mut FILE_IO_COMPLETION_INFORMATION,
2651 ) -> NTSTATUS;
2652 fn ZwWaitHighEventPair(
2653 EventPairHandle: HANDLE,
2654 ) -> NTSTATUS;
2655 fn ZwWaitLowEventPair(
2656 EventPairHandle: HANDLE,
2657 ) -> NTSTATUS;
2658 fn ZwWorkerFactoryWorkerReady(
2659 WorkerFactoryHandle: HANDLE,
2660 ) -> NTSTATUS;
2661 fn ZwWriteFile(
2662 FileHandle: HANDLE,
2663 Event: HANDLE,
2664 ApcRoutine: PIO_APC_ROUTINE,
2665 ApcContext: PVOID,
2666 IoStatusBlock: PIO_STATUS_BLOCK,
2667 Buffer: PVOID,
2668 Length: ULONG,
2669 ByteOffset: PLARGE_INTEGER,
2670 Key: PULONG,
2671 ) -> NTSTATUS;
2672 fn ZwWriteFileGather(
2673 FileHandle: HANDLE,
2674 Event: HANDLE,
2675 ApcRoutine: PIO_APC_ROUTINE,
2676 ApcContext: PVOID,
2677 IoStatusBlock: PIO_STATUS_BLOCK,
2678 SegmentArray: PFILE_SEGMENT_ELEMENT,
2679 Length: ULONG,
2680 ByteOffset: PLARGE_INTEGER,
2681 Key: PULONG,
2682 ) -> NTSTATUS;
2683 fn ZwWriteRequestData(
2684 PortHandle: HANDLE,
2685 Message: PPORT_MESSAGE,
2686 DataEntryIndex: ULONG,
2687 Buffer: PVOID,
2688 BufferSize: SIZE_T,
2689 NumberOfBytesWritten: PSIZE_T,
2690 ) -> NTSTATUS;
2691 fn ZwWriteVirtualMemory(
2692 ProcessHandle: HANDLE,
2693 BaseAddress: PVOID,
2694 Buffer: PVOID,
2695 BufferSize: SIZE_T,
2696 NumberOfBytesWritten: PSIZE_T,
2697 ) -> NTSTATUS;
2698 fn ZwYieldExecution() -> NTSTATUS;
2699 }}