Added Ps Stubs and Prototypes.

svn path=/trunk/; revision=10222
This commit is contained in:
Alex Ionescu 2004-07-19 06:08:21 +00:00
parent 8aab59acbf
commit 87ea80f6b7
6 changed files with 1020 additions and 10 deletions

View file

@ -1,4 +1,4 @@
/* $Id: psfuncs.h,v 1.28 2004/03/14 18:10:41 ekohl Exp $
/* $Id: psfuncs.h,v 1.29 2004/07/19 06:08:21 ion Exp $
*/
#ifndef _INCLUDE_DDK_PSFUNCS_H
#define _INCLUDE_DDK_PSFUNCS_H
@ -53,8 +53,306 @@ PsCreateSystemProcess (PHANDLE ProcessHandle,
NTSTATUS STDCALL PsCreateWin32Process(struct _EPROCESS* Process);
NTSTATUS STDCALL PsCreateWin32Thread(struct _ETHREAD* Thread);
VOID
STDCALL PsChargePoolQuota(
IN PEPROCESS Process,
IN POOL_TYPE PoolType,
IN ULONG_PTR Amount
);
NTSTATUS
STDCALL PsChargeProcessNonPagedPoolQuota (
IN PEPROCESS Process,
IN ULONG_PTR Amount
);
NTSTATUS
STDCALL PsChargeProcessPagedPoolQuota (
IN PEPROCESS Process,
IN ULONG_PTR Amount
);
NTSTATUS
STDCALL PsChargeProcessPoolQuota(
IN PEPROCESS Process,
IN POOL_TYPE PoolType,
IN ULONG_PTR Amount
);
VOID
STDCALL PsDereferenceImpersonationToken(
IN PACCESS_TOKEN ImpersonationToken
);
VOID
STDCALL PsDereferencePrimaryToken(
IN PACCESS_TOKEN PrimaryToken
);
BOOLEAN
STDCALL PsDisableImpersonation(
IN struct _ETHREAD* Thread,
IN PSE_IMPERSONATION_STATE ImpersonationState
);
ULONG
STDCALL PsGetCurrentProcessSessionId (
VOID
);
KPROCESSOR_MODE
STDCALL PsGetCurrentThreadPreviousMode (
VOID
);
PVOID
STDCALL PsGetCurrentThreadStackBase (
VOID
);
PVOID
STDCALL PsGetCurrentThreadStackLimit (
VOID
);
PVOID
STDCALL PsGetJobLock(
PVOID */*PEJOB*/ Job
);
PVOID
STDCALL PsGetJobSessionId(
PVOID /*PEJOB*/ Job
);
ULONG
STDCALL PsGetJobUIRestrictionsClass(
PVOID /*PEJOB*/ Job
);
ULONG
STDCALL PsGetProcessCreateTimeQuadPart(
PEPROCESS Process
);
PVOID
STDCALL PsGetProcessDebugPort(
PEPROCESS Process
);
BOOLEAN
STDCALL PsGetProcessExitProcessCalled(
PEPROCESS Process
);
NTSTATUS
STDCALL PsGetProcessExitStatus(
PEPROCESS Process
);
HANDLE
STDCALL PsGetProcessId(
PEPROCESS Process
);
PWSTR
STDCALL PsGetProcessImageFileName(
PEPROCESS Process
);
HANDLE
STDCALL PsGetProcessInheritedFromUniqueProcessId(
PEPROCESS Process
);
PVOID /*PEJOB*/
STDCALL PsGetProcessJob(
PEPROCESS Process
);
PPEB
STDCALL PsGetProcessPeb(
PEPROCESS Process
);
ULONG
STDCALL PsGetProcessPriorityClass(
PEPROCESS Process
);
PVOID
STDCALL PsGetProcessSectionBaseAddress(
PEPROCESS Process
);
PVOID
STDCALL PsGetProcessSecurityPort(
PEPROCESS Process
);
HANDLE
STDCALL PsGetProcessSessionId(
PEPROCESS Process
);
PVOID
STDCALL PsGetProcessWin32Process(
PEPROCESS Process
);
PVOID
STDCALL PsGetProcessWin32WindowStation(
PEPROCESS Process
);
ULONG
STDCALL PsGetThreadFreezeCount(
struct _ETHREAD* Thread
);
BOOLEAN
STDCALL PsGetThreadHardErrorsAreDisabled(
struct _ETHREAD* Thread
);
HANDLE
STDCALL PsGetThreadId(
struct _ETHREAD* Thread
);
PEPROCESS
STDCALL PsGetThreadProcess(
struct _ETHREAD* Thread
);
HANDLE
STDCALL PsGetThreadProcessId(
struct _ETHREAD* Thread
);
HANDLE
STDCALL PsGetThreadSessionId(
struct _ETHREAD* Thread
);
PTEB
STDCALL PsGetThreadTeb(
struct _ETHREAD* Thread
);
PVOID
STDCALL PsGetThreadWin32Thread(
struct _ETHREAD* Thread
);
BOOLEAN
STDCALL PsIsProcessBeingDebugged(
PEPROCESS Process
);
BOOLEAN
STDCALL PsIsSystemThread(
struct _ETHREAD* Thread
);
BOOLEAN
STDCALL PsIsThreadImpersonating(
struct _ETHREAD* Thread
);
NTSTATUS
STDCALL PsRemoveCreateThreadNotifyRoutine (
IN PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine
);
NTSTATUS
STDCALL PsRemoveLoadImageNotifyRoutine(
IN PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine
);
VOID
STDCALL PsRestoreImpersonation(
IN struct _ETHREAD* Thread,
IN PSE_IMPERSONATION_STATE ImpersonationState
);
VOID
STDCALL PsReturnPoolQuota(
IN PEPROCESS Process,
IN POOL_TYPE PoolType,
IN ULONG_PTR Amount
);
VOID
STDCALL PsReturnProcessNonPagedPoolQuota(
IN PEPROCESS Process,
IN ULONG_PTR Amount
);
VOID
STDCALL PsReturnProcessPagedPoolQuota(
IN PEPROCESS Process,
IN ULONG_PTR Amount
);
VOID
STDCALL PsRevertToSelf(
VOID
);
VOID
STDCALL PsSetJobUIRestrictionsClass(
PVOID /*PEJOB*/ Job,
ULONG UIRestrictionsClass
);
ULONG
STDCALL PsSetLegoNotifyRoutine(
PVOID LegoNotifyRoutine
);
VOID
STDCALL PsSetProcessPriorityClass(
PEPROCESS Process,
ULONG PriorityClass
);
VOID
STDCALL PsSetProcessSecurityPort(
PEPROCESS Process,
PVOID SecurityPort
);
VOID
STDCALL PsSetProcessWin32Process(
PEPROCESS Process,
PVOID Win32Process
);
VOID
STDCALL PsSetProcessWin32WindowStation(
PEPROCESS Process,
PVOID WindowStation
);
VOID
STDCALL PsSetThreadHardErrorsAreDisabled(
PEPROCESS Process,
BOOLEAN HardErrorsAreDisabled
);
VOID
STDCALL PsSetThreadWin32Thread(
struct _ETHREAD* Thread,
PVOID Win32Thread
);
VOID STDCALL
PsEstablishWin32Callouts (PW32_PROCESS_CALLBACK W32ProcessCallback,
STDCALL PsEstablishWin32Callouts (PW32_PROCESS_CALLBACK W32ProcessCallback,
PW32_THREAD_CALLBACK W32ThreadCallback,
PVOID Param3,
PVOID Param4,

View file

@ -1,4 +1,4 @@
/* $Id: setypes.h,v 1.15 2004/07/11 16:09:37 ekohl Exp $
/* $Id: setypes.h,v 1.16 2004/07/19 06:08:21 ion Exp $
*
* COPYRIGHT: See COPYING in the top level directory for details
* PROJECT: ReactOS kernel
@ -208,6 +208,13 @@ typedef struct _ACCESS_STATE
UNICODE_STRING ObjectTypeName;
} ACCESS_STATE, *PACCESS_STATE;
typedef struct _SE_IMPERSONATION_STATE {
PVOID Token;
BOOLEAN CopyOnOpen;
BOOLEAN EffectiveOnly;
SECURITY_IMPERSONATION_LEVEL Level;
} SE_IMPERSONATION_STATE, *PSE_IMPERSONATION_STATE;
#endif
/* EOF */

View file

@ -1,4 +1,4 @@
/* $Id: create.c,v 1.75 2004/07/13 11:48:32 ekohl Exp $
/* $Id: create.c,v 1.76 2004/07/19 06:08:21 ion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -318,6 +318,56 @@ PsReferenceImpersonationToken(IN PETHREAD Thread,
return Thread->ImpersonationInfo->Token;
}
/*
* @unimplemented
*/
VOID
STDCALL
PsDereferenceImpersonationToken(
IN PACCESS_TOKEN ImpersonationToken
)
{
UNIMPLEMENTED;
}
/*
* @unimplemented
*/
VOID
STDCALL
PsDereferencePrimaryToken(
IN PACCESS_TOKEN PrimaryToken
)
{
UNIMPLEMENTED;
}
/*
* @unimplemented
*/
BOOLEAN
STDCALL
PsDisableImpersonation(
IN PETHREAD Thread,
IN PSE_IMPERSONATION_STATE ImpersonationState
)
{
UNIMPLEMENTED;
return FALSE;
}
/*
* @unimplemented
*/
VOID
STDCALL
PsRestoreImpersonation(
IN PETHREAD Thread,
IN PSE_IMPERSONATION_STATE ImpersonationState
)
{
UNIMPLEMENTED;
}
VOID
PiBeforeBeginThread(CONTEXT c)

View file

@ -117,5 +117,57 @@ NtTerminateJobObject(
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
PVOID
STDCALL
PsGetJobLock(
PVOID */*PEJOB*/ Job
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
PVOID
STDCALL
PsGetJobSessionId(
PVOID /*PEJOB*/ Job
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
ULONG
STDCALL
PsGetJobUIRestrictionsClass(
PVOID /*PEJOB*/ Job
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
VOID
STDCALL
PsSetJobUIRestrictionsClass(
PVOID /*PEJOB*/ Job,
ULONG UIRestrictionsClass
)
{
UNIMPLEMENTED;
}
/* EOF */

View file

@ -1,4 +1,4 @@
/* $Id: process.c,v 1.134 2004/07/17 03:06:02 ion Exp $
/* $Id: process.c,v 1.135 2004/07/19 06:08:21 ion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -524,6 +524,19 @@ PsGetCurrentProcessId(VOID)
return((HANDLE)PsGetCurrentProcess()->UniqueProcessId);
}
/*
* @unimplemented
*/
NTKERNELAPI
ULONG
PsGetCurrentProcessSessionId (
VOID
)
{
UNIMPLEMENTED;
return 0;
}
/*
* FUNCTION: Returns a pointer to the current process
*
@ -1589,12 +1602,211 @@ PsGetProcessExitTime(VOID)
}
/*
* @implemented
* @unimplemented
*/
BOOLEAN STDCALL
PsIsThreadTerminating(IN PETHREAD Thread)
ULONG
STDCALL
PsGetProcessCreateTimeQuadPart(
PEPROCESS Process
)
{
return(Thread->DeadThread);
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
PVOID
STDCALL
PsGetProcessDebugPort(
PEPROCESS Process
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
BOOLEAN
STDCALL
PsGetProcessExitProcessCalled(
PEPROCESS Process
)
{
UNIMPLEMENTED;
return FALSE;
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
PsGetProcessExitStatus(
PEPROCESS Process
)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
HANDLE
STDCALL
PsGetProcessId(
PEPROCESS Process
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
PWSTR
STDCALL
PsGetProcessImageFileName(
PEPROCESS Process
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
HANDLE
STDCALL
PsGetProcessInheritedFromUniqueProcessId(
PEPROCESS Process
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
PVOID /*PEJOB*/
STDCALL
PsGetProcessJob(
PEPROCESS Process
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
PPEB
STDCALL
PsGetProcessPeb(
PEPROCESS Process
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
ULONG
STDCALL
PsGetProcessPriorityClass(
PEPROCESS Process
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
PVOID
STDCALL
PsGetProcessSectionBaseAddress(
PEPROCESS Process
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
PVOID
STDCALL
PsGetProcessSecurityPort(
PEPROCESS Process
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
HANDLE
STDCALL
PsGetProcessSessionId(
PEPROCESS Process
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
PVOID
STDCALL
PsGetProcessWin32Process(
PEPROCESS Process
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
PVOID
STDCALL
PsGetProcessWin32WindowStation(
PEPROCESS Process
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
BOOLEAN
STDCALL
PsIsProcessBeingDebugged(
PEPROCESS Process
)
{
UNIMPLEMENTED;
return FALSE;
}
@ -1703,6 +1915,19 @@ PspRunLoadImageNotifyRoutines(
PiLoadImageNotifyRoutine[i](FullImageName, ProcessId, ImageInfo);
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
PsRemoveLoadImageNotifyRoutine(
IN PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine
)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
/*
* @implemented
*/
@ -1728,4 +1953,153 @@ PsSetLoadImageNotifyRoutine(IN PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine)
return STATUS_SUCCESS;
}
/*
* @unimplemented
*/
VOID
STDCALL
PsSetProcessPriorityClass(
PEPROCESS Process,
ULONG PriorityClass
)
{
UNIMPLEMENTED;
}
/*
* @unimplemented
*/
VOID
STDCALL
PsSetProcessSecurityPort(
PEPROCESS Process,
PVOID SecurityPort
)
{
UNIMPLEMENTED;
}
/*
* @unimplemented
*/
VOID
STDCALL
PsSetProcessWin32Process(
PEPROCESS Process,
PVOID Win32Process
)
{
UNIMPLEMENTED;
}
/*
* @unimplemented
*/
VOID
STDCALL
PsSetProcessWin32WindowStation(
PEPROCESS Process,
PVOID WindowStation
)
{
UNIMPLEMENTED;
}
/* Pool Quotas */
/*
* @unimplemented
*/
VOID
STDCALL
PsChargePoolQuota(
IN PEPROCESS Process,
IN POOL_TYPE PoolType,
IN ULONG_PTR Amount
)
{
UNIMPLEMENTED;
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
PsChargeProcessNonPagedPoolQuota (
IN PEPROCESS Process,
IN ULONG_PTR Amount
)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
PsChargeProcessPagedPoolQuota (
IN PEPROCESS Process,
IN ULONG_PTR Amount
)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
PsChargeProcessPoolQuota(
IN PEPROCESS Process,
IN POOL_TYPE PoolType,
IN ULONG_PTR Amount
)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
VOID
STDCALL
PsReturnPoolQuota(
IN PEPROCESS Process,
IN POOL_TYPE PoolType,
IN ULONG_PTR Amount
)
{
UNIMPLEMENTED;
}
/*
* @unimplemented
*/
VOID
STDCALL
PsReturnProcessNonPagedPoolQuota(
IN PEPROCESS Process,
IN ULONG_PTR Amount
)
{
UNIMPLEMENTED;
}
/*
* @unimplemented
*/
VOID
STDCALL
PsReturnProcessPagedPoolQuota(
IN PEPROCESS Process,
IN ULONG_PTR Amount
)
{
UNIMPLEMENTED;
}
/* EOF */

View file

@ -1,4 +1,4 @@
/* $Id: thread.c,v 1.127 2004/07/17 03:06:02 ion Exp $
/* $Id: thread.c,v 1.128 2004/07/19 06:08:21 ion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -79,6 +79,183 @@ HANDLE STDCALL PsGetCurrentThreadId(VOID)
return(PsGetCurrentThread()->Cid.UniqueThread);
}
/*
* @unimplemented
*/
ULONG
STDCALL
PsGetThreadFreezeCount(
PETHREAD Thread
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
BOOLEAN
STDCALL
PsGetThreadHardErrorsAreDisabled(
PETHREAD Thread
)
{
UNIMPLEMENTED;
return FALSE;
}
/*
* @unimplemented
*/
HANDLE
STDCALL
PsGetThreadId(
PETHREAD Thread
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
PEPROCESS
STDCALL
PsGetThreadProcess(
PETHREAD Thread
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
HANDLE
STDCALL
PsGetThreadProcessId(
PETHREAD Thread
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
HANDLE
STDCALL
PsGetThreadSessionId(
PETHREAD Thread
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
PTEB
STDCALL
PsGetThreadTeb(
PETHREAD Thread
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
PVOID
STDCALL
PsGetThreadWin32Thread(
PETHREAD Thread
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
KPROCESSOR_MODE
STDCALL
PsGetCurrentThreadPreviousMode (
VOID
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
PVOID
STDCALL
PsGetCurrentThreadStackBase (
VOID
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
PVOID
STDCALL
PsGetCurrentThreadStackLimit (
VOID
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @implemented
*/
BOOLEAN STDCALL
PsIsThreadTerminating(IN PETHREAD Thread)
{
return(Thread->DeadThread);
}
/*
* @unimplemented
*/
BOOLEAN
STDCALL
PsIsSystemThread(
PETHREAD Thread
)
{
UNIMPLEMENTED;
return FALSE;
}
/*
* @unimplemented
*/
BOOLEAN
STDCALL
PsIsThreadImpersonating(
PETHREAD Thread
)
{
UNIMPLEMENTED;
return FALSE;
}
static VOID
PsInsertIntoThreadList(KPRIORITY Priority, PETHREAD Thread)
{
@ -412,6 +589,58 @@ PsFreezeAllThreads(PEPROCESS Process)
KeReleaseSpinLock(&PiThreadListLock, oldIrql);
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
PsRemoveCreateThreadNotifyRoutine (
IN PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine
)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
ULONG
STDCALL
PsSetLegoNotifyRoutine(
PVOID LegoNotifyRoutine
)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
VOID
STDCALL
PsSetThreadHardErrorsAreDisabled(
PEPROCESS Process,
BOOLEAN HardErrorsAreDisabled
)
{
UNIMPLEMENTED;
}
/*
* @unimplemented
*/
VOID
STDCALL
PsSetThreadWin32Thread(
PETHREAD Thread,
PVOID Win32Thread
)
{
UNIMPLEMENTED;
}
VOID
PsApplicationProcessorInit(VOID)
{