From 1866410bb88b2d2733185e2a9aaaf48bd5134dd1 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sun, 7 Jun 2009 11:40:09 +0000 Subject: [PATCH] * include/ddk/ntapi.h: Add NtXxx equivalent to ZwXxx where missing and vice versa. * include/ddk/ntifs.h: Ditto. * include/ddk/winddk.h: Ditto. * lib/ntdll.def (NtPlugPlayControl, NtQueryInstallUILanguage, ZwPlugPlayControl, ZwQueryInstallUILanguage): Add entry points defined in header, but missing in lib. Omit NT4-only entry points. --- winsup/w32api/ChangeLog | 10 + winsup/w32api/include/ddk/ntapi.h | 1191 +++++++++++++++++++++++++++- winsup/w32api/include/ddk/ntifs.h | 624 +++++++++++++++ winsup/w32api/include/ddk/winddk.h | 212 +++++ winsup/w32api/lib/ntdll.def | 4 + 5 files changed, 2029 insertions(+), 12 deletions(-) diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog index d12955134..a04b62a1c 100644 --- a/winsup/w32api/ChangeLog +++ b/winsup/w32api/ChangeLog @@ -1,3 +1,13 @@ +2009-06-07 Corinna Vinschen + + * include/ddk/ntapi.h: Add NtXxx equivalent to ZwXxx where missing + and vice versa. + * include/ddk/ntifs.h: Ditto. + * include/ddk/winddk.h: Ditto. + * lib/ntdll.def (NtPlugPlayControl, NtQueryInstallUILanguage, + ZwPlugPlayControl, ZwQueryInstallUILanguage): Add entry points defined + in header, but missing in lib. Omit NT4-only entry points. + 2009-05-01 Chris Sutcliffe * include/shellapi.h (SHIL_LARGE, SHIL_SMALL, SHIL_EXTRALARGE, diff --git a/winsup/w32api/include/ddk/ntapi.h b/winsup/w32api/include/ddk/ntapi.h index 86237722d..cab4d52fd 100644 --- a/winsup/w32api/include/ddk/ntapi.h +++ b/winsup/w32api/include/ddk/ntapi.h @@ -684,6 +684,14 @@ ZwQueryFullAttributesFile( /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, /*OUT*/ PFILE_NETWORK_OPEN_INFORMATION FileInformation); +NTOSAPI +NTSTATUS +NTAPI +NtSetSystemInformation( + /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass, + /*IN OUT*/ PVOID SystemInformation, + /*IN*/ ULONG SystemInformationLength); + NTOSAPI NTSTATUS NTAPI @@ -692,6 +700,15 @@ ZwSetSystemInformation( /*IN OUT*/ PVOID SystemInformation, /*IN*/ ULONG SystemInformationLength); +NTOSAPI +NTSTATUS +NTAPI +NtQuerySystemEnvironmentValue( + /*IN*/ PUNICODE_STRING Name, + /*OUT*/ PVOID Value, + /*IN*/ ULONG ValueLength, + /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -701,6 +718,13 @@ ZwQuerySystemEnvironmentValue( /*IN*/ ULONG ValueLength, /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +NtSetSystemEnvironmentValue( + /*IN*/ PUNICODE_STRING Name, + /*IN*/ PUNICODE_STRING Value); + NTOSAPI NTSTATUS NTAPI @@ -720,6 +744,12 @@ NTAPI NtShutdownSystem( /*IN*/ SHUTDOWN_ACTION Action); +NTOSAPI +NTSTATUS +NTAPI +ZwShutdownSystem( + /*IN*/ SHUTDOWN_ACTION Action); + typedef enum _DEBUG_CONTROL_CODE { DebugGetTraceInformation = 1, DebugSetInternalBreakpoint, @@ -731,6 +761,17 @@ typedef enum _DEBUG_CONTROL_CODE { } DEBUG_CONTROL_CODE; +NTOSAPI +NTSTATUS +NTAPI +NtSystemDebugControl( + /*IN*/ DEBUG_CONTROL_CODE ControlCode, + /*IN*/ PVOID InputBuffer /*OPTIONAL*/, + /*IN*/ ULONG InputBufferLength, + /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/, + /*IN*/ ULONG OutputBufferLength, + /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -754,6 +795,16 @@ typedef enum _OBJECT_INFORMATION_CLASS { ObjectHandleInformation } OBJECT_INFORMATION_CLASS; +NTOSAPI +NTSTATUS +NTAPI +NtQueryObject( + /*IN*/ HANDLE ObjectHandle, + /*IN*/ OBJECT_INFORMATION_CLASS ObjectInformationClass, + /*OUT*/ PVOID ObjectInformation, + /*IN*/ ULONG ObjectInformationLength, + /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -764,6 +815,15 @@ ZwQueryObject( /*IN*/ ULONG ObjectInformationLength, /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +NtSetInformationObject( + /*IN*/ HANDLE ObjectHandle, + /*IN*/ OBJECT_INFORMATION_CLASS ObjectInformationClass, + /*IN*/ PVOID ObjectInformation, + /*IN*/ ULONG ObjectInformationLength); + NTOSAPI NTSTATUS NTAPI @@ -884,6 +944,14 @@ ZwSetSecurityObject( /*IN*/ SECURITY_INFORMATION SecurityInformation, /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor); +NTOSAPI +NTSTATUS +NTAPI +NtOpenDirectoryObject( + /*OUT*/ PHANDLE DirectoryHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); + NTOSAPI NTSTATUS NTAPI @@ -892,6 +960,18 @@ ZwOpenDirectoryObject( /*IN*/ ACCESS_MASK DesiredAccess, /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); +NTOSAPI +NTSTATUS +NTAPI +NtQueryDirectoryObject( + /*IN*/ HANDLE DirectoryHandle, + /*OUT*/ PVOID Buffer, + /*IN*/ ULONG BufferLength, + /*IN*/ BOOLEAN ReturnSingleEntry, + /*IN*/ BOOLEAN RestartScan, + /*IN OUT*/ PULONG Context, + /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -909,6 +989,15 @@ typedef struct _DIRECTORY_BASIC_INFORMATION { UNICODE_STRING ObjectTypeName; } DIRECTORY_BASIC_INFORMATION, *PDIRECTORY_BASIC_INFORMATION; +NTOSAPI +NTSTATUS +NTAPI +NtCreateSymbolicLinkObject( + /*OUT*/ PHANDLE SymbolicLinkHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, + /*IN*/ PUNICODE_STRING TargetName); + NTOSAPI NTSTATUS NTAPI @@ -970,6 +1059,17 @@ ZwFreeVirtualMemory( /*IN OUT*/ PULONG FreeSize, /*IN*/ ULONG FreeType); +NTOSAPI +NTSTATUS +NTAPI +NtQueryVirtualMemory( + /*IN*/ HANDLE ProcessHandle, + /*IN*/ PVOID BaseAddress, + /*IN*/ MEMORY_INFORMATION_CLASS MemoryInformationClass, + /*OUT*/ PVOID MemoryInformation, + /*IN*/ ULONG MemoryInformationLength, + /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -1005,6 +1105,15 @@ typedef struct _MEMORY_SECTION_NAME { #define LOCK_VM_IN_WSL 0x01 #define LOCK_VM_IN_RAM 0x02 +NTOSAPI +NTSTATUS +NTAPI +NtLockVirtualMemory( + /*IN*/ HANDLE ProcessHandle, + /*IN OUT*/ PVOID *BaseAddress, + /*IN OUT*/ PULONG LockSize, + /*IN*/ ULONG LockType); + NTOSAPI NTSTATUS NTAPI @@ -1014,6 +1123,15 @@ ZwLockVirtualMemory( /*IN OUT*/ PULONG LockSize, /*IN*/ ULONG LockType); +NTOSAPI +NTSTATUS +NTAPI +NtUnlockVirtualMemory( + /*IN*/ HANDLE ProcessHandle, + /*IN OUT*/ PVOID *BaseAddress, + /*IN OUT*/ PULONG LockSize, + /*IN*/ ULONG LockType); + NTOSAPI NTSTATUS NTAPI @@ -1023,6 +1141,16 @@ ZwUnlockVirtualMemory( /*IN OUT*/ PULONG LockSize, /*IN*/ ULONG LockType); +NTOSAPI +NTSTATUS +NTAPI +NtReadVirtualMemory( + /*IN*/ HANDLE ProcessHandle, + /*IN*/ PVOID BaseAddress, + /*OUT*/ PVOID Buffer, + /*IN*/ ULONG BufferLength, + /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -1033,6 +1161,16 @@ ZwReadVirtualMemory( /*IN*/ ULONG BufferLength, /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +NtWriteVirtualMemory( + /*IN*/ HANDLE ProcessHandle, + /*IN*/ PVOID BaseAddress, + /*IN*/ PVOID Buffer, + /*IN*/ ULONG BufferLength, + /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -1043,6 +1181,16 @@ ZwWriteVirtualMemory( /*IN*/ ULONG BufferLength, /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +NtProtectVirtualMemory( + /*IN*/ HANDLE ProcessHandle, + /*IN OUT*/ PVOID *BaseAddress, + /*IN OUT*/ PULONG ProtectSize, + /*IN*/ ULONG NewProtect, + /*OUT*/ PULONG OldProtect); + NTOSAPI NTSTATUS NTAPI @@ -1053,6 +1201,15 @@ ZwProtectVirtualMemory( /*IN*/ ULONG NewProtect, /*OUT*/ PULONG OldProtect); +NTOSAPI +NTSTATUS +NTAPI +NtFlushVirtualMemory( + /*IN*/ HANDLE ProcessHandle, + /*IN OUT*/ PVOID *BaseAddress, + /*IN OUT*/ PULONG FlushSize, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock); + NTOSAPI NTSTATUS NTAPI @@ -1062,6 +1219,14 @@ ZwFlushVirtualMemory( /*IN OUT*/ PULONG FlushSize, /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock); +NTOSAPI +NTSTATUS +NTAPI +NtAllocateUserPhysicalPages( + /*IN*/ HANDLE ProcessHandle, + /*IN*/ PULONG NumberOfPages, + /*OUT*/ PULONG PageFrameNumbers); + NTOSAPI NTSTATUS NTAPI @@ -1070,6 +1235,14 @@ ZwAllocateUserPhysicalPages( /*IN*/ PULONG NumberOfPages, /*OUT*/ PULONG PageFrameNumbers); +NTOSAPI +NTSTATUS +NTAPI +NtFreeUserPhysicalPages( + /*IN*/ HANDLE ProcessHandle, + /*IN OUT*/ PULONG NumberOfPages, + /*IN*/ PULONG PageFrameNumbers); + NTOSAPI NTSTATUS NTAPI @@ -1078,6 +1251,14 @@ ZwFreeUserPhysicalPages( /*IN OUT*/ PULONG NumberOfPages, /*IN*/ PULONG PageFrameNumbers); +NTOSAPI +NTSTATUS +NTAPI +NtMapUserPhysicalPages( + /*IN*/ PVOID BaseAddress, + /*IN*/ PULONG NumberOfPages, + /*IN*/ PULONG PageFrameNumbers); + NTOSAPI NTSTATUS NTAPI @@ -1086,6 +1267,14 @@ ZwMapUserPhysicalPages( /*IN*/ PULONG NumberOfPages, /*IN*/ PULONG PageFrameNumbers); +NTOSAPI +NTSTATUS +NTAPI +NtMapUserPhysicalPagesScatter( + /*IN*/ PVOID *BaseAddresses, + /*IN*/ PULONG NumberOfPages, + /*IN*/ PULONG PageFrameNumbers); + NTOSAPI NTSTATUS NTAPI @@ -1094,6 +1283,18 @@ ZwMapUserPhysicalPagesScatter( /*IN*/ PULONG NumberOfPages, /*IN*/ PULONG PageFrameNumbers); +NTOSAPI +NTSTATUS +NTAPI +NtGetWriteWatch( + /*IN*/ HANDLE ProcessHandle, + /*IN*/ ULONG Flags, + /*IN*/ PVOID BaseAddress, + /*IN*/ ULONG RegionSize, + /*OUT*/ PULONG Buffer, + /*IN OUT*/ PULONG BufferEntries, + /*OUT*/ PULONG Granularity); + NTOSAPI NTSTATUS NTAPI @@ -1106,6 +1307,14 @@ ZwGetWriteWatch( /*IN OUT*/ PULONG BufferEntries, /*OUT*/ PULONG Granularity); +NTOSAPI +NTSTATUS +NTAPI +NtResetWriteWatch( + /*IN*/ HANDLE ProcessHandle, + /*IN*/ PVOID BaseAddress, + /*IN*/ ULONG RegionSize); + NTOSAPI NTSTATUS NTAPI @@ -1148,6 +1357,16 @@ ZwCreateSection( /*IN*/ ULONG Attributes, /*IN*/ HANDLE FileHandle); +NTOSAPI +NTSTATUS +NTAPI +NtQuerySection( + /*IN*/ HANDLE SectionHandle, + /*IN*/ SECTION_INFORMATION_CLASS SectionInformationClass, + /*OUT*/ PVOID SectionInformation, + /*IN*/ ULONG SectionInformationLength, + /*OUT*/ PULONG ResultLength /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -1158,6 +1377,13 @@ ZwQuerySection( /*IN*/ ULONG SectionInformationLength, /*OUT*/ PULONG ResultLength /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +NtExtendSection( + /*IN*/ HANDLE SectionHandle, + /*IN*/ PLARGE_INTEGER SectionSize); + NTOSAPI NTSTATUS NTAPI @@ -1165,6 +1391,13 @@ ZwExtendSection( /*IN*/ HANDLE SectionHandle, /*IN*/ PLARGE_INTEGER SectionSize); +NTOSAPI +NTSTATUS +NTAPI +NtAreMappedFilesTheSame( + /*IN*/ PVOID Address1, + /*IN*/ PVOID Address2); + NTOSAPI NTSTATUS NTAPI @@ -1185,6 +1418,19 @@ typedef struct _USER_STACK { PVOID ExpandableStackBottom; } USER_STACK, *PUSER_STACK; +NTOSAPI +NTSTATUS +NTAPI +NtCreateThread( + /*OUT*/ PHANDLE ThreadHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, + /*IN*/ HANDLE ProcessHandle, + /*OUT*/ PCLIENT_ID ClientId, + /*IN*/ PCONTEXT ThreadContext, + /*IN*/ PUSER_STACK UserStack, + /*IN*/ BOOLEAN CreateSuspended); + NTOSAPI NTSTATUS NTAPI @@ -1216,6 +1462,13 @@ ZwOpenThread( /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, /*IN*/ PCLIENT_ID ClientId); +NTOSAPI +NTSTATUS +NTAPI +NtTerminateThread( + /*IN*/ HANDLE ThreadHandle /*OPTIONAL*/, + /*IN*/ NTSTATUS ExitStatus); + NTOSAPI NTSTATUS NTAPI @@ -1252,6 +1505,15 @@ NtSetInformationThread( /*IN*/ PVOID ThreadInformation, /*IN*/ ULONG ThreadInformationLength); +NTOSAPI +NTSTATUS +NTAPI +ZwSetInformationThread( + /*IN*/ HANDLE ThreadHandle, + /*IN*/ THREADINFOCLASS ThreadInformationClass, + /*IN*/ PVOID ThreadInformation, + /*IN*/ ULONG ThreadInformationLength); + typedef struct _THREAD_BASIC_INFORMATION { NTSTATUS ExitStatus; PNT_TIB TebBaseAddress; @@ -1268,6 +1530,13 @@ typedef struct _KERNEL_USER_TIMES { LARGE_INTEGER UserTime; } KERNEL_USER_TIMES, *PKERNEL_USER_TIMES; +NTOSAPI +NTSTATUS +NTAPI +NtSuspendThread( + /*IN*/ HANDLE ThreadHandle, + /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -1275,6 +1544,13 @@ ZwSuspendThread( /*IN*/ HANDLE ThreadHandle, /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +NtResumeThread( + /*IN*/ HANDLE ThreadHandle, + /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -1282,6 +1558,13 @@ ZwResumeThread( /*IN*/ HANDLE ThreadHandle, /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +NtGetContextThread( + /*IN*/ HANDLE ThreadHandle, + /*OUT*/ PCONTEXT Context); + NTOSAPI NTSTATUS NTAPI @@ -1289,6 +1572,13 @@ ZwGetContextThread( /*IN*/ HANDLE ThreadHandle, /*OUT*/ PCONTEXT Context); +NTOSAPI +NTSTATUS +NTAPI +NtSetContextThread( + /*IN*/ HANDLE ThreadHandle, + /*IN*/ PCONTEXT Context); + NTOSAPI NTSTATUS NTAPI @@ -1296,6 +1586,16 @@ ZwSetContextThread( /*IN*/ HANDLE ThreadHandle, /*IN*/ PCONTEXT Context); +NTOSAPI +NTSTATUS +NTAPI +NtQueueApcThread( + /*IN*/ HANDLE ThreadHandle, + /*IN*/ PKNORMAL_ROUTINE ApcRoutine, + /*IN*/ PVOID ApcContext /*OPTIONAL*/, + /*IN*/ PVOID Argument1 /*OPTIONAL*/, + /*IN*/ PVOID Argument2 /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -1306,18 +1606,37 @@ ZwQueueApcThread( /*IN*/ PVOID Argument1 /*OPTIONAL*/, /*IN*/ PVOID Argument2 /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +NtTestAlert( + VOID); + NTOSAPI NTSTATUS NTAPI ZwTestAlert( VOID); +NTOSAPI +NTSTATUS +NTAPI +NtAlertThread( + /*IN*/ HANDLE ThreadHandle); + NTOSAPI NTSTATUS NTAPI ZwAlertThread( /*IN*/ HANDLE ThreadHandle); +NTOSAPI +NTSTATUS +NTAPI +NtAlertResumeThread( + /*IN*/ HANDLE ThreadHandle, + /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -1325,12 +1644,26 @@ ZwAlertResumeThread( /*IN*/ HANDLE ThreadHandle, /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +NtRegisterThreadTerminatePort( + /*IN*/ HANDLE PortHandle); + NTOSAPI NTSTATUS NTAPI ZwRegisterThreadTerminatePort( /*IN*/ HANDLE PortHandle); +NTOSAPI +NTSTATUS +NTAPI +NtImpersonateThread( + /*IN*/ HANDLE ThreadHandle, + /*IN*/ HANDLE TargetThreadHandle, + /*IN*/ PSECURITY_QUALITY_OF_SERVICE SecurityQos); + NTOSAPI NTSTATUS NTAPI @@ -1339,6 +1672,12 @@ ZwImpersonateThread( /*IN*/ HANDLE TargetThreadHandle, /*IN*/ PSECURITY_QUALITY_OF_SERVICE SecurityQos); +NTOSAPI +NTSTATUS +NTAPI +NtImpersonateAnonymousToken( + /*IN*/ HANDLE ThreadHandle); + NTOSAPI NTSTATUS NTAPI @@ -1353,7 +1692,7 @@ ZwImpersonateAnonymousToken( NTOSAPI NTSTATUS NTAPI -ZwCreateProcess( +NtCreateProcess( /*OUT*/ PHANDLE ProcessHandle, /*IN*/ ACCESS_MASK DesiredAccess, /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, @@ -1376,6 +1715,13 @@ ZwCreateProcess( /*IN*/ HANDLE DebugPort /*OPTIONAL*/, /*IN*/ HANDLE ExceptionPort /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +NtTerminateProcess( + /*IN*/ HANDLE ProcessHandle /*OPTIONAL*/, + /*IN*/ NTSTATUS ExitStatus); + NTOSAPI NTSTATUS NTAPI @@ -1383,6 +1729,16 @@ ZwTerminateProcess( /*IN*/ HANDLE ProcessHandle /*OPTIONAL*/, /*IN*/ NTSTATUS ExitStatus); +NTOSAPI +NTSTATUS +NTAPI +NtQueryInformationProcess( + /*IN*/ HANDLE ProcessHandle, + /*IN*/ PROCESSINFOCLASS ProcessInformationClass, + /*OUT*/ PVOID ProcessInformation, + /*IN*/ ULONG ProcessInformationLength, + /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -1640,6 +1996,14 @@ typedef struct _DEBUG_LOCK_INFORMATION { /* Jobs */ +NTOSAPI +NTSTATUS +NTAPI +NtCreateJobObject( + /*OUT*/ PHANDLE JobHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); + NTOSAPI NTSTATUS NTAPI @@ -1648,6 +2012,14 @@ ZwCreateJobObject( /*IN*/ ACCESS_MASK DesiredAccess, /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); +NTOSAPI +NTSTATUS +NTAPI +NtOpenJobObject( + /*OUT*/ PHANDLE JobHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); + NTOSAPI NTSTATUS NTAPI @@ -1656,6 +2028,13 @@ ZwOpenJobObject( /*IN*/ ACCESS_MASK DesiredAccess, /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); +NTOSAPI +NTSTATUS +NTAPI +NtTerminateJobObject( + /*IN*/ HANDLE JobHandle, + /*IN*/ NTSTATUS ExitStatus); + NTOSAPI NTSTATUS NTAPI @@ -1663,6 +2042,13 @@ ZwTerminateJobObject( /*IN*/ HANDLE JobHandle, /*IN*/ NTSTATUS ExitStatus); +NTOSAPI +NTSTATUS +NTAPI +NtAssignProcessToJobObject( + /*IN*/ HANDLE JobHandle, + /*IN*/ HANDLE ProcessHandle); + NTOSAPI NTSTATUS NTAPI @@ -1670,6 +2056,16 @@ ZwAssignProcessToJobObject( /*IN*/ HANDLE JobHandle, /*IN*/ HANDLE ProcessHandle); +NTOSAPI +NTSTATUS +NTAPI +NtQueryInformationJobObject( + /*IN*/ HANDLE JobHandle, + /*IN*/ JOBOBJECTINFOCLASS JobInformationClass, + /*OUT*/ PVOID JobInformation, + /*IN*/ ULONG JobInformationLength, + /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -1680,6 +2076,15 @@ ZwQueryInformationJobObject( /*IN*/ ULONG JobInformationLength, /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +NtSetInformationJobObject( + /*IN*/ HANDLE JobHandle, + /*IN*/ JOBOBJECTINFOCLASS JobInformationClass, + /*IN*/ PVOID JobInformation, + /*IN*/ ULONG JobInformationLength); + NTOSAPI NTSTATUS NTAPI @@ -1692,6 +2097,25 @@ ZwSetInformationJobObject( /* Tokens */ +NTOSAPI +NTSTATUS +NTAPI +NtCreateToken( + /*OUT*/ PHANDLE TokenHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, + /*IN*/ TOKEN_TYPE Type, + /*IN*/ PLUID AuthenticationId, + /*IN*/ PLARGE_INTEGER ExpirationTime, + /*IN*/ PTOKEN_USER User, + /*IN*/ PTOKEN_GROUPS Groups, + /*IN*/ PTOKEN_PRIVILEGES Privileges, + /*IN*/ PTOKEN_OWNER Owner, + /*IN*/ PTOKEN_PRIMARY_GROUP PrimaryGroup, + /*IN*/ PTOKEN_DEFAULT_DACL DefaultDacl, + /*IN*/ PTOKEN_SOURCE Source +); + NTOSAPI NTSTATUS NTAPI @@ -1767,6 +2191,17 @@ ZwDuplicateToken( /*IN*/ TOKEN_TYPE TokenType, /*OUT*/ PHANDLE NewTokenHandle); +NTOSAPI +NTSTATUS +NTAPI +NtFilterToken( + /*IN*/ HANDLE ExistingTokenHandle, + /*IN*/ ULONG Flags, + /*IN*/ PTOKEN_GROUPS SidsToDisable, + /*IN*/ PTOKEN_PRIVILEGES PrivilegesToDelete, + /*IN*/ PTOKEN_GROUPS SidsToRestricted, + /*OUT*/ PHANDLE NewTokenHandle); + NTOSAPI NTSTATUS NTAPI @@ -1800,6 +2235,17 @@ ZwAdjustPrivilegesToken( /*OUT*/ PTOKEN_PRIVILEGES PreviousState /*OPTIONAL*/, /*OUT*/ PULONG ReturnLength); +NTOSAPI +NTSTATUS +NTAPI +NtAdjustGroupsToken( + /*IN*/ HANDLE TokenHandle, + /*IN*/ BOOLEAN ResetToDefault, + /*IN*/ PTOKEN_GROUPS NewState, + /*IN*/ ULONG BufferLength, + /*OUT*/ PTOKEN_GROUPS PreviousState /*OPTIONAL*/, + /*OUT*/ PULONG ReturnLength); + NTOSAPI NTSTATUS NTAPI @@ -1831,6 +2277,15 @@ ZwQueryInformationToken( /*IN*/ ULONG TokenInformationLength, /*OUT*/ PULONG ReturnLength); +NTOSAPI +NTSTATUS +NTAPI +NtSetInformationToken( + /*IN*/ HANDLE TokenHandle, + /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass, + /*IN*/ PVOID TokenInformation, + /*IN*/ ULONG TokenInformationLength); + NTOSAPI NTSTATUS NTAPI @@ -1845,12 +2300,25 @@ ZwSetInformationToken( /* Time */ +NTOSAPI +NTSTATUS +NTAPI +NtQuerySystemTime( + /*OUT*/ PLARGE_INTEGER CurrentTime); + NTOSAPI NTSTATUS NTAPI ZwQuerySystemTime( /*OUT*/ PLARGE_INTEGER CurrentTime); +NTOSAPI +NTSTATUS +NTAPI +NtSetSystemTime( + /*IN*/ PLARGE_INTEGER NewTime, + /*OUT*/ PLARGE_INTEGER OldTime /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -1861,7 +2329,7 @@ ZwSetSystemTime( NTOSAPI NTSTATUS NTAPI -ZwQueryPerformanceCounter( +NtQueryPerformanceCounter( /*OUT*/ PLARGE_INTEGER PerformanceCount, /*OUT*/ PLARGE_INTEGER PerformanceFrequency /*OPTIONAL*/); @@ -1872,6 +2340,14 @@ ZwQueryPerformanceCounter( /*OUT*/ PLARGE_INTEGER PerformanceCount, /*OUT*/ PLARGE_INTEGER PerformanceFrequency /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +NtQueryTimerResolution( + /*OUT*/ PULONG CoarsestResolution, + /*OUT*/ PULONG FinestResolution, + /*OUT*/ PULONG ActualResolution); + NTOSAPI NTSTATUS NTAPI @@ -1880,6 +2356,13 @@ ZwQueryTimerResolution( /*OUT*/ PULONG FinestResolution, /*OUT*/ PULONG ActualResolution); +NTOSAPI +NTSTATUS +NTAPI +NtDelayExecution( + /*IN*/ BOOLEAN Alertable, + /*IN*/ PLARGE_INTEGER Interval); + NTOSAPI NTSTATUS NTAPI @@ -1887,12 +2370,24 @@ ZwDelayExecution( /*IN*/ BOOLEAN Alertable, /*IN*/ PLARGE_INTEGER Interval); +NTOSAPI +NTSTATUS +NTAPI +NtYieldExecution( + VOID); + NTOSAPI NTSTATUS NTAPI ZwYieldExecution( VOID); +NTOSAPI +ULONG +NTAPI +NtGetTickCount( + VOID); + NTOSAPI ULONG NTAPI @@ -1904,6 +2399,20 @@ ZwGetTickCount( /* Execution profiling */ +NTOSAPI +NTSTATUS +NTAPI +NtCreateProfile( + /*OUT*/ PHANDLE ProfileHandle, + /*IN*/ HANDLE ProcessHandle, + /*IN*/ PVOID Base, + /*IN*/ ULONG Size, + /*IN*/ ULONG BucketShift, + /*IN*/ PULONG Buffer, + /*IN*/ ULONG BufferLength, + /*IN*/ KPROFILE_SOURCE Source, + /*IN*/ ULONG ProcessorMask); + NTOSAPI NTSTATUS NTAPI @@ -1918,6 +2427,13 @@ ZwCreateProfile( /*IN*/ KPROFILE_SOURCE Source, /*IN*/ ULONG ProcessorMask); +NTOSAPI +NTSTATUS +NTAPI +NtSetIntervalProfile( + /*IN*/ ULONG Interval, + /*IN*/ KPROFILE_SOURCE Source); + NTOSAPI NTSTATUS NTAPI @@ -1925,6 +2441,13 @@ ZwSetIntervalProfile( /*IN*/ ULONG Interval, /*IN*/ KPROFILE_SOURCE Source); +NTOSAPI +NTSTATUS +NTAPI +NtQueryIntervalProfile( + /*IN*/ KPROFILE_SOURCE Source, + /*OUT*/ PULONG Interval); + NTOSAPI NTSTATUS NTAPI @@ -1932,12 +2455,24 @@ ZwQueryIntervalProfile( /*IN*/ KPROFILE_SOURCE Source, /*OUT*/ PULONG Interval); +NTOSAPI +NTSTATUS +NTAPI +NtStartProfile( + /*IN*/ HANDLE ProfileHandle); + NTOSAPI NTSTATUS NTAPI ZwStartProfile( /*IN*/ HANDLE ProfileHandle); +NTOSAPI +NTSTATUS +NTAPI +NtStopProfile( + /*IN*/ HANDLE ProfileHandle); + NTOSAPI NTSTATUS NTAPI @@ -1990,6 +2525,16 @@ typedef struct _LPC_SECTION_READ { PVOID ViewBase; } LPC_SECTION_READ, *PLPC_SECTION_READ; +NTOSAPI +NTSTATUS +NTAPI +NtCreatePort( + /*OUT*/ PHANDLE PortHandle, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, + /*IN*/ ULONG MaxDataSize, + /*IN*/ ULONG MaxMessageSize, + /*IN*/ ULONG Reserved); + NTOSAPI NTSTATUS NTAPI @@ -2000,6 +2545,16 @@ ZwCreatePort( /*IN*/ ULONG MaxMessageSize, /*IN*/ ULONG Reserved); +NTOSAPI +NTSTATUS +NTAPI +NtCreateWaitablePort( + /*OUT*/ PHANDLE PortHandle, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, + /*IN*/ ULONG MaxDataSize, + /*IN*/ ULONG MaxMessageSize, + /*IN*/ ULONG Reserved); + NTOSAPI NTSTATUS NTAPI @@ -2039,15 +2594,9 @@ ZwConnectPort( NTOSAPI NTSTATUS NTAPI -ZwConnectPort( - /*OUT*/ PHANDLE PortHandle, - /*IN*/ PUNICODE_STRING PortName, - /*IN*/ PSECURITY_QUALITY_OF_SERVICE SecurityQos, - /*IN OUT*/ PLPC_SECTION_WRITE WriteSection /*OPTIONAL*/, - /*IN OUT*/ PLPC_SECTION_READ ReadSection /*OPTIONAL*/, - /*OUT*/ PULONG MaxMessageSize /*OPTIONAL*/, - /*IN OUT*/ PVOID ConnectData /*OPTIONAL*/, - /*IN OUT*/ PULONG ConnectDataLength /*OPTIONAL*/); +NtListenPort( + /*IN*/ HANDLE PortHandle, + /*OUT*/ PLPC_MESSAGE Message); NTOSAPI NTSTATUS @@ -2056,6 +2605,17 @@ ZwListenPort( /*IN*/ HANDLE PortHandle, /*OUT*/ PLPC_MESSAGE Message); +NTOSAPI +NTSTATUS +NTAPI +NtAcceptConnectPort( + /*OUT*/ PHANDLE PortHandle, + /*IN*/ ULONG PortIdentifier, + /*IN*/ PLPC_MESSAGE Message, + /*IN*/ BOOLEAN Accept, + /*IN OUT*/ PLPC_SECTION_WRITE WriteSection /*OPTIONAL*/, + /*IN OUT*/ PLPC_SECTION_READ ReadSection /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -2067,6 +2627,12 @@ ZwAcceptConnectPort( /*IN OUT*/ PLPC_SECTION_WRITE WriteSection /*OPTIONAL*/, /*IN OUT*/ PLPC_SECTION_READ ReadSection /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +NtCompleteConnectPort( + /*IN*/ HANDLE PortHandle); + NTOSAPI NTSTATUS NTAPI @@ -2080,6 +2646,13 @@ NtRequestPort( /*IN*/ HANDLE PortHandle, /*IN*/ PLPC_MESSAGE RequestMessage); +NTOSAPI +NTSTATUS +NTAPI +ZwRequestPort( + /*IN*/ HANDLE PortHandle, + /*IN*/ PLPC_MESSAGE RequestMessage); + NTOSAPI NTSTATUS NTAPI @@ -2096,6 +2669,13 @@ ZwRequestWaitReplyPort( /*IN*/ PLPC_MESSAGE RequestMessage, /*OUT*/ PLPC_MESSAGE ReplyMessage); +NTOSAPI +NTSTATUS +NTAPI +NtReplyPort( + /*IN*/ HANDLE PortHandle, + /*IN*/ PLPC_MESSAGE ReplyMessage); + NTOSAPI NTSTATUS NTAPI @@ -2103,6 +2683,13 @@ ZwReplyPort( /*IN*/ HANDLE PortHandle, /*IN*/ PLPC_MESSAGE ReplyMessage); +NTOSAPI +NTSTATUS +NTAPI +NtReplyWaitReplyPort( + /*IN*/ HANDLE PortHandle, + /*IN OUT*/ PLPC_MESSAGE ReplyMessage); + NTOSAPI NTSTATUS NTAPI @@ -2110,6 +2697,15 @@ ZwReplyWaitReplyPort( /*IN*/ HANDLE PortHandle, /*IN OUT*/ PLPC_MESSAGE ReplyMessage); +NTOSAPI +NTSTATUS +NTAPI +NtReplyWaitReceivePort( + /*IN*/ HANDLE PortHandle, + /*OUT*/ PULONG PortIdentifier /*OPTIONAL*/, + /*IN*/ PLPC_MESSAGE ReplyMessage /*OPTIONAL*/, + /*OUT*/ PLPC_MESSAGE Message); + NTOSAPI NTSTATUS NTAPI @@ -2119,6 +2715,16 @@ ZwReplyWaitReceivePort( /*IN*/ PLPC_MESSAGE ReplyMessage /*OPTIONAL*/, /*OUT*/ PLPC_MESSAGE Message); +NTOSAPI +NTSTATUS +NTAPI +NtReplyWaitReceivePortEx( + /*IN*/ HANDLE PortHandle, + /*OUT*/ PULONG PortIdentifier /*OPTIONAL*/, + /*IN*/ PLPC_MESSAGE ReplyMessage /*OPTIONAL*/, + /*OUT*/ PLPC_MESSAGE Message, + /*IN*/ PLARGE_INTEGER Timeout); + NTOSAPI NTSTATUS NTAPI @@ -2129,6 +2735,17 @@ ZwReplyWaitReceivePortEx( /*OUT*/ PLPC_MESSAGE Message, /*IN*/ PLARGE_INTEGER Timeout); +NTOSAPI +NTSTATUS +NTAPI +NtReadRequestData( + /*IN*/ HANDLE PortHandle, + /*IN*/ PLPC_MESSAGE Message, + /*IN*/ ULONG Index, + /*OUT*/ PVOID Buffer, + /*IN*/ ULONG BufferLength, + /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -2140,6 +2757,17 @@ ZwReadRequestData( /*IN*/ ULONG BufferLength, /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +NtWriteRequestData( + /*IN*/ HANDLE PortHandle, + /*IN*/ PLPC_MESSAGE Message, + /*IN*/ ULONG Index, + /*IN*/ PVOID Buffer, + /*IN*/ ULONG BufferLength, + /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -2155,6 +2783,16 @@ typedef enum _PORT_INFORMATION_CLASS { PortBasicInformation } PORT_INFORMATION_CLASS; +NTOSAPI +NTSTATUS +NTAPI +NtQueryInformationPort( + /*IN*/ HANDLE PortHandle, + /*IN*/ PORT_INFORMATION_CLASS PortInformationClass, + /*OUT*/ PVOID PortInformation, + /*IN*/ ULONG PortInformationLength, + /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -2165,6 +2803,13 @@ ZwQueryInformationPort( /*IN*/ ULONG PortInformationLength, /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +NtImpersonateClientOfPort( + /*IN*/ HANDLE PortHandle, + /*IN*/ PLPC_MESSAGE Message); + NTOSAPI NTSTATUS NTAPI @@ -2189,6 +2834,13 @@ NTAPI ZwDeleteFile( /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); +NTOSAPI +NTSTATUS +NTAPI +NtFlushBuffersFile( + /*IN*/ HANDLE FileHandle, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock); + NTOSAPI NTSTATUS NTAPI @@ -2196,6 +2848,13 @@ ZwFlushBuffersFile( /*IN*/ HANDLE FileHandle, /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock); +NTOSAPI +NTSTATUS +NTAPI +NtCancelIoFile( + /*IN*/ HANDLE FileHandle, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock); + NTOSAPI NTSTATUS NTAPI @@ -2203,6 +2862,20 @@ ZwCancelIoFile( /*IN*/ HANDLE FileHandle, /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock); +NTOSAPI +NTSTATUS +NTAPI +NtReadFileScatter( + /*IN*/ HANDLE FileHandle, + /*IN*/ HANDLE Event /*OPTIONAL*/, + /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/, + /*IN*/ PVOID ApcContext /*OPTIONAL*/, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, + /*IN*/ PFILE_SEGMENT_ELEMENT Buffer, + /*IN*/ ULONG Length, + /*IN*/ PLARGE_INTEGER ByteOffset /*OPTIONAL*/, + /*IN*/ PULONG Key /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -2217,6 +2890,20 @@ ZwReadFileScatter( /*IN*/ PLARGE_INTEGER ByteOffset /*OPTIONAL*/, /*IN*/ PULONG Key /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +NtWriteFileGather( + /*IN*/ HANDLE FileHandle, + /*IN*/ HANDLE Event /*OPTIONAL*/, + /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/, + /*IN*/ PVOID ApcContext /*OPTIONAL*/, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, + /*IN*/ PFILE_SEGMENT_ELEMENT Buffer, + /*IN*/ ULONG Length, + /*IN*/ PLARGE_INTEGER ByteOffset /*OPTIONAL*/, + /*IN*/ PULONG Key /*OPTIONAL*/); + NTOSAPI NTSTATUS NTAPI @@ -2236,6 +2923,13 @@ ZwWriteFileGather( /* Registry keys */ +NTOSAPI +NTSTATUS +NTAPI +NtSaveKey( + /*IN*/ HANDLE KeyHandle, + /*IN*/ HANDLE FileHandle); + NTOSAPI NTSTATUS NTAPI @@ -2243,6 +2937,14 @@ ZwSaveKey( /*IN*/ HANDLE KeyHandle, /*IN*/ HANDLE FileHandle); +NTOSAPI +NTSTATUS +NTAPI +NtSaveMergedKeys( + /*IN*/ HANDLE KeyHandle1, + /*IN*/ HANDLE KeyHandle2, + /*IN*/ HANDLE FileHandle); + NTOSAPI NTSTATUS NTAPI @@ -2251,6 +2953,14 @@ ZwSaveMergedKeys( /*IN*/ HANDLE KeyHandle2, /*IN*/ HANDLE FileHandle); +NTOSAPI +NTSTATUS +NTAPI +NtRestoreKey( + /*IN*/ HANDLE KeyHandle, + /*IN*/ HANDLE FileHandle, + /*IN*/ ULONG Flags); + NTOSAPI NTSTATUS NTAPI @@ -2259,6 +2969,13 @@ ZwRestoreKey( /*IN*/ HANDLE FileHandle, /*IN*/ ULONG Flags); +NTOSAPI +NTSTATUS +NTAPI +NtLoadKey( + /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes, + /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes); + NTOSAPI NTSTATUS NTAPI @@ -2266,6 +2983,14 @@ ZwLoadKey( /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes, /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes); +NTOSAPI +NTSTATUS +NTAPI +NtLoadKey2( + /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes, + /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes, + /*IN*/ ULONG Flags); + NTOSAPI NTSTATUS NTAPI @@ -2274,12 +2999,25 @@ ZwLoadKey2( /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes, /*IN*/ ULONG Flags); +NTOSAPI +NTSTATUS +NTAPI +NtUnloadKey( + /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes); + NTOSAPI NTSTATUS NTAPI ZwUnloadKey( /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes); +NTOSAPI +NTSTATUS +NTAPI +NtQueryOpenSubKeys( + /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes, + /*OUT*/ PULONG NumberOfKeys); + NTOSAPI NTSTATUS NTAPI @@ -2287,6 +3025,14 @@ ZwQueryOpenSubKeys( /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes, /*OUT*/ PULONG NumberOfKeys); +NTOSAPI +NTSTATUS +NTAPI +NtReplaceKey( + /*IN*/ POBJECT_ATTRIBUTES NewFileObjectAttributes, + /*IN*/ HANDLE KeyHandle, + /*IN*/ POBJECT_ATTRIBUTES OldFileObjectAttributes); + NTOSAPI NTSTATUS NTAPI @@ -2299,6 +3045,15 @@ typedef enum _KEY_SET_INFORMATION_CLASS { KeyLastWriteTimeInformation } KEY_SET_INFORMATION_CLASS; +NTOSAPI +NTSTATUS +NTAPI +NtSetInformationKey( + /*IN*/ HANDLE KeyHandle, + /*IN*/ KEY_SET_INFORMATION_CLASS KeyInformationClass, + /*IN*/ PVOID KeyInformation, + /*IN*/ ULONG KeyInformationLength); + NTOSAPI NTSTATUS NTAPI @@ -2317,6 +3072,21 @@ typedef struct _KEY_NAME_INFORMATION { WCHAR Name[1]; } KEY_NAME_INFORMATION, *PKEY_NAME_INFORMATION; +NTOSAPI +NTSTATUS +NTAPI +NtNotifyChangeKey( + /*IN*/ HANDLE KeyHandle, + /*IN*/ HANDLE EventHandle /*OPTIONAL*/, + /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/, + /*IN*/ PVOID ApcContext /*OPTIONAL*/, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, + /*IN*/ ULONG NotifyFilter, + /*IN*/ BOOLEAN WatchSubtree, + /*IN*/ PVOID Buffer, + /*IN*/ ULONG BufferLength, + /*IN*/ BOOLEAN Asynchronous); + NTOSAPI NTSTATUS NTAPI @@ -2336,6 +3106,23 @@ ZwNotifyChangeKey( #define REG_MONITOR_SINGLE_KEY 0x00 #define REG_MONITOR_SECOND_KEY 0x01 +NTOSAPI +NTSTATUS +NTAPI +NtNotifyChangeMultipleKeys( + /*IN*/ HANDLE KeyHandle, + /*IN*/ ULONG Flags, + /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes, + /*IN*/ HANDLE EventHandle /*OPTIONAL*/, + /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/, + /*IN*/ PVOID ApcContext /*OPTIONAL*/, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, + /*IN*/ ULONG NotifyFilter, + /*IN*/ BOOLEAN WatchSubtree, + /*IN*/ PVOID Buffer, + /*IN*/ ULONG BufferLength, + /*IN*/ BOOLEAN Asynchronous); + NTOSAPI NTSTATUS NTAPI @@ -2353,6 +3140,17 @@ ZwNotifyChangeMultipleKeys( /*IN*/ ULONG BufferLength, /*IN*/ BOOLEAN Asynchronous); +NTOSAPI +NTSTATUS +NTAPI +NtQueryMultipleValueKey( + /*IN*/ HANDLE KeyHandle, + /*IN OUT*/ PKEY_VALUE_ENTRY ValueList, + /*IN*/ ULONG NumberOfValues, + /*OUT*/ PVOID Buffer, + /*IN OUT*/ PULONG Length, + /*OUT*/ PULONG ReturnLength); + NTOSAPI NTSTATUS NTAPI @@ -2364,6 +3162,12 @@ ZwQueryMultipleValueKey( /*IN OUT*/ PULONG Length, /*OUT*/ PULONG ReturnLength); +NTOSAPI +NTSTATUS +NTAPI +NtInitializeRegistry( + /*IN*/ BOOLEAN Setup); + NTOSAPI NTSTATUS NTAPI @@ -2375,6 +3179,14 @@ ZwInitializeRegistry( /* Security and auditing */ +NTOSAPI +NTSTATUS +NTAPI +NtPrivilegeCheck( + /*IN*/ HANDLE TokenHandle, + /*IN*/ PPRIVILEGE_SET RequiredPrivileges, + /*OUT*/ PBOOLEAN Result); + NTOSAPI NTSTATUS NTAPI @@ -2386,7 +3198,7 @@ ZwPrivilegeCheck( NTOSAPI NTSTATUS NTAPI -ZwPrivilegeObjectAuditAlarm( +NtPrivilegeObjectAuditAlarm( /*IN*/ PUNICODE_STRING SubsystemName, /*IN*/ PVOID HandleId, /*IN*/ HANDLE TokenHandle, @@ -2405,6 +3217,19 @@ ZwPrivilegeObjectAuditAlarm( /*IN*/ PPRIVILEGE_SET Privileges, /*IN*/ BOOLEAN AccessGranted); +NTOSAPI +NTSTATUS +NTAPI +NtAccessCheck( + /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor, + /*IN*/ HANDLE TokenHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ PGENERIC_MAPPING GenericMapping, + /*IN*/ PPRIVILEGE_SET PrivilegeSet, + /*IN*/ PULONG PrivilegeSetLength, + /*OUT*/ PACCESS_MASK GrantedAccess, + /*OUT*/ PBOOLEAN AccessStatus); + NTOSAPI NTSTATUS NTAPI @@ -2418,6 +3243,22 @@ ZwAccessCheck( /*OUT*/ PACCESS_MASK GrantedAccess, /*OUT*/ PBOOLEAN AccessStatus); +NTOSAPI +NTSTATUS +NTAPI +NtAccessCheckAndAuditAlarm( + /*IN*/ PUNICODE_STRING SubsystemName, + /*IN*/ PVOID HandleId, + /*IN*/ PUNICODE_STRING ObjectTypeName, + /*IN*/ PUNICODE_STRING ObjectName, + /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ PGENERIC_MAPPING GenericMapping, + /*IN*/ BOOLEAN ObjectCreation, + /*OUT*/ PACCESS_MASK GrantedAccess, + /*OUT*/ PBOOLEAN AccessStatus, + /*OUT*/ PBOOLEAN GenerateOnClose); + NTOSAPI NTSTATUS NTAPI @@ -2434,6 +3275,22 @@ ZwAccessCheckAndAuditAlarm( /*OUT*/ PBOOLEAN AccessStatus, /*OUT*/ PBOOLEAN GenerateOnClose); +NTOSAPI +NTSTATUS +NTAPI +NtAccessCheckByType( + /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor, + /*IN*/ PSID PrincipalSelfSid, + /*IN*/ HANDLE TokenHandle, + /*IN*/ ULONG DesiredAccess, + /*IN*/ POBJECT_TYPE_LIST ObjectTypeList, + /*IN*/ ULONG ObjectTypeListLength, + /*IN*/ PGENERIC_MAPPING GenericMapping, + /*IN*/ PPRIVILEGE_SET PrivilegeSet, + /*IN*/ PULONG PrivilegeSetLength, + /*OUT*/ PACCESS_MASK GrantedAccess, + /*OUT*/ PULONG AccessStatus); + NTOSAPI NTSTATUS NTAPI @@ -2455,6 +3312,27 @@ typedef enum _AUDIT_EVENT_TYPE { AuditEventDirectoryServiceAccess } AUDIT_EVENT_TYPE, *PAUDIT_EVENT_TYPE; +NTOSAPI +NTSTATUS +NTAPI +NtAccessCheckByTypeAndAuditAlarm( + /*IN*/ PUNICODE_STRING SubsystemName, + /*IN*/ PVOID HandleId, + /*IN*/ PUNICODE_STRING ObjectTypeName, + /*IN*/ PUNICODE_STRING ObjectName, + /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor, + /*IN*/ PSID PrincipalSelfSid, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ AUDIT_EVENT_TYPE AuditType, + /*IN*/ ULONG Flags, + /*IN*/ POBJECT_TYPE_LIST ObjectTypeList, + /*IN*/ ULONG ObjectTypeListLength, + /*IN*/ PGENERIC_MAPPING GenericMapping, + /*IN*/ BOOLEAN ObjectCreation, + /*OUT*/ PACCESS_MASK GrantedAccess, + /*OUT*/ PULONG AccessStatus, + /*OUT*/ PBOOLEAN GenerateOnClose); + NTOSAPI NTSTATUS NTAPI @@ -2476,6 +3354,22 @@ ZwAccessCheckByTypeAndAuditAlarm( /*OUT*/ PULONG AccessStatus, /*OUT*/ PBOOLEAN GenerateOnClose); +NTOSAPI +NTSTATUS +NTAPI +NtAccessCheckByTypeResultList( + /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor, + /*IN*/ PSID PrincipalSelfSid, + /*IN*/ HANDLE TokenHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_TYPE_LIST ObjectTypeList, + /*IN*/ ULONG ObjectTypeListLength, + /*IN*/ PGENERIC_MAPPING GenericMapping, + /*IN*/ PPRIVILEGE_SET PrivilegeSet, + /*IN*/ PULONG PrivilegeSetLength, + /*OUT*/ PACCESS_MASK GrantedAccessList, + /*OUT*/ PULONG AccessStatusList); + NTOSAPI NTSTATUS NTAPI @@ -2492,6 +3386,27 @@ ZwAccessCheckByTypeResultList( /*OUT*/ PACCESS_MASK GrantedAccessList, /*OUT*/ PULONG AccessStatusList); +NTOSAPI +NTSTATUS +NTAPI +NtAccessCheckByTypeResultListAndAuditAlarm( + /*IN*/ PUNICODE_STRING SubsystemName, + /*IN*/ PVOID HandleId, + /*IN*/ PUNICODE_STRING ObjectTypeName, + /*IN*/ PUNICODE_STRING ObjectName, + /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor, + /*IN*/ PSID PrincipalSelfSid, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ AUDIT_EVENT_TYPE AuditType, + /*IN*/ ULONG Flags, + /*IN*/ POBJECT_TYPE_LIST ObjectTypeList, + /*IN*/ ULONG ObjectTypeListLength, + /*IN*/ PGENERIC_MAPPING GenericMapping, + /*IN*/ BOOLEAN ObjectCreation, + /*OUT*/ PACCESS_MASK GrantedAccessList, + /*OUT*/ PULONG AccessStatusList, + /*OUT*/ PULONG GenerateOnClose); + NTOSAPI NTSTATUS NTAPI @@ -2513,6 +3428,28 @@ ZwAccessCheckByTypeResultListAndAuditAlarm( /*OUT*/ PULONG AccessStatusList, /*OUT*/ PULONG GenerateOnClose); +NTOSAPI +NTSTATUS +NTAPI +NtAccessCheckByTypeResultListAndAuditAlarmByHandle( + /*IN*/ PUNICODE_STRING SubsystemName, + /*IN*/ PVOID HandleId, + /*IN*/ HANDLE TokenHandle, + /*IN*/ PUNICODE_STRING ObjectTypeName, + /*IN*/ PUNICODE_STRING ObjectName, + /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor, + /*IN*/ PSID PrincipalSelfSid, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ AUDIT_EVENT_TYPE AuditType, + /*IN*/ ULONG Flags, + /*IN*/ POBJECT_TYPE_LIST ObjectTypeList, + /*IN*/ ULONG ObjectTypeListLength, + /*IN*/ PGENERIC_MAPPING GenericMapping, + /*IN*/ BOOLEAN ObjectCreation, + /*OUT*/ PACCESS_MASK GrantedAccessList, + /*OUT*/ PULONG AccessStatusList, + /*OUT*/ PULONG GenerateOnClose); + NTOSAPI NTSTATUS NTAPI @@ -2535,6 +3472,23 @@ ZwAccessCheckByTypeResultListAndAuditAlarmByHandle( /*OUT*/ PULONG AccessStatusList, /*OUT*/ PULONG GenerateOnClose); +NTOSAPI +NTSTATUS +NTAPI +NtOpenObjectAuditAlarm( + /*IN*/ PUNICODE_STRING SubsystemName, + /*IN*/ PVOID *HandleId, + /*IN*/ PUNICODE_STRING ObjectTypeName, + /*IN*/ PUNICODE_STRING ObjectName, + /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor, + /*IN*/ HANDLE TokenHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ ACCESS_MASK GrantedAccess, + /*IN*/ PPRIVILEGE_SET Privileges /*OPTIONAL*/, + /*IN*/ BOOLEAN ObjectCreation, + /*IN*/ BOOLEAN AccessGranted, + /*OUT*/ PBOOLEAN GenerateOnClose); + NTOSAPI NTSTATUS NTAPI @@ -2552,6 +3506,14 @@ ZwOpenObjectAuditAlarm( /*IN*/ BOOLEAN AccessGranted, /*OUT*/ PBOOLEAN GenerateOnClose); +NTOSAPI +NTSTATUS +NTAPI +NtCloseObjectAuditAlarm( + /*IN*/ PUNICODE_STRING SubsystemName, + /*IN*/ PVOID HandleId, + /*IN*/ BOOLEAN GenerateOnClose); + NTOSAPI NTSTATUS NTAPI @@ -2560,6 +3522,14 @@ ZwCloseObjectAuditAlarm( /*IN*/ PVOID HandleId, /*IN*/ BOOLEAN GenerateOnClose); +NTOSAPI +NTSTATUS +NTAPI +NtDeleteObjectAuditAlarm( + /*IN*/ PUNICODE_STRING SubsystemName, + /*IN*/ PVOID HandleId, + /*IN*/ BOOLEAN GenerateOnClose); + NTOSAPI NTSTATUS NTAPI @@ -2638,6 +3608,14 @@ ZwPowerInformation( /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/, /*IN*/ ULONG OutputBufferLength); +NTOSAPI +NTSTATUS +NTAPI +NtPlugPlayControl( + /*IN*/ ULONG ControlCode, + /*IN OUT*/ PVOID Buffer, + /*IN*/ ULONG BufferLength); + NTOSAPI NTSTATUS NTAPI @@ -2646,6 +3624,15 @@ ZwPlugPlayControl( /*IN OUT*/ PVOID Buffer, /*IN*/ ULONG BufferLength); +NTOSAPI +NTSTATUS +NTAPI +NtGetPlugPlayEvent( + /*IN*/ ULONG Reserved1, + /*IN*/ ULONG Reserved2, + /*OUT*/ PVOID Buffer, + /*IN*/ ULONG BufferLength); + NTOSAPI NTSTATUS NTAPI @@ -2660,6 +3647,14 @@ ZwGetPlugPlayEvent( /* Miscellany */ +NTOSAPI +NTSTATUS +NTAPI +NtRaiseException( + /*IN*/ PEXCEPTION_RECORD ExceptionRecord, + /*IN*/ PCONTEXT Context, + /*IN*/ BOOLEAN SearchFrames); + NTOSAPI NTSTATUS NTAPI @@ -2668,6 +3663,13 @@ ZwRaiseException( /*IN*/ PCONTEXT Context, /*IN*/ BOOLEAN SearchFrames); +NTOSAPI +NTSTATUS +NTAPI +NtContinue( + /*IN*/ PCONTEXT Context, + /*IN*/ BOOLEAN TestAlert); + NTOSAPI NTSTATUS NTAPI @@ -2685,30 +3687,62 @@ ZwW32Call( /*OUT*/ PVOID *Result /*OPTIONAL*/, /*OUT*/ PULONG ResultLength /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +NtSetLowWaitHighThread( + VOID); + NTOSAPI NTSTATUS NTAPI ZwSetLowWaitHighThread( VOID); +NTOSAPI +NTSTATUS +NTAPI +NtSetHighWaitLowThread( + VOID); + NTOSAPI NTSTATUS NTAPI ZwSetHighWaitLowThread( VOID); +NTOSAPI +NTSTATUS +NTAPI +NtLoadDriver( + /*IN*/ PUNICODE_STRING DriverServiceName); + NTOSAPI NTSTATUS NTAPI ZwLoadDriver( /*IN*/ PUNICODE_STRING DriverServiceName); +NTOSAPI +NTSTATUS +NTAPI +NtUnloadDriver( + /*IN*/ PUNICODE_STRING DriverServiceName); + NTOSAPI NTSTATUS NTAPI ZwUnloadDriver( /*IN*/ PUNICODE_STRING DriverServiceName); +NTOSAPI +NTSTATUS +NTAPI +NtFlushInstructionCache( + /*IN*/ HANDLE ProcessHandle, + /*IN*/ PVOID BaseAddress /*OPTIONAL*/, + /*IN*/ ULONG FlushSize); + NTOSAPI NTSTATUS NTAPI @@ -2717,12 +3751,25 @@ ZwFlushInstructionCache( /*IN*/ PVOID BaseAddress /*OPTIONAL*/, /*IN*/ ULONG FlushSize); +NTOSAPI +NTSTATUS +NTAPI +NtFlushWriteBuffer( + VOID); + NTOSAPI NTSTATUS NTAPI ZwFlushWriteBuffer( VOID); +NTOSAPI +NTSTATUS +NTAPI +NtQueryDefaultLocale( + /*IN*/ BOOLEAN ThreadOrSystem, + /*OUT*/ PLCID Locale); + NTOSAPI NTSTATUS NTAPI @@ -2730,6 +3777,13 @@ ZwQueryDefaultLocale( /*IN*/ BOOLEAN ThreadOrSystem, /*OUT*/ PLCID Locale); +NTOSAPI +NTSTATUS +NTAPI +NtSetDefaultLocale( + /*IN*/ BOOLEAN ThreadOrSystem, + /*IN*/ LCID Locale); + NTOSAPI NTSTATUS NTAPI @@ -2737,18 +3791,36 @@ ZwSetDefaultLocale( /*IN*/ BOOLEAN ThreadOrSystem, /*IN*/ LCID Locale); +NTOSAPI +NTSTATUS +NTAPI +NtQueryDefaultUILanguage( + /*OUT*/ PLANGID LanguageId); + NTOSAPI NTSTATUS NTAPI ZwQueryDefaultUILanguage( /*OUT*/ PLANGID LanguageId); +NTOSAPI +NTSTATUS +NTAPI +NtSetDefaultUILanguage( + /*IN*/ LANGID LanguageId); + NTOSAPI NTSTATUS NTAPI ZwSetDefaultUILanguage( /*IN*/ LANGID LanguageId); +NTOSAPI +NTSTATUS +NTAPI +NtQueryInstallUILanguage( + /*OUT*/ PLANGID LanguageId); + NTOSAPI NTSTATUS NTAPI @@ -2770,6 +3842,21 @@ NtAllocateUuids( /*OUT*/ PULONG UuidSequenceNumber, /*OUT*/ PUCHAR UuidSeed); +NTOSAPI +NTSTATUS +NTAPI +ZwAllocateUuids( + /*OUT*/ PLARGE_INTEGER UuidLastTimeAllocated, + /*OUT*/ PULONG UuidDeltaTime, + /*OUT*/ PULONG UuidSequenceNumber, + /*OUT*/ PUCHAR UuidSeed); + +NTOSAPI +NTSTATUS +NTAPI +NtSetUuidSeed( + /*IN*/ PUCHAR UuidSeed); + NTOSAPI NTSTATUS NTAPI @@ -2798,6 +3885,17 @@ typedef enum _HARDERROR_RESPONSE { ResponseYes } HARDERROR_RESPONSE, *PHARDERROR_RESPONSE; +NTOSAPI +NTSTATUS +NTAPI +NtRaiseHardError( + /*IN*/ NTSTATUS Status, + /*IN*/ ULONG NumberOfArguments, + /*IN*/ ULONG StringArgumentsMask, + /*IN*/ PULONG Arguments, + /*IN*/ HARDERROR_RESPONSE_OPTION ResponseOption, + /*OUT*/ PHARDERROR_RESPONSE Response); + NTOSAPI NTSTATUS NTAPI @@ -2809,18 +3907,39 @@ ZwRaiseHardError( /*IN*/ HARDERROR_RESPONSE_OPTION ResponseOption, /*OUT*/ PHARDERROR_RESPONSE Response); +NTOSAPI +NTSTATUS +NTAPI +NtSetDefaultHardErrorPort( + /*IN*/ HANDLE PortHandle); + NTOSAPI NTSTATUS NTAPI ZwSetDefaultHardErrorPort( /*IN*/ HANDLE PortHandle); +NTOSAPI +NTSTATUS +NTAPI +NtDisplayString( + /*IN*/ PUNICODE_STRING String); + NTOSAPI NTSTATUS NTAPI ZwDisplayString( /*IN*/ PUNICODE_STRING String); +NTOSAPI +NTSTATUS +NTAPI +NtCreatePagingFile( + /*IN*/ PUNICODE_STRING FileName, + /*IN*/ PULARGE_INTEGER InitialSize, + /*IN*/ PULARGE_INTEGER MaximumSize, + /*IN*/ ULONG Reserved); + NTOSAPI NTSTATUS NTAPI @@ -2840,6 +3959,14 @@ NtAddAtom( /*IN*/ ULONG AtomNameLength, /*OUT*/ PRTL_ATOM Atom); +NTOSAPI +NTSTATUS +NTAPI +ZwAddAtom( + /*IN*/ PWSTR AtomName, + /*IN*/ ULONG AtomNameLength, + /*OUT*/ PRTL_ATOM Atom); + NTOSAPI NTSTATUS NTAPI @@ -2848,12 +3975,26 @@ NtFindAtom( /*IN*/ ULONG AtomNameLength, /*OUT*/ PRTL_ATOM Atom); +NTOSAPI +NTSTATUS +NTAPI +ZwFindAtom( + /*IN*/ PWSTR AtomName, + /*IN*/ ULONG AtomNameLength, + /*OUT*/ PRTL_ATOM Atom); + NTOSAPI NTSTATUS NTAPI NtDeleteAtom( /*IN*/ RTL_ATOM Atom); +NTOSAPI +NTSTATUS +NTAPI +ZwDeleteAtom( + /*IN*/ RTL_ATOM Atom); + typedef enum _ATOM_INFORMATION_CLASS { AtomBasicInformation, AtomListInformation @@ -2869,6 +4010,16 @@ NtQueryInformationAtom( /*IN*/ ULONG AtomInformationLength, /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); +NTOSAPI +NTSTATUS +NTAPI +ZwQueryInformationAtom( + /*IN*/ RTL_ATOM Atom, + /*IN*/ ATOM_INFORMATION_CLASS AtomInformationClass, + /*OUT*/ PVOID AtomInformation, + /*IN*/ ULONG AtomInformationLength, + /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); + typedef struct _ATOM_BASIC_INFORMATION { USHORT ReferenceCount; USHORT Pinned; @@ -2881,6 +4032,15 @@ typedef struct _ATOM_LIST_INFORMATION { ATOM Atoms[1]; } ATOM_LIST_INFORMATION, *PATOM_LIST_INFORMATION; +NTOSAPI +NTSTATUS +NTAPI +NtSetLdtEntries( + /*IN*/ ULONG Selector1, + /*IN*/ LDT_ENTRY LdtEntry1, + /*IN*/ ULONG Selector2, + /*IN*/ LDT_ENTRY LdtEntry2); + NTOSAPI NTSTATUS NTAPI @@ -2897,6 +4057,13 @@ NtVdmControl( /*IN*/ ULONG ControlCode, /*IN*/ PVOID ControlData); +NTOSAPI +NTSTATUS +NTAPI +ZwVdmControl( + /*IN*/ ULONG ControlCode, + /*IN*/ PVOID ControlData); + #pragma pack(pop) #ifdef __cplusplus diff --git a/winsup/w32api/include/ddk/ntifs.h b/winsup/w32api/include/ddk/ntifs.h index 2524e278c..42d861f5b 100644 --- a/winsup/w32api/include/ddk/ntifs.h +++ b/winsup/w32api/include/ddk/ntifs.h @@ -4057,6 +4057,18 @@ SeUnregisterLogonSessionTerminatedRoutine ( #if (VER_PRODUCTBUILD >= 2195) +NTSYSAPI +NTSTATUS +NTAPI +NtAdjustPrivilegesToken ( + /*IN*/ HANDLE TokenHandle, + /*IN*/ BOOLEAN DisableAllPrivileges, + /*IN*/ PTOKEN_PRIVILEGES NewState, + /*IN*/ ULONG BufferLength, + /*OUT*/ PTOKEN_PRIVILEGES PreviousState /*OPTIONAL*/, + /*OUT*/ PULONG ReturnLength +); + NTSYSAPI NTSTATUS NTAPI @@ -4071,6 +4083,13 @@ ZwAdjustPrivilegesToken ( #endif /* (VER_PRODUCTBUILD >= 2195) */ +NTSYSAPI +NTSTATUS +NTAPI +NtAlertThread ( + /*IN*/ HANDLE ThreadHandle +); + NTSYSAPI NTSTATUS NTAPI @@ -4078,6 +4097,18 @@ ZwAlertThread ( /*IN*/ HANDLE ThreadHandle ); +NTSYSAPI +NTSTATUS +NTAPI +NtAllocateVirtualMemory ( + /*IN*/ HANDLE ProcessHandle, + /*IN OUT*/ PVOID *BaseAddress, + /*IN*/ ULONG ZeroBits, + /*IN OUT*/ PULONG RegionSize, + /*IN*/ ULONG AllocationType, + /*IN*/ ULONG Protect +); + NTSYSAPI NTSTATUS NTAPI @@ -4090,6 +4121,23 @@ ZwAllocateVirtualMemory ( /*IN*/ ULONG Protect ); +NTSYSAPI +NTSTATUS +NTAPI +NtAccessCheckAndAuditAlarm ( + /*IN*/ PUNICODE_STRING SubsystemName, + /*IN*/ PVOID HandleId, + /*IN*/ PUNICODE_STRING ObjectTypeName, + /*IN*/ PUNICODE_STRING ObjectName, + /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ PGENERIC_MAPPING GenericMapping, + /*IN*/ BOOLEAN ObjectCreation, + /*OUT*/ PACCESS_MASK GrantedAccess, + /*OUT*/ PBOOLEAN AccessStatus, + /*OUT*/ PBOOLEAN GenerateOnClose +); + NTSYSAPI NTSTATUS NTAPI @@ -4109,6 +4157,14 @@ ZwAccessCheckAndAuditAlarm ( #if (VER_PRODUCTBUILD >= 2195) +NTSYSAPI +NTSTATUS +NTAPI +NtCancelIoFile ( + /*IN*/ HANDLE FileHandle, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock +); + NTSYSAPI NTSTATUS NTAPI @@ -4119,6 +4175,13 @@ ZwCancelIoFile ( #endif /* (VER_PRODUCTBUILD >= 2195) */ +NTSYSAPI +NTSTATUS +NTAPI +NtClearEvent ( + /*IN*/ HANDLE EventHandle +); + NTSYSAPI NTSTATUS NTAPI @@ -4126,6 +4189,15 @@ ZwClearEvent ( /*IN*/ HANDLE EventHandle ); +NTSYSAPI +NTSTATUS +NTAPI +NtCloseObjectAuditAlarm ( + /*IN*/ PUNICODE_STRING SubsystemName, + /*IN*/ PVOID HandleId, + /*IN*/ BOOLEAN GenerateOnClose +); + NTSYSAPI NTSTATUS NTAPI @@ -4135,6 +4207,19 @@ ZwCloseObjectAuditAlarm ( /*IN*/ BOOLEAN GenerateOnClose ); +NTSYSAPI +NTSTATUS +NTAPI +NtCreateSection ( + /*OUT*/ PHANDLE SectionHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes /*OPTIONAL*/, + /*IN*/ PLARGE_INTEGER MaximumSize /*OPTIONAL*/, + /*IN*/ ULONG SectionPageProtection, + /*IN*/ ULONG AllocationAttributes, + /*IN*/ HANDLE FileHandle /*OPTIONAL*/ +); + NTSYSAPI NTSTATUS NTAPI @@ -4148,6 +4233,16 @@ ZwCreateSection ( /*IN*/ HANDLE FileHandle /*OPTIONAL*/ ); +NTSYSAPI +NTSTATUS +NTAPI +NtCreateSymbolicLinkObject ( + /*OUT*/ PHANDLE SymbolicLinkHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, + /*IN*/ PUNICODE_STRING TargetName +); + NTSYSAPI NTSTATUS NTAPI @@ -4158,6 +4253,13 @@ ZwCreateSymbolicLinkObject ( /*IN*/ PUNICODE_STRING TargetName ); +NTSYSAPI +NTSTATUS +NTAPI +NtDeleteFile ( + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes +); + NTSYSAPI NTSTATUS NTAPI @@ -4165,6 +4267,14 @@ ZwDeleteFile ( /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes ); +NTSYSAPI +NTSTATUS +NTAPI +NtDeleteValueKey ( + /*IN*/ HANDLE Handle, + /*IN*/ PUNICODE_STRING Name +); + NTSYSAPI NTSTATUS NTAPI @@ -4173,6 +4283,22 @@ ZwDeleteValueKey ( /*IN*/ PUNICODE_STRING Name ); +NTSYSAPI +NTSTATUS +NTAPI +NtDeviceIoControlFile ( + /*IN*/ HANDLE FileHandle, + /*IN*/ HANDLE Event /*OPTIONAL*/, + /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/, + /*IN*/ PVOID ApcContext /*OPTIONAL*/, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, + /*IN*/ ULONG IoControlCode, + /*IN*/ PVOID InputBuffer /*OPTIONAL*/, + /*IN*/ ULONG InputBufferLength, + /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/, + /*IN*/ ULONG OutputBufferLength +); + NTSYSAPI NTSTATUS NTAPI @@ -4189,6 +4315,13 @@ ZwDeviceIoControlFile ( /*IN*/ ULONG OutputBufferLength ); +NTSYSAPI +NTSTATUS +NTAPI +NtDisplayString ( + /*IN*/ PUNICODE_STRING String +); + NTSYSAPI NTSTATUS NTAPI @@ -4196,6 +4329,19 @@ ZwDisplayString ( /*IN*/ PUNICODE_STRING String ); +NTSYSAPI +NTSTATUS +NTAPI +NtDuplicateObject ( + /*IN*/ HANDLE SourceProcessHandle, + /*IN*/ HANDLE SourceHandle, + /*IN*/ HANDLE TargetProcessHandle /*OPTIONAL*/, + /*OUT*/ PHANDLE TargetHandle /*OPTIONAL*/, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ ULONG HandleAttributes, + /*IN*/ ULONG Options +); + NTSYSAPI NTSTATUS NTAPI @@ -4209,6 +4355,18 @@ ZwDuplicateObject ( /*IN*/ ULONG Options ); +NTSYSAPI +NTSTATUS +NTAPI +NtDuplicateToken ( + /*IN*/ HANDLE ExistingTokenHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, + /*IN*/ BOOLEAN EffectiveOnly, + /*IN*/ TOKEN_TYPE TokenType, + /*OUT*/ PHANDLE NewTokenHandle +); + NTSYSAPI NTSTATUS NTAPI @@ -4221,6 +4379,15 @@ ZwDuplicateToken ( /*OUT*/ PHANDLE NewTokenHandle ); +NTSYSAPI +NTSTATUS +NTAPI +NtFlushInstructionCache ( + /*IN*/ HANDLE ProcessHandle, + /*IN*/ PVOID BaseAddress /*OPTIONAL*/, + /*IN*/ ULONG FlushSize +); + NTSYSAPI NTSTATUS NTAPI @@ -4232,6 +4399,16 @@ ZwFlushInstructionCache ( #if (VER_PRODUCTBUILD >= 2195) +NTSYSAPI +NTSTATUS +NTAPI +NtFlushVirtualMemory ( + /*IN*/ HANDLE ProcessHandle, + /*IN OUT*/ PVOID *BaseAddress, + /*IN OUT*/ PULONG FlushSize, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock +); + NTSYSAPI NTSTATUS NTAPI @@ -4244,6 +4421,16 @@ ZwFlushVirtualMemory ( #endif /* (VER_PRODUCTBUILD >= 2195) */ +NTSYSAPI +NTSTATUS +NTAPI +NtFreeVirtualMemory ( + /*IN*/ HANDLE ProcessHandle, + /*IN OUT*/ PVOID *BaseAddress, + /*IN OUT*/ PULONG RegionSize, + /*IN*/ ULONG FreeType +); + NTSYSAPI NTSTATUS NTAPI @@ -4254,6 +4441,22 @@ ZwFreeVirtualMemory ( /*IN*/ ULONG FreeType ); +NTSYSAPI +NTSTATUS +NTAPI +NtFsControlFile ( + /*IN*/ HANDLE FileHandle, + /*IN*/ HANDLE Event /*OPTIONAL*/, + /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/, + /*IN*/ PVOID ApcContext /*OPTIONAL*/, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, + /*IN*/ ULONG FsControlCode, + /*IN*/ PVOID InputBuffer /*OPTIONAL*/, + /*IN*/ ULONG InputBufferLength, + /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/, + /*IN*/ ULONG OutputBufferLength +); + NTSYSAPI NTSTATUS NTAPI @@ -4272,6 +4475,16 @@ ZwFsControlFile ( #if (VER_PRODUCTBUILD >= 2195) +NTSYSAPI +NTSTATUS +NTAPI +NtInitiatePowerAction ( + /*IN*/ POWER_ACTION SystemAction, + /*IN*/ SYSTEM_POWER_STATE MinSystemState, + /*IN*/ ULONG Flags, + /*IN*/ BOOLEAN Asynchronous +); + NTSYSAPI NTSTATUS NTAPI @@ -4284,6 +4497,14 @@ ZwInitiatePowerAction ( #endif /* (VER_PRODUCTBUILD >= 2195) */ +NTSYSAPI +NTSTATUS +NTAPI +NtLoadDriver ( + /* "\\Registry\\Machine\\System\\CurrentControlSet\\Services\\" */ + /*IN*/ PUNICODE_STRING RegistryPath +); + NTSYSAPI NTSTATUS NTAPI @@ -4292,6 +4513,14 @@ ZwLoadDriver ( /*IN*/ PUNICODE_STRING RegistryPath ); +NTSYSAPI +NTSTATUS +NTAPI +NtLoadKey ( + /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes, + /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes +); + NTSYSAPI NTSTATUS NTAPI @@ -4300,6 +4529,22 @@ ZwLoadKey ( /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes ); +NTSYSAPI +NTSTATUS +NTAPI +NtNotifyChangeKey ( + /*IN*/ HANDLE KeyHandle, + /*IN*/ HANDLE EventHandle /*OPTIONAL*/, + /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/, + /*IN*/ PVOID ApcContext /*OPTIONAL*/, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, + /*IN*/ ULONG NotifyFilter, + /*IN*/ BOOLEAN WatchSubtree, + /*IN*/ PVOID Buffer, + /*IN*/ ULONG BufferLength, + /*IN*/ BOOLEAN Asynchronous +); + NTSYSAPI NTSTATUS NTAPI @@ -4316,6 +4561,15 @@ ZwNotifyChangeKey ( /*IN*/ BOOLEAN Asynchronous ); +NTSYSAPI +NTSTATUS +NTAPI +NtOpenDirectoryObject ( + /*OUT*/ PHANDLE DirectoryHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes +); + NTSYSAPI NTSTATUS NTAPI @@ -4325,6 +4579,15 @@ ZwOpenDirectoryObject ( /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes ); +NTSYSAPI +NTSTATUS +NTAPI +NtOpenEvent ( + /*OUT*/ PHANDLE EventHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes +); + NTSYSAPI NTSTATUS NTAPI @@ -4334,6 +4597,16 @@ ZwOpenEvent ( /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes ); +NTSYSAPI +NTSTATUS +NTAPI +NtOpenProcess ( + /*OUT*/ PHANDLE ProcessHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, + /*IN*/ PCLIENT_ID ClientId /*OPTIONAL*/ +); + NTSYSAPI NTSTATUS NTAPI @@ -4344,6 +4617,15 @@ ZwOpenProcess ( /*IN*/ PCLIENT_ID ClientId /*OPTIONAL*/ ); +NTSYSAPI +NTSTATUS +NTAPI +NtOpenProcessToken ( + /*IN*/ HANDLE ProcessHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*OUT*/ PHANDLE TokenHandle +); + NTSYSAPI NTSTATUS NTAPI @@ -4353,6 +4635,16 @@ ZwOpenProcessToken ( /*OUT*/ PHANDLE TokenHandle ); +NTSYSAPI +NTSTATUS +NTAPI +NtOpenThread ( + /*OUT*/ PHANDLE ThreadHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, + /*IN*/ PCLIENT_ID ClientId +); + NTSYSAPI NTSTATUS NTAPI @@ -4363,6 +4655,16 @@ ZwOpenThread ( /*IN*/ PCLIENT_ID ClientId ); +NTSYSAPI +NTSTATUS +NTAPI +NtOpenThreadToken ( + /*IN*/ HANDLE ThreadHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ BOOLEAN OpenAsSelf, + /*OUT*/ PHANDLE TokenHandle +); + NTSYSAPI NTSTATUS NTAPI @@ -4375,6 +4677,17 @@ ZwOpenThreadToken ( #if (VER_PRODUCTBUILD >= 2195) +NTSYSAPI +NTSTATUS +NTAPI +NtPowerInformation ( + /*IN*/ POWER_INFORMATION_LEVEL PowerInformationLevel, + /*IN*/ PVOID InputBuffer /*OPTIONAL*/, + /*IN*/ ULONG InputBufferLength, + /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/, + /*IN*/ ULONG OutputBufferLength +); + NTSYSAPI NTSTATUS NTAPI @@ -4388,6 +4701,14 @@ ZwPowerInformation ( #endif /* (VER_PRODUCTBUILD >= 2195) */ +NTSYSAPI +NTSTATUS +NTAPI +NtPulseEvent ( + /*IN*/ HANDLE EventHandle, + /*OUT*/ PULONG PreviousState /*OPTIONAL*/ +); + NTSYSAPI NTSTATUS NTAPI @@ -4396,6 +4717,14 @@ ZwPulseEvent ( /*OUT*/ PULONG PreviousState /*OPTIONAL*/ ); +NTSYSAPI +NTSTATUS +NTAPI +NtQueryDefaultLocale ( + /*IN*/ BOOLEAN ThreadOrSystem, + /*OUT*/ PLCID Locale +); + NTSYSAPI NTSTATUS NTAPI @@ -4404,6 +4733,23 @@ ZwQueryDefaultLocale ( /*OUT*/ PLCID Locale ); +NTSYSAPI +NTSTATUS +NTAPI +NtQueryDirectoryFile ( + /*IN*/ HANDLE FileHandle, + /*IN*/ HANDLE Event /*OPTIONAL*/, + /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/, + /*IN*/ PVOID ApcContext /*OPTIONAL*/, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, + /*OUT*/ PVOID FileInformation, + /*IN*/ ULONG Length, + /*IN*/ FILE_INFORMATION_CLASS FileInformationClass, + /*IN*/ BOOLEAN ReturnSingleEntry, + /*IN*/ PUNICODE_STRING FileName /*OPTIONAL*/, + /*IN*/ BOOLEAN RestartScan +); + NTSYSAPI NTSTATUS NTAPI @@ -4423,6 +4769,19 @@ ZwQueryDirectoryFile ( #if (VER_PRODUCTBUILD >= 2195) +NTSYSAPI +NTSTATUS +NTAPI +NtQueryDirectoryObject ( + /*IN*/ HANDLE DirectoryHandle, + /*OUT*/ PVOID Buffer, + /*IN*/ ULONG Length, + /*IN*/ BOOLEAN ReturnSingleEntry, + /*IN*/ BOOLEAN RestartScan, + /*IN OUT*/ PULONG Context, + /*OUT*/ PULONG ReturnLength /*OPTIONAL*/ +); + NTSYSAPI NTSTATUS NTAPI @@ -4436,6 +4795,21 @@ ZwQueryDirectoryObject ( /*OUT*/ PULONG ReturnLength /*OPTIONAL*/ ); +NTSYSAPI +NTSTATUS +NTAPI +NtQueryEaFile ( + /*IN*/ HANDLE FileHandle, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, + /*OUT*/ PVOID Buffer, + /*IN*/ ULONG Length, + /*IN*/ BOOLEAN ReturnSingleEntry, + /*IN*/ PVOID EaList /*OPTIONAL*/, + /*IN*/ ULONG EaListLength, + /*IN*/ PULONG EaIndex /*OPTIONAL*/, + /*IN*/ BOOLEAN RestartScan +); + NTSYSAPI NTSTATUS NTAPI @@ -4453,6 +4827,17 @@ ZwQueryEaFile ( #endif /* (VER_PRODUCTBUILD >= 2195) */ +NTSYSAPI +NTSTATUS +NTAPI +NtQueryInformationProcess ( + /*IN*/ HANDLE ProcessHandle, + /*IN*/ PROCESSINFOCLASS ProcessInformationClass, + /*OUT*/ PVOID ProcessInformation, + /*IN*/ ULONG ProcessInformationLength, + /*OUT*/ PULONG ReturnLength /*OPTIONAL*/ +); + NTSYSAPI NTSTATUS NTAPI @@ -4464,6 +4849,17 @@ ZwQueryInformationProcess ( /*OUT*/ PULONG ReturnLength /*OPTIONAL*/ ); +NTSYSAPI +NTSTATUS +NTAPI +NtQueryInformationToken ( + /*IN*/ HANDLE TokenHandle, + /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass, + /*OUT*/ PVOID TokenInformation, + /*IN*/ ULONG Length, + /*OUT*/ PULONG ResultLength +); + NTSYSAPI NTSTATUS NTAPI @@ -4475,6 +4871,17 @@ ZwQueryInformationToken ( /*OUT*/ PULONG ResultLength ); +NTSYSAPI +NTSTATUS +NTAPI +NtQueryObject ( + /*IN*/ HANDLE ObjectHandle, + /*IN*/ OBJECT_INFORMATION_CLASS ObjectInformationClass, + /*OUT*/ PVOID ObjectInformation, + /*IN*/ ULONG Length, + /*OUT*/ PULONG ResultLength +); + NTSYSAPI NTSTATUS NTAPI @@ -4486,6 +4893,17 @@ ZwQueryObject ( /*OUT*/ PULONG ResultLength ); +NTSYSAPI +NTSTATUS +NTAPI +NtQuerySection ( + /*IN*/ HANDLE SectionHandle, + /*IN*/ SECTION_INFORMATION_CLASS SectionInformationClass, + /*OUT*/ PVOID SectionInformation, + /*IN*/ ULONG SectionInformationLength, + /*OUT*/ PULONG ResultLength /*OPTIONAL*/ +); + NTSYSAPI NTSTATUS NTAPI @@ -4497,6 +4915,17 @@ ZwQuerySection ( /*OUT*/ PULONG ResultLength /*OPTIONAL*/ ); +NTSYSAPI +NTSTATUS +NTAPI +NtQuerySecurityObject ( + /*IN*/ HANDLE FileHandle, + /*IN*/ SECURITY_INFORMATION SecurityInformation, + /*OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor, + /*IN*/ ULONG Length, + /*OUT*/ PULONG ResultLength +); + NTSYSAPI NTSTATUS NTAPI @@ -4508,6 +4937,16 @@ ZwQuerySecurityObject ( /*OUT*/ PULONG ResultLength ); +NTSYSAPI +NTSTATUS +NTAPI +NtQuerySystemInformation ( + /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass, + /*OUT*/ PVOID SystemInformation, + /*IN*/ ULONG Length, + /*OUT*/ PULONG ReturnLength +); + NTSYSAPI NTSTATUS NTAPI @@ -4518,6 +4957,17 @@ ZwQuerySystemInformation ( /*OUT*/ PULONG ReturnLength ); +NTSYSAPI +NTSTATUS +NTAPI +NtQueryVolumeInformationFile ( + /*IN*/ HANDLE FileHandle, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, + /*OUT*/ PVOID FsInformation, + /*IN*/ ULONG Length, + /*IN*/ FS_INFORMATION_CLASS FsInformationClass +); + NTSYSAPI NTSTATUS NTAPI @@ -4529,6 +4979,15 @@ ZwQueryVolumeInformationFile ( /*IN*/ FS_INFORMATION_CLASS FsInformationClass ); +NTSYSAPI +NTSTATUS +NTAPI +NtReplaceKey ( + /*IN*/ POBJECT_ATTRIBUTES NewFileObjectAttributes, + /*IN*/ HANDLE KeyHandle, + /*IN*/ POBJECT_ATTRIBUTES OldFileObjectAttributes +); + NTSYSAPI NTSTATUS NTAPI @@ -4538,6 +4997,14 @@ ZwReplaceKey ( /*IN*/ POBJECT_ATTRIBUTES OldFileObjectAttributes ); +NTSYSAPI +NTSTATUS +NTAPI +NtResetEvent ( + /*IN*/ HANDLE EventHandle, + /*OUT*/ PULONG PreviousState /*OPTIONAL*/ +); + NTSYSAPI NTSTATUS NTAPI @@ -4548,6 +5015,15 @@ ZwResetEvent ( #if (VER_PRODUCTBUILD >= 2195) +NTSYSAPI +NTSTATUS +NTAPI +NtRestoreKey ( + /*IN*/ HANDLE KeyHandle, + /*IN*/ HANDLE FileHandle, + /*IN*/ ULONG Flags +); + NTSYSAPI NTSTATUS NTAPI @@ -4559,6 +5035,14 @@ ZwRestoreKey ( #endif /* (VER_PRODUCTBUILD >= 2195) */ +NTSYSAPI +NTSTATUS +NTAPI +NtSaveKey ( + /*IN*/ HANDLE KeyHandle, + /*IN*/ HANDLE FileHandle +); + NTSYSAPI NTSTATUS NTAPI @@ -4567,6 +5051,14 @@ ZwSaveKey ( /*IN*/ HANDLE FileHandle ); +NTSYSAPI +NTSTATUS +NTAPI +NtSetDefaultLocale ( + /*IN*/ BOOLEAN ThreadOrSystem, + /*IN*/ LCID Locale +); + NTSYSAPI NTSTATUS NTAPI @@ -4577,6 +5069,13 @@ ZwSetDefaultLocale ( #if (VER_PRODUCTBUILD >= 2195) +NTSYSAPI +NTSTATUS +NTAPI +NtSetDefaultUILanguage ( + /*IN*/ LANGID LanguageId +); + NTSYSAPI NTSTATUS NTAPI @@ -4584,6 +5083,16 @@ ZwSetDefaultUILanguage ( /*IN*/ LANGID LanguageId ); +NTSYSAPI +NTSTATUS +NTAPI +NtSetEaFile ( + /*IN*/ HANDLE FileHandle, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, + /*OUT*/ PVOID Buffer, + /*IN*/ ULONG Length +); + NTSYSAPI NTSTATUS NTAPI @@ -4596,6 +5105,14 @@ ZwSetEaFile ( #endif /* (VER_PRODUCTBUILD >= 2195) */ +NTSYSAPI +NTSTATUS +NTAPI +NtSetEvent ( + /*IN*/ HANDLE EventHandle, + /*OUT*/ PULONG PreviousState /*OPTIONAL*/ +); + NTSYSAPI NTSTATUS NTAPI @@ -4604,6 +5121,16 @@ ZwSetEvent ( /*OUT*/ PULONG PreviousState /*OPTIONAL*/ ); +NTSYSAPI +NTSTATUS +NTAPI +NtSetInformationObject ( + /*IN*/ HANDLE ObjectHandle, + /*IN*/ OBJECT_INFORMATION_CLASS ObjectInformationClass, + /*IN*/ PVOID ObjectInformation, + /*IN*/ ULONG ObjectInformationLength +); + NTSYSAPI NTSTATUS NTAPI @@ -4614,6 +5141,16 @@ ZwSetInformationObject ( /*IN*/ ULONG ObjectInformationLength ); +NTSYSAPI +NTSTATUS +NTAPI +NtSetInformationProcess ( + /*IN*/ HANDLE ProcessHandle, + /*IN*/ PROCESSINFOCLASS ProcessInformationClass, + /*IN*/ PVOID ProcessInformation, + /*IN*/ ULONG ProcessInformationLength +); + NTSYSAPI NTSTATUS NTAPI @@ -4626,6 +5163,15 @@ ZwSetInformationProcess ( #if (VER_PRODUCTBUILD >= 2195) +NTSYSAPI +NTSTATUS +NTAPI +NtSetSecurityObject ( + /*IN*/ HANDLE Handle, + /*IN*/ SECURITY_INFORMATION SecurityInformation, + /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor +); + NTSYSAPI NTSTATUS NTAPI @@ -4637,6 +5183,15 @@ ZwSetSecurityObject ( #endif /* (VER_PRODUCTBUILD >= 2195) */ +NTSYSAPI +NTSTATUS +NTAPI +NtSetSystemInformation ( + /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass, + /*IN*/ PVOID SystemInformation, + /*IN*/ ULONG Length +); + NTSYSAPI NTSTATUS NTAPI @@ -4646,6 +5201,14 @@ ZwSetSystemInformation ( /*IN*/ ULONG Length ); +NTSYSAPI +NTSTATUS +NTAPI +NtSetSystemTime ( + /*IN*/ PLARGE_INTEGER NewTime, + /*OUT*/ PLARGE_INTEGER OldTime /*OPTIONAL*/ +); + NTSYSAPI NTSTATUS NTAPI @@ -4656,6 +5219,17 @@ ZwSetSystemTime ( #if (VER_PRODUCTBUILD >= 2195) +NTSYSAPI +NTSTATUS +NTAPI +NtSetVolumeInformationFile ( + /*IN*/ HANDLE FileHandle, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, + /*IN*/ PVOID FsInformation, + /*IN*/ ULONG Length, + /*IN*/ FS_INFORMATION_CLASS FsInformationClass +); + NTSYSAPI NTSTATUS NTAPI @@ -4669,6 +5243,14 @@ ZwSetVolumeInformationFile ( #endif /* (VER_PRODUCTBUILD >= 2195) */ +NTSYSAPI +NTSTATUS +NTAPI +NtTerminateProcess ( + /*IN*/ HANDLE ProcessHandle /*OPTIONAL*/, + /*IN*/ NTSTATUS ExitStatus +); + NTSYSAPI NTSTATUS NTAPI @@ -4677,6 +5259,14 @@ ZwTerminateProcess ( /*IN*/ NTSTATUS ExitStatus ); +NTSYSAPI +NTSTATUS +NTAPI +NtUnloadDriver ( + /* "\\Registry\\Machine\\System\\CurrentControlSet\\Services\\" */ + /*IN*/ PUNICODE_STRING RegistryPath +); + NTSYSAPI NTSTATUS NTAPI @@ -4685,6 +5275,13 @@ ZwUnloadDriver ( /*IN*/ PUNICODE_STRING RegistryPath ); +NTSYSAPI +NTSTATUS +NTAPI +NtUnloadKey ( + /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes +); + NTSYSAPI NTSTATUS NTAPI @@ -4692,6 +5289,15 @@ ZwUnloadKey ( /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes ); +NTSYSAPI +NTSTATUS +NTAPI +NtWaitForSingleObject ( + /*IN*/ HANDLE Handle, + /*IN*/ BOOLEAN Alertable, + /*IN*/ PLARGE_INTEGER Timeout /*OPTIONAL*/ +); + NTSYSAPI NTSTATUS NTAPI @@ -4701,6 +5307,17 @@ ZwWaitForSingleObject ( /*IN*/ PLARGE_INTEGER Timeout /*OPTIONAL*/ ); +NTSYSAPI +NTSTATUS +NTAPI +NtWaitForMultipleObjects ( + /*IN*/ ULONG HandleCount, + /*IN*/ PHANDLE Handles, + /*IN*/ WAIT_TYPE WaitType, + /*IN*/ BOOLEAN Alertable, + /*IN*/ PLARGE_INTEGER Timeout /*OPTIONAL*/ +); + NTSYSAPI NTSTATUS NTAPI @@ -4712,6 +5329,13 @@ ZwWaitForMultipleObjects ( /*IN*/ PLARGE_INTEGER Timeout /*OPTIONAL*/ ); +NTSYSAPI +NTSTATUS +NTAPI +NtYieldExecution ( + VOID +); + NTSYSAPI NTSTATUS NTAPI diff --git a/winsup/w32api/include/ddk/winddk.h b/winsup/w32api/include/ddk/winddk.h index 964aeefaf..4b8f78226 100644 --- a/winsup/w32api/include/ddk/winddk.h +++ b/winsup/w32api/include/ddk/winddk.h @@ -8573,6 +8573,13 @@ NtQueryInformationProcess( /** NtXxx and ZwXxx routines **/ +NTOSAPI +NTSTATUS +DDKAPI +NtCancelTimer( + /*IN*/ HANDLE TimerHandle, + /*OUT*/ PBOOLEAN CurrentState /*OPTIONAL*/); + NTOSAPI NTSTATUS DDKAPI @@ -8592,6 +8599,14 @@ DDKAPI ZwClose( /*IN*/ HANDLE Handle); +NTOSAPI +NTSTATUS +DDKAPI +NtCreateDirectoryObject( + /*OUT*/ PHANDLE DirectoryHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); + NTOSAPI NTSTATUS DDKAPI @@ -8620,6 +8635,22 @@ ZwCreateEvent( /*IN*/ BOOLEAN ManualReset, /*IN*/ BOOLEAN InitialState); +NTOSAPI +NTSTATUS +DDKAPI +NtCreateFile( + /*OUT*/ PHANDLE FileHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, + /*IN*/ PLARGE_INTEGER AllocationSize /*OPTIONAL*/, + /*IN*/ ULONG FileAttributes, + /*IN*/ ULONG ShareAccess, + /*IN*/ ULONG CreateDisposition, + /*IN*/ ULONG CreateOptions, + /*IN*/ PVOID EaBuffer /*OPTIONAL*/, + /*IN*/ ULONG EaLength); + NTOSAPI NTSTATUS DDKAPI @@ -8636,6 +8667,18 @@ ZwCreateFile( /*IN*/ PVOID EaBuffer /*OPTIONAL*/, /*IN*/ ULONG EaLength); +NTOSAPI +NTSTATUS +DDKAPI +NtCreateKey( + /*OUT*/ PHANDLE KeyHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, + /*IN*/ ULONG TitleIndex, + /*IN*/ PUNICODE_STRING Class /*OPTIONAL*/, + /*IN*/ ULONG CreateOptions, + /*OUT*/ PULONG Disposition /*OPTIONAL*/); + NTOSAPI NTSTATUS DDKAPI @@ -8648,6 +8691,15 @@ ZwCreateKey( /*IN*/ ULONG CreateOptions, /*OUT*/ PULONG Disposition /*OPTIONAL*/); +NTOSAPI +NTSTATUS +DDKAPI +NtCreateTimer( + /*OUT*/ PHANDLE TimerHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes /*OPTIONAL*/, + /*IN*/ TIMER_TYPE TimerType); + NTOSAPI NTSTATUS DDKAPI @@ -8657,12 +8709,25 @@ ZwCreateTimer( /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes /*OPTIONAL*/, /*IN*/ TIMER_TYPE TimerType); +NTOSAPI +NTSTATUS +DDKAPI +NtDeleteKey( + /*IN*/ HANDLE KeyHandle); + NTOSAPI NTSTATUS DDKAPI ZwDeleteKey( /*IN*/ HANDLE KeyHandle); +NTOSAPI +NTSTATUS +DDKAPI +NtDeleteValueKey( + /*IN*/ HANDLE KeyHandle, + /*IN*/ PUNICODE_STRING ValueName); + NTOSAPI NTSTATUS DDKAPI @@ -8700,6 +8765,17 @@ ZwDeviceIoControlFile( /*OUT*/ PVOID OutputBuffer, /*IN*/ ULONG OutputBufferSize); +NTOSAPI +NTSTATUS +DDKAPI +NtEnumerateKey( + /*IN*/ HANDLE KeyHandle, + /*IN*/ ULONG Index, + /*IN*/ KEY_INFORMATION_CLASS KeyInformationClass, + /*OUT*/ PVOID KeyInformation, + /*IN*/ ULONG Length, + /*OUT*/ PULONG ResultLength); + NTOSAPI NTSTATUS DDKAPI @@ -8711,6 +8787,17 @@ ZwEnumerateKey( /*IN*/ ULONG Length, /*OUT*/ PULONG ResultLength); +NTOSAPI +NTSTATUS +DDKAPI +NtEnumerateValueKey( + /*IN*/ HANDLE KeyHandle, + /*IN*/ ULONG Index, + /*IN*/ KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, + /*OUT*/ PVOID KeyValueInformation, + /*IN*/ ULONG Length, + /*OUT*/ PULONG ResultLength); + NTOSAPI NTSTATUS DDKAPI @@ -8722,12 +8809,24 @@ ZwEnumerateValueKey( /*IN*/ ULONG Length, /*OUT*/ PULONG ResultLength); +NTOSAPI +NTSTATUS +DDKAPI +NtFlushKey( + /*IN*/ HANDLE KeyHandle); + NTOSAPI NTSTATUS DDKAPI ZwFlushKey( /*IN*/ HANDLE KeyHandle); +NTOSAPI +NTSTATUS +DDKAPI +NtMakeTemporaryObject( + /*IN*/ HANDLE Handle); + NTOSAPI NTSTATUS DDKAPI @@ -8786,6 +8885,14 @@ ZwOpenFile( /*IN*/ ULONG ShareAccess, /*IN*/ ULONG OpenOptions); +NTOSAPI +NTSTATUS +DDKAPI +NtOpenKey( + /*OUT*/ PHANDLE KeyHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); + NTOSAPI NTSTATUS DDKAPI @@ -8794,6 +8901,14 @@ ZwOpenKey( /*IN*/ ACCESS_MASK DesiredAccess, /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); +NTOSAPI +NTSTATUS +DDKAPI +NtOpenSection( + /*OUT*/ PHANDLE SectionHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); + NTOSAPI NTSTATUS DDKAPI @@ -8802,6 +8917,14 @@ ZwOpenSection( /*IN*/ ACCESS_MASK DesiredAccess, /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); +NTOSAPI +NTSTATUS +DDKAPI +NtOpenSymbolicLinkObject( + /*OUT*/ PHANDLE LinkHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); + NTOSAPI NTSTATUS DDKAPI @@ -8810,6 +8933,14 @@ ZwOpenSymbolicLinkObject( /*IN*/ ACCESS_MASK DesiredAccess, /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); +NTOSAPI +NTSTATUS +DDKAPI +NtOpenTimer( + /*OUT*/ PHANDLE TimerHandle, + /*IN*/ ACCESS_MASK DesiredAccess, + /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); + NTOSAPI NTSTATUS DDKAPI @@ -8818,6 +8949,16 @@ ZwOpenTimer( /*IN*/ ACCESS_MASK DesiredAccess, /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); +NTOSAPI +NTSTATUS +DDKAPI +NtQueryInformationFile( + /*IN*/ HANDLE FileHandle, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, + /*OUT*/ PVOID FileInformation, + /*IN*/ ULONG Length, + /*IN*/ FILE_INFORMATION_CLASS FileInformationClass); + NTOSAPI NTSTATUS DDKAPI @@ -8828,6 +8969,16 @@ ZwQueryInformationFile( /*IN*/ ULONG Length, /*IN*/ FILE_INFORMATION_CLASS FileInformationClass); +NTOSAPI +NTSTATUS +DDKAPI +NtQueryKey( + /*IN*/ HANDLE KeyHandle, + /*IN*/ KEY_INFORMATION_CLASS KeyInformationClass, + /*OUT*/ PVOID KeyInformation, + /*IN*/ ULONG Length, + /*OUT*/ PULONG ResultLength); + NTOSAPI NTSTATUS DDKAPI @@ -8838,6 +8989,14 @@ ZwQueryKey( /*IN*/ ULONG Length, /*OUT*/ PULONG ResultLength); +NTOSAPI +NTSTATUS +DDKAPI +NtQuerySymbolicLinkObject( + /*IN*/ HANDLE LinkHandle, + /*IN OUT*/ PUNICODE_STRING LinkTarget, + /*OUT*/ PULONG ReturnedLength /*OPTIONAL*/); + NTOSAPI NTSTATUS DDKAPI @@ -8846,6 +9005,17 @@ ZwQuerySymbolicLinkObject( /*IN OUT*/ PUNICODE_STRING LinkTarget, /*OUT*/ PULONG ReturnedLength /*OPTIONAL*/); +NTOSAPI +NTSTATUS +DDKAPI +NtQueryValueKey( + /*IN*/ HANDLE KeyHandle, + /*IN*/ PUNICODE_STRING ValueName, + /*IN*/ KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, + /*OUT*/ PVOID KeyValueInformation, + /*IN*/ ULONG Length, + /*OUT*/ PULONG ResultLength); + NTOSAPI NTSTATUS DDKAPI @@ -8899,6 +9069,16 @@ ZwSetEvent( /*IN*/ HANDLE EventHandle, /*IN*/ PULONG NumberOfThreadsReleased); +NTOSAPI +NTSTATUS +DDKAPI +NtSetInformationFile( + /*IN*/ HANDLE FileHandle, + /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, + /*IN*/ PVOID FileInformation, + /*IN*/ ULONG Length, + /*IN*/ FILE_INFORMATION_CLASS FileInformationClass); + NTOSAPI NTSTATUS DDKAPI @@ -8909,6 +9089,15 @@ ZwSetInformationFile( /*IN*/ ULONG Length, /*IN*/ FILE_INFORMATION_CLASS FileInformationClass); +NTOSAPI +NTSTATUS +DDKAPI +NtSetInformationThread( + /*IN*/ HANDLE ThreadHandle, + /*IN*/ THREADINFOCLASS ThreadInformationClass, + /*IN*/ PVOID ThreadInformation, + /*IN*/ ULONG ThreadInformationLength); + NTOSAPI NTSTATUS DDKAPI @@ -8918,6 +9107,18 @@ ZwSetInformationThread( /*IN*/ PVOID ThreadInformation, /*IN*/ ULONG ThreadInformationLength); +NTOSAPI +NTSTATUS +DDKAPI +NtSetTimer( + /*IN*/ HANDLE TimerHandle, + /*IN*/ PLARGE_INTEGER DueTime, + /*IN*/ PTIMER_APC_ROUTINE TimerApcRoutine /*OPTIONAL*/, + /*IN*/ PVOID TimerContext /*OPTIONAL*/, + /*IN*/ BOOLEAN WakeTimer, + /*IN*/ LONG Period /*OPTIONAL*/, + /*OUT*/ PBOOLEAN PreviousState /*OPTIONAL*/); + NTOSAPI NTSTATUS DDKAPI @@ -8930,6 +9131,17 @@ ZwSetTimer( /*IN*/ LONG Period /*OPTIONAL*/, /*OUT*/ PBOOLEAN PreviousState /*OPTIONAL*/); +NTOSAPI +NTSTATUS +DDKAPI +NtSetValueKey( + /*IN*/ HANDLE KeyHandle, + /*IN*/ PUNICODE_STRING ValueName, + /*IN*/ ULONG TitleIndex /*OPTIONAL*/, + /*IN*/ ULONG Type, + /*IN*/ PVOID Data, + /*IN*/ ULONG DataSize); + NTOSAPI NTSTATUS DDKAPI diff --git a/winsup/w32api/lib/ntdll.def b/winsup/w32api/lib/ntdll.def index d87cf392d..29b94c3fd 100644 --- a/winsup/w32api/lib/ntdll.def +++ b/winsup/w32api/lib/ntdll.def @@ -170,6 +170,7 @@ NtOpenSymbolicLinkObject@12 NtOpenThread@16 NtOpenThreadToken@16 NtOpenTimer@12 +NtPlugPlayControl@12 NtPowerInformation@20 NtPrivilegeCheck@12 NtPrivilegedServiceAuditAlarm@20 @@ -191,6 +192,7 @@ NtQueryInformationPort@20 NtQueryInformationProcess@20 NtQueryInformationThread@20 NtQueryInformationToken@20 +NtQueryInstallUILanguage@4 NtQueryIntervalProfile@8 NtQueryIoCompletion@20 NtQueryKey@20 @@ -792,6 +794,7 @@ ZwOpenSymbolicLinkObject@12 ZwOpenThread@16 ZwOpenThreadToken@16 ZwOpenTimer@12 +ZwPlugPlayControl@12 ZwPowerInformation@20 ZwPrivilegeCheck@12 ZwPrivilegedServiceAuditAlarm@20 @@ -813,6 +816,7 @@ ZwQueryInformationPort@20 ZwQueryInformationProcess@20 ZwQueryInformationThread@20 ZwQueryInformationToken@20 +ZwQueryInstallUILanguage@4 ZwQueryIntervalProfile@8 ZwQueryIoCompletion@20 ZwQueryKey@20