- Move more stuff to wdm.h

- Improve more Ps* and Se* definitions

svn path=/branches/header-work/; revision=45877
This commit is contained in:
Amine Khaldi 2010-03-05 18:20:08 +00:00
parent a8a908e214
commit d1a7b6136c
2 changed files with 109 additions and 88 deletions

View file

@ -2400,6 +2400,68 @@ typedef struct _ACCESS_STATE {
UNICODE_STRING ObjectTypeName;
} ACCESS_STATE, *PACCESS_STATE;
/******************************************************************************
* Security Manager Functions *
******************************************************************************/
#if (NTDDI_VERSION >= NTDDI_WIN2K)
NTKERNELAPI
BOOLEAN
NTAPI
SeAccessCheck(
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext,
IN BOOLEAN SubjectContextLocked,
IN ACCESS_MASK DesiredAccess,
IN ACCESS_MASK PreviouslyGrantedAccess,
OUT PPRIVILEGE_SET *Privileges OPTIONAL,
IN PGENERIC_MAPPING GenericMapping,
IN KPROCESSOR_MODE AccessMode,
OUT PACCESS_MASK GrantedAccess,
OUT PNTSTATUS AccessStatus);
NTKERNELAPI
NTSTATUS
NTAPI
SeAssignSecurity(
IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,
IN PSECURITY_DESCRIPTOR ExplicitDescriptor OPTIONAL,
OUT PSECURITY_DESCRIPTOR *NewDescriptor,
IN BOOLEAN IsDirectoryObject,
IN PSECURITY_SUBJECT_CONTEXT SubjectContext,
IN PGENERIC_MAPPING GenericMapping,
IN POOL_TYPE PoolType);
NTKERNELAPI
NTSTATUS
NTAPI
SeAssignSecurityEx(
IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,
IN PSECURITY_DESCRIPTOR ExplicitDescriptor OPTIONAL,
OUT PSECURITY_DESCRIPTOR *NewDescriptor,
IN GUID *ObjectType OPTIONAL,
IN BOOLEAN IsDirectoryObject,
IN ULONG AutoInheritFlags,
IN PSECURITY_SUBJECT_CONTEXT SubjectContext,
IN PGENERIC_MAPPING GenericMapping,
IN POOL_TYPE PoolType);
NTKERNELAPI
NTSTATUS
NTAPI
SeDeassignSecurity(
IN OUT PSECURITY_DESCRIPTOR *SecurityDescriptor);
NTKERNELAPI
BOOLEAN
NTAPI
SeValidSecurityDescriptor(
IN ULONG Length,
IN PSECURITY_DESCRIPTOR SecurityDescriptor);
#endif
/******************************************************************************
* Power Types *
@ -9458,6 +9520,53 @@ ObReleaseObjectSecurity(
#endif
/******************************************************************************
* Process Manager Functions *
******************************************************************************/
/*
* PEPROCESS
* PsGetCurrentProcess(VOID)
*/
#define PsGetCurrentProcess IoGetCurrentProcess
#if !defined(_PSGETCURRENTTHREAD_)
#define _PSGETCURRENTTHREAD_
FORCEINLINE
PETHREAD
NTAPI
PsGetCurrentThread (
VOID)
{
return (PETHREAD)KeGetCurrentThread();
}
#endif
#if (NTDDI_VERSION >= NTDDI_WIN2K)
NTKERNELAPI
NTSTATUS
NTAPI
PsCreateSystemThread(
OUT PHANDLE ThreadHandle,
IN ULONG DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
IN HANDLE ProcessHandle OPTIONAL,
OUT PCLIENT_ID ClientId OPTIONAL,
IN PKSTART_ROUTINE StartRoutine,
IN PVOID StartContext OPTIONAL);
NTKERNELAPI
NTSTATUS
NTAPI
PsTerminateSystemThread(
IN NTSTATUS ExitStatus);
#define
/******************************************************************************
* Unsorted *

View file

@ -3324,37 +3324,12 @@ PsCreateSystemProcess(
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes);
NTKERNELAPI
NTSTATUS
NTAPI
PsCreateSystemThread(
OUT PHANDLE ThreadHandle,
IN ULONG DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
IN HANDLE ProcessHandle OPTIONAL,
OUT PCLIENT_ID ClientId OPTIONAL,
IN PKSTART_ROUTINE StartRoutine,
IN PVOID StartContext);
/*
* PEPROCESS
* PsGetCurrentProcess(VOID)
*/
#define PsGetCurrentProcess IoGetCurrentProcess
NTKERNELAPI
HANDLE
NTAPI
PsGetCurrentProcessId(
VOID);
/*
* PETHREAD
* PsGetCurrentThread(VOID)
*/
#define PsGetCurrentThread() \
((PETHREAD) KeGetCurrentThread())
NTKERNELAPI
HANDLE
NTAPI
@ -3406,64 +3381,10 @@ NTAPI
PsSetLoadImageNotifyRoutine(
IN PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine);
NTKERNELAPI
NTSTATUS
NTAPI
PsTerminateSystemThread(
IN NTSTATUS ExitStatus);
extern NTSYSAPI PEPROCESS PsInitialSystemProcess;
/** Security reference monitor routines **/
NTKERNELAPI
BOOLEAN
NTAPI
SeAccessCheck(
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext,
IN BOOLEAN SubjectContextLocked,
IN ACCESS_MASK DesiredAccess,
IN ACCESS_MASK PreviouslyGrantedAccess,
OUT PPRIVILEGE_SET *Privileges OPTIONAL,
IN PGENERIC_MAPPING GenericMapping,
IN KPROCESSOR_MODE AccessMode,
OUT PACCESS_MASK GrantedAccess,
OUT PNTSTATUS AccessStatus);
NTKERNELAPI
NTSTATUS
NTAPI
SeAssignSecurity(
IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,
IN PSECURITY_DESCRIPTOR ExplicitDescriptor OPTIONAL,
OUT PSECURITY_DESCRIPTOR *NewDescriptor,
IN BOOLEAN IsDirectoryObject,
IN PSECURITY_SUBJECT_CONTEXT SubjectContext,
IN PGENERIC_MAPPING GenericMapping,
IN POOL_TYPE PoolType);
NTKERNELAPI
NTSTATUS
NTAPI
SeAssignSecurityEx(
IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,
IN PSECURITY_DESCRIPTOR ExplicitDescriptor OPTIONAL,
OUT PSECURITY_DESCRIPTOR *NewDescriptor,
IN GUID *ObjectType OPTIONAL,
IN BOOLEAN IsDirectoryObject,
IN ULONG AutoInheritFlags,
IN PSECURITY_SUBJECT_CONTEXT SubjectContext,
IN PGENERIC_MAPPING GenericMapping,
IN POOL_TYPE PoolType);
NTKERNELAPI
NTSTATUS
NTAPI
SeDeassignSecurity(
IN OUT PSECURITY_DESCRIPTOR *SecurityDescriptor);
NTKERNELAPI
BOOLEAN
NTAPI
@ -3471,15 +3392,6 @@ SeSinglePrivilegeCheck(
LUID PrivilegeValue,
KPROCESSOR_MODE PreviousMode);
NTKERNELAPI
BOOLEAN
NTAPI
SeValidSecurityDescriptor(
IN ULONG Length,
IN PSECURITY_DESCRIPTOR SecurityDescriptor);
/** NtXxx routines **/
NTSYSCALLAPI