From 87ea80f6b733f908da404e5825df9228170ec12b Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Mon, 19 Jul 2004 06:08:21 +0000 Subject: [PATCH] Added Ps Stubs and Prototypes. svn path=/trunk/; revision=10222 --- reactos/include/ddk/psfuncs.h | 302 +++++++++++++++++++++++++- reactos/include/ddk/setypes.h | 9 +- reactos/ntoskrnl/ps/create.c | 52 ++++- reactos/ntoskrnl/ps/job.c | 52 +++++ reactos/ntoskrnl/ps/process.c | 384 +++++++++++++++++++++++++++++++++- reactos/ntoskrnl/ps/thread.c | 231 +++++++++++++++++++- 6 files changed, 1020 insertions(+), 10 deletions(-) diff --git a/reactos/include/ddk/psfuncs.h b/reactos/include/ddk/psfuncs.h index 222d4464397..7c0c2d0a278 100644 --- a/reactos/include/ddk/psfuncs.h +++ b/reactos/include/ddk/psfuncs.h @@ -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, diff --git a/reactos/include/ddk/setypes.h b/reactos/include/ddk/setypes.h index b6a5e0e2e95..95c0d6a32ee 100644 --- a/reactos/include/ddk/setypes.h +++ b/reactos/include/ddk/setypes.h @@ -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 */ diff --git a/reactos/ntoskrnl/ps/create.c b/reactos/ntoskrnl/ps/create.c index 5539cc02237..3dc63cc225e 100644 --- a/reactos/ntoskrnl/ps/create.c +++ b/reactos/ntoskrnl/ps/create.c @@ -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) diff --git a/reactos/ntoskrnl/ps/job.c b/reactos/ntoskrnl/ps/job.c index 1e97bfbbca2..92054766716 100644 --- a/reactos/ntoskrnl/ps/job.c +++ b/reactos/ntoskrnl/ps/job.c @@ -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 */ diff --git a/reactos/ntoskrnl/ps/process.c b/reactos/ntoskrnl/ps/process.c index 863e4067ad0..2a8b8b5e071 100644 --- a/reactos/ntoskrnl/ps/process.c +++ b/reactos/ntoskrnl/ps/process.c @@ -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 */ diff --git a/reactos/ntoskrnl/ps/thread.c b/reactos/ntoskrnl/ps/thread.c index 998c41ba01c..cdbe657eee1 100644 --- a/reactos/ntoskrnl/ps/thread.c +++ b/reactos/ntoskrnl/ps/thread.c @@ -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) {