- Add NtApphelpCacheControl, NtFilterToken (WARNING: PATENTED. TAKE CARE WHEN IMPLEMENTING).

- Add all the recently added functions to their proper place in the NDK.

svn path=/trunk/; revision=24636
This commit is contained in:
Alex Ionescu 2006-10-23 21:19:15 +00:00
parent 4ccf5bf0a4
commit 57a9accaa9
11 changed files with 332 additions and 0 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -357,6 +357,12 @@ NtFlushInstructionCache(
IN ULONG NumberOfBytesToFlush
);
ULONG
NTAPI
NtGetCurrentProcessorNumber(
VOID
);
NTSYSCALLAPI
NTSTATUS
NTAPI

View file

@ -109,6 +109,12 @@ NtQueryInformationPort(
PULONG ReturnLength
);
NTSTATUS
NTAPI
NtQueryPortInformationProcess(
VOID
);
NTSYSCALLAPI
NTSTATUS
NTAPI

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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 */

View file

@ -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 */