diff --git a/reactos/include/ndk/cmfuncs.h b/reactos/include/ndk/cmfuncs.h index 9d5aec223e6..7f0d65552a3 100644 --- a/reactos/include/ndk/cmfuncs.h +++ b/reactos/include/ndk/cmfuncs.h @@ -27,6 +27,20 @@ Author: // // Native calls // +NTSTATUS +NTAPI +NtCompactKeys( + IN ULONG Count, + IN PHANDLE KeyArray +); + +NTSTATUS +NTAPI +NtCompressKey( + IN HANDLE Key, + IN ULONG Mode +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -120,6 +134,31 @@ NtLoadKey2( IN ULONG Flags ); +NTSTATUS +NTAPI +NtLoadKeyEx( + IN POBJECT_ATTRIBUTES TargetKey, + IN POBJECT_ATTRIBUTES SourceFile, + IN ULONG Flags, + IN HANDLE TrustClassKey, + IN HANDLE Event, + IN ACCESS_MASK DesiredAccess, + OUT PHANDLE RootHandle +); + +NTSTATUS +NTAPI +NtLockProductActivationKeys( + IN PULONG pPrivateVer, + IN PULONG pSafeMode +); + +NTSTATUS +NTAPI +NtLockRegistryKey( + IN HANDLE KeyHandle +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -136,6 +175,23 @@ NtNotifyChangeKey( IN BOOLEAN WatchSubtree ); +NTSTATUS +NTAPI +NtNotifyChangeMultipleKeys( + IN HANDLE MasterKeyHandle, + IN ULONG Count, + IN POBJECT_ATTRIBUTES SlaveObjects, + IN HANDLE Event, + IN PIO_APC_ROUTINE ApcRoutine OPTIONAL, + IN PVOID ApcContext OPTIONAL, + OUT PIO_STATUS_BLOCK IoStatusBlock, + IN ULONG CompletionFilter, + IN BOOLEAN WatchTree, + OUT PVOID Buffer, + IN ULONG Length, + IN BOOLEAN Asynchronous +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -177,6 +233,22 @@ NtQueryMultipleValueKey( OUT PULONG ReturnLength ); +NTSTATUS +NTAPI +NtQueryOpenSubKeys( + IN POBJECT_ATTRIBUTES TargetKey, + IN ULONG HandleCount +); + +NTSTATUS +NTAPI +NtQueryOpenSubKeysEx( + IN POBJECT_ATTRIBUTES TargetKey, + IN ULONG BufferLength, + IN PVOID Buffer, + IN PULONG RequiredSize +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -224,6 +296,15 @@ NtSaveKeyEx( IN ULONG Flags ); + +NTSTATUS +NTAPI +NtSaveMergedKeys( + IN HANDLE HighPrecedenceKeyHandle, + IN HANDLE LowPrecedenceKeyHandle, + IN HANDLE FileHandle +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -253,6 +334,20 @@ NtUnloadKey( IN POBJECT_ATTRIBUTES KeyObjectAttributes ); +NTSTATUS +NTAPI +NtUnloadKey2( + IN POBJECT_ATTRIBUTES TargetKey, + IN ULONG Flags +); + +NTSTATUS +NTAPI +NtUnloadKeyEx( + IN POBJECT_ATTRIBUTES TargetKey, + IN HANDLE Event +); + #ifdef NTOS_MODE_USER NTSYSAPI NTSTATUS diff --git a/reactos/include/ndk/exfuncs.h b/reactos/include/ndk/exfuncs.h index 87b1263ef56..58a2d7421ad 100644 --- a/reactos/include/ndk/exfuncs.h +++ b/reactos/include/ndk/exfuncs.h @@ -142,6 +142,15 @@ NtCreateEventPair( IN POBJECT_ATTRIBUTES ObjectAttributes ); +NTSTATUS +NTAPI +NtCreateKeyedEvent( + OUT PHANDLE KeyedEventHandle, + IN ACCESS_MASK DesiredAccess, + IN POBJECT_ATTRIBUTES ObjectAttributes, + IN ULONG Flags +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -187,6 +196,15 @@ NtDisplayString( IN PUNICODE_STRING DisplayString ); + +NTSTATUS +NTAPI +NtEnumerateSystemEnvironmentValuesEx( + IN ULONG InformationClass, + IN PVOID Buffer, + IN ULONG BufferLength +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -334,6 +352,13 @@ NtQuerySystemEnvironmentValue( PULONG ReturnLength ); +NTSTATUS +NTAPI +NtQuerySystemEnvironmentValueEx( + IN PUNICODE_STRING VariableName, + IN LPGUID VendorGuid +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -475,6 +500,13 @@ NtSetSystemEnvironmentValue( IN PUNICODE_STRING Value ); +NTSTATUS +NTAPI +NtSetSystemEnvironmentValueEx( + IN PUNICODE_STRING VariableName, + IN LPGUID VendorGuid +); + NTSYSCALLAPI NTSTATUS NTAPI diff --git a/reactos/include/ndk/iofuncs.h b/reactos/include/ndk/iofuncs.h index f3158ba0d1f..20c7488da5f 100644 --- a/reactos/include/ndk/iofuncs.h +++ b/reactos/include/ndk/iofuncs.h @@ -36,6 +36,14 @@ NtAddBootEntry( IN ULONG Id ); +NTSYSCALLAPI +NTSTATUS +NTAPI +NtAddDriverEntry( + IN PBOOT_ENTRY BootEntry, + IN ULONG Id +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -105,6 +113,14 @@ NtCreateNamedPipeFile( IN PLARGE_INTEGER DefaultTimeOut ); + +NTSYSCALLAPI +NTSTATUS +NTAPI +NtDeleteDriverEntry( + IN ULONG Id +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -143,6 +159,14 @@ NtEnumerateBootEntries( IN PULONG BufferLength ); +NTSYSCALLAPI +NTSTATUS +NTAPI +NtEnumerateDriverEntries( + IN PVOID Buffer, + IN PULONG BufferLength +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -195,6 +219,20 @@ NtLockFile( IN BOOLEAN ExclusiveLock ); +NTSYSCALLAPI +NTSTATUS +NTAPI +NtModifyBootEntry( + IN PBOOT_ENTRY BootEntry +); + +NTSYSCALLAPI +NTSTATUS +NTAPI +NtModifyDriverEntry( + IN PEFI_DRIVER_ENTRY DriverEntry +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -239,6 +277,13 @@ NtQueryAttributesFile( OUT PFILE_BASIC_INFORMATION FileInformation ); +NTSTATUS +NTAPI +NtQueryDriverEntryOrder( + IN PULONG Ids, + IN PULONG Count +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -400,6 +445,13 @@ NtSetBootOptions( IN ULONG FieldsToChange ); +NTSTATUS +NTAPI +NtSetDriverEntryOrder( + IN PULONG Ids, + IN PULONG Count +); + NTSYSCALLAPI NTSTATUS NTAPI diff --git a/reactos/include/ndk/kefuncs.h b/reactos/include/ndk/kefuncs.h index 6ee12b376da..e764386feb1 100644 --- a/reactos/include/ndk/kefuncs.h +++ b/reactos/include/ndk/kefuncs.h @@ -357,6 +357,12 @@ NtFlushInstructionCache( IN ULONG NumberOfBytesToFlush ); +ULONG +NTAPI +NtGetCurrentProcessorNumber( + VOID +); + NTSYSCALLAPI NTSTATUS NTAPI diff --git a/reactos/include/ndk/lpcfuncs.h b/reactos/include/ndk/lpcfuncs.h index 055f8ba4c1e..bde2e363043 100644 --- a/reactos/include/ndk/lpcfuncs.h +++ b/reactos/include/ndk/lpcfuncs.h @@ -109,6 +109,12 @@ NtQueryInformationPort( PULONG ReturnLength ); +NTSTATUS +NTAPI +NtQueryPortInformationProcess( + VOID +); + NTSYSCALLAPI NTSTATUS NTAPI diff --git a/reactos/include/ndk/mmfuncs.h b/reactos/include/ndk/mmfuncs.h index 929975cbdf3..c0b13277873 100644 --- a/reactos/include/ndk/mmfuncs.h +++ b/reactos/include/ndk/mmfuncs.h @@ -64,6 +64,14 @@ NtAreMappedFilesTheSame( IN PVOID File2MappedAsFile ); +NTSTATUS +NTAPI +NtAllocateUserPhysicalPages( + IN HANDLE ProcessHandle, + IN OUT PULONG NumberOfPages, + IN OUT PULONG UserPfnArray +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -117,6 +125,14 @@ NtFlushVirtualMemory( OUT PULONG NumberOfBytesFlushed OPTIONAL ); +NTSTATUS +NTAPI +NtFreeUserPhysicalPages( + IN HANDLE ProcessHandle, + IN OUT PULONG NumberOfPages, + IN OUT PULONG UserPfnArray +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -127,6 +143,19 @@ NtFreeVirtualMemory( IN ULONG FreeType ); + +NTSTATUS +NTAPI +NtGetWriteWatch( + IN HANDLE ProcessHandle, + IN ULONG Flags, + IN PVOID BaseAddress, + IN ULONG RegionSize, + IN PVOID *UserAddressArray, + OUT PULONG EntriesInUserAddressArray, + OUT PULONG Granularity +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -137,6 +166,22 @@ NtLockVirtualMemory( PULONG NumberOfBytesLocked ); +NTSTATUS +NTAPI +NtMapUserPhysicalPages( + IN PVOID *VirtualAddresses, + IN ULONG NumberOfPages, + IN OUT PULONG UserPfnArray +); + +NTSTATUS +NTAPI +NtMapUserPhysicalPagesScatter( + IN PVOID *VirtualAddresses, + IN ULONG NumberOfPages, + IN OUT PULONG UserPfnArray +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -207,6 +252,14 @@ NtReadVirtualMemory( OUT PULONG NumberOfBytesRead ); +NTSTATUS +NTAPI +NtResetWriteWatch( + IN HANDLE ProcessHandle, + IN PVOID BaseAddress, + IN ULONG RegionSize +); + NTSYSCALLAPI NTSTATUS NTAPI diff --git a/reactos/include/ndk/obfuncs.h b/reactos/include/ndk/obfuncs.h index fb3511a4130..eb55d2b4447 100644 --- a/reactos/include/ndk/obfuncs.h +++ b/reactos/include/ndk/obfuncs.h @@ -294,6 +294,16 @@ NtWaitForMultipleObjects( IN PLARGE_INTEGER Time ); +NTSTATUS +NTAPI +NtWaitForMultipleObjects32( + IN ULONG ObjectCount, + IN PLONG Handles, + IN WAIT_TYPE WaitType, + IN BOOLEAN Alertable, + IN PLARGE_INTEGER TimeOut OPTIONAL +); + NTSYSCALLAPI NTSTATUS NTAPI diff --git a/reactos/include/ndk/psfuncs.h b/reactos/include/ndk/psfuncs.h index a057c8dd48a..a9b3996c561 100644 --- a/reactos/include/ndk/psfuncs.h +++ b/reactos/include/ndk/psfuncs.h @@ -147,6 +147,14 @@ NtCreateJobObject( POBJECT_ATTRIBUTES ObjectAttributes ); +NTSTATUS +NTAPI +NtCreateJobSet( + IN ULONG NumJob, + IN PJOB_SET_ARRAY UserJobSet, + IN ULONG Flags +); + NTSYSCALLAPI NTSTATUS NTAPI @@ -161,6 +169,21 @@ NtCreateProcess( IN HANDLE ExceptionPort OPTIONAL ); +NTSYSCALLAPI +NTSTATUS +NTAPI +NtCreateProcessEx( + OUT PHANDLE ProcessHandle, + IN ACCESS_MASK DesiredAccess, + IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, + IN HANDLE ParentProcess, + IN ULONG Flags, + IN HANDLE SectionHandle OPTIONAL, + IN HANDLE DebugPort OPTIONAL, + IN HANDLE ExceptionPort OPTIONAL, + IN BOOLEAN InJob +); + NTSYSCALLAPI NTSTATUS NTAPI diff --git a/reactos/include/ndk/sefuncs.h b/reactos/include/ndk/sefuncs.h index 61d7d6c3f85..850b6004afd 100644 --- a/reactos/include/ndk/sefuncs.h +++ b/reactos/include/ndk/sefuncs.h @@ -98,6 +98,38 @@ NtAccessCheck( OUT PNTSTATUS AccessStatus ); +NTSTATUS +NTAPI +NtAccessCheckByType( + IN PSECURITY_DESCRIPTOR SecurityDescriptor, + IN PSID PrincipalSelfSid, + IN PTOKEN ClientToken, + IN ACCESS_MASK DesiredAccess, + IN POBJECT_TYPE_LIST ObjectTypeList, + IN ULONG ObjectTypeLength, + IN PGENERIC_MAPPING GenericMapping, + IN PPRIVILEGE_SET PrivilegeSet, + IN ULONG PrivilegeSetLength, + OUT PACCESS_MASK GrantedAccess, + OUT PNTSTATUS AccessStatus +); + +NTSTATUS +NTAPI +NtAccessCheckByTypeResultList( + IN PSECURITY_DESCRIPTOR SecurityDescriptor, + IN PSID PrincipalSelfSid, + IN PTOKEN ClientToken, + IN ACCESS_MASK DesiredAccess, + IN POBJECT_TYPE_LIST ObjectTypeList, + IN ULONG ObjectTypeLength, + IN PGENERIC_MAPPING GenericMapping, + IN PPRIVILEGE_SET PrivilegeSet, + IN ULONG PrivilegeSetLength, + OUT PACCESS_MASK GrantedAccess, + OUT PNTSTATUS AccessStatus +); + NTSYSCALLAPI NTSTATUS NTAPI diff --git a/reactos/ntoskrnl/ps/psmgr.c b/reactos/ntoskrnl/ps/psmgr.c index 6f699d1cccb..bed8efd9b5a 100644 --- a/reactos/ntoskrnl/ps/psmgr.c +++ b/reactos/ntoskrnl/ps/psmgr.c @@ -530,4 +530,14 @@ PsGetVersion(IN PULONG MajorVersion OPTIONAL, return (NtBuildNumber >> 28) == 0xC; } +typedef ULONG APPHELPCACHESERVICECLASS; +NTSTATUS +NTAPI +NtApphelpCacheControl(APPHELPCACHESERVICECLASS Service, + PVOID ServiceData) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} + /* EOF */ diff --git a/reactos/ntoskrnl/se/token.c b/reactos/ntoskrnl/se/token.c index 5c586682e8a..9c15b803de4 100644 --- a/reactos/ntoskrnl/se/token.c +++ b/reactos/ntoskrnl/se/token.c @@ -2750,4 +2750,17 @@ NtCompareTokens(IN HANDLE FirstTokenHandle, return Status; } +NTSTATUS +NTAPI +NtFilterToken(IN HANDLE ExistingTokenHandle, + IN ULONG Flags, + IN PTOKEN_GROUPS SidsToDisable OPTIONAL, + IN PTOKEN_PRIVILEGES PrivilegesToDelete OPTIONAL, + IN PTOKEN_GROUPS RestrictedSids OPTIONAL, + OUT PHANDLE NewTokenHandle) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} + /* EOF */