Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363/****************************************************************************** * Process Manager Functions * ******************************************************************************/$if (_WDMDDK_)
NTKERNELAPINTSTATUSNTAPIPsWrapApcWow64Thread( _Inout_ PVOID *ApcContext, _Inout_ PVOID *ApcRoutine);
/* * PEPROCESS * PsGetCurrentProcess(VOID) */#define PsGetCurrentProcess IoGetCurrentProcess
#if !defined(_PSGETCURRENTTHREAD_)#define _PSGETCURRENTTHREAD__IRQL_requires_max_(DISPATCH_LEVEL)FORCEINLINEPETHREADNTAPIPsGetCurrentThread(VOID){ return (PETHREAD)KeGetCurrentThread();}#endif /* !_PSGETCURRENTTHREAD_ */
$endif (_WDMDDK_)$if (_NTDDK_)
__kernel_entryNTSYSCALLAPINTSTATUSNTAPINtOpenProcess( _Out_ PHANDLE ProcessHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _In_opt_ PCLIENT_ID ClientId);
__kernel_entryNTSYSCALLAPINTSTATUSNTAPINtQueryInformationProcess( _In_ HANDLE ProcessHandle, _In_ PROCESSINFOCLASS ProcessInformationClass, _Out_writes_bytes_to_opt_(ProcessInformationLength, *ReturnLength) PVOID ProcessInformation, _In_ ULONG ProcessInformationLength, _Out_opt_ PULONG ReturnLength);$endif (_NTDDK_)$if (_NTIFS_)
_Must_inspect_result__IRQL_requires_max_(APC_LEVEL)NTKERNELAPINTSTATUSNTAPIPsLookupProcessByProcessId( _In_ HANDLE ProcessId, _Outptr_ PEPROCESS *Process);
_Must_inspect_result__IRQL_requires_max_(APC_LEVEL)NTKERNELAPINTSTATUSNTAPIPsLookupThreadByThreadId( _In_ HANDLE UniqueThreadId, _Outptr_ PETHREAD *Thread);$endif (_NTIFS_)
#if (NTDDI_VERSION >= NTDDI_WIN2K)
$if (_WDMDDK_)_IRQL_requires_max_(APC_LEVEL)_Post_satisfies_(return <= 0)_Must_inspect_result_NTKERNELAPINTSTATUSNTAPIPsCreateSystemThread( _Out_ PHANDLE ThreadHandle, _In_ ULONG DesiredAccess, _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes, _In_opt_ HANDLE ProcessHandle, _Out_opt_ PCLIENT_ID ClientId, _In_ PKSTART_ROUTINE StartRoutine, _In_opt_ _When_(return==0, __drv_aliasesMem) PVOID StartContext);
_IRQL_requires_max_(PASSIVE_LEVEL)NTKERNELAPINTSTATUSNTAPIPsTerminateSystemThread( _In_ NTSTATUS ExitStatus);
$endif (_WDMDDK_)$if (_NTDDK_)
_IRQL_requires_max_(PASSIVE_LEVEL)NTKERNELAPINTSTATUSNTAPIPsSetCreateProcessNotifyRoutine( _In_ PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine, _In_ BOOLEAN Remove);
_IRQL_requires_max_(PASSIVE_LEVEL)NTKERNELAPINTSTATUSNTAPIPsSetCreateThreadNotifyRoutine( _In_ PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine);
_IRQL_requires_max_(PASSIVE_LEVEL)NTKERNELAPINTSTATUSNTAPIPsSetLoadImageNotifyRoutine( _In_ PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine);
NTKERNELAPIHANDLENTAPIPsGetCurrentProcessId(VOID);
_IRQL_requires_max_(DISPATCH_LEVEL)NTKERNELAPIHANDLENTAPIPsGetCurrentThreadId(VOID);
NTKERNELAPIBOOLEANNTAPIPsGetVersion( OUT PULONG MajorVersion OPTIONAL, OUT PULONG MinorVersion OPTIONAL, OUT PULONG BuildNumber OPTIONAL, OUT PUNICODE_STRING CSDVersion OPTIONAL);$endif (_NTDDK_)$if (_NTIFS_)
_IRQL_requires_max_(APC_LEVEL)NTKERNELAPIPACCESS_TOKENNTAPIPsReferenceImpersonationToken( _Inout_ PETHREAD Thread, _Out_ PBOOLEAN CopyOnOpen, _Out_ PBOOLEAN EffectiveOnly, _Out_ PSECURITY_IMPERSONATION_LEVEL ImpersonationLevel);
_IRQL_requires_max_(APC_LEVEL)NTKERNELAPILARGE_INTEGERNTAPIPsGetProcessExitTime(VOID);
_IRQL_requires_max_(DISPATCH_LEVEL)NTKERNELAPIBOOLEANNTAPIPsIsThreadTerminating( _In_ PETHREAD Thread);
_Must_inspect_result__IRQL_requires_max_(PASSIVE_LEVEL)NTKERNELAPINTSTATUSNTAPIPsImpersonateClient( _Inout_ PETHREAD Thread, _In_opt_ PACCESS_TOKEN Token, _In_ BOOLEAN CopyOnOpen, _In_ BOOLEAN EffectiveOnly, _In_ SECURITY_IMPERSONATION_LEVEL ImpersonationLevel);
_IRQL_requires_max_(PASSIVE_LEVEL)NTKERNELAPIBOOLEANNTAPIPsDisableImpersonation( _Inout_ PETHREAD Thread, _Inout_ PSE_IMPERSONATION_STATE ImpersonationState);
_IRQL_requires_max_(PASSIVE_LEVEL)NTKERNELAPIVOIDNTAPIPsRestoreImpersonation( _Inout_ PETHREAD Thread, _In_ PSE_IMPERSONATION_STATE ImpersonationState);
_IRQL_requires_max_(PASSIVE_LEVEL)NTKERNELAPIVOIDNTAPIPsRevertToSelf(VOID);
_IRQL_requires_max_(APC_LEVEL)NTKERNELAPIVOIDNTAPIPsChargePoolQuota( _In_ PEPROCESS Process, _In_ POOL_TYPE PoolType, _In_ ULONG_PTR Amount);
_IRQL_requires_max_(APC_LEVEL)NTKERNELAPIVOIDNTAPIPsReturnPoolQuota( _In_ PEPROCESS Process, _In_ POOL_TYPE PoolType, _In_ ULONG_PTR Amount);
_IRQL_requires_max_(PASSIVE_LEVEL)NTKERNELAPINTSTATUSNTAPIPsAssignImpersonationToken( _In_ PETHREAD Thread, _In_opt_ HANDLE Token);
_IRQL_requires_max_(PASSIVE_LEVEL)NTKERNELAPIHANDLENTAPIPsReferencePrimaryToken( _Inout_ PEPROCESS Process);$endif (_NTIFS_)#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */$if (_NTDDK_ || _NTIFS_)#if (NTDDI_VERSION >= NTDDI_WINXP)$endif (_NTDDK_ || _NTIFS_)
$if (_NTDDK_)_IRQL_requires_max_(DISPATCH_LEVEL)NTKERNELAPIHANDLENTAPIPsGetProcessId( _In_ PEPROCESS Process);
_IRQL_requires_max_(DISPATCH_LEVEL)NTKERNELAPIHANDLENTAPIPsGetThreadId( _In_ PETHREAD Thread);
NTKERNELAPIPEPROCESSNTAPIPsGetThreadProcess( _In_ PETHREAD Thread);
NTKERNELAPINTSTATUSNTAPIPsRemoveCreateThreadNotifyRoutine( _In_ PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine);
_IRQL_requires_max_(PASSIVE_LEVEL)NTKERNELAPINTSTATUSNTAPIPsRemoveLoadImageNotifyRoutine( _In_ PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine);
_IRQL_requires_max_(DISPATCH_LEVEL)NTKERNELAPILONGLONGNTAPIPsGetProcessCreateTimeQuadPart( _In_ PEPROCESS Process);$endif (_NTDDK_)$if (_NTIFS_)
_IRQL_requires_max_(PASSIVE_LEVEL)NTKERNELAPIVOIDNTAPIPsDereferencePrimaryToken( _In_ PACCESS_TOKEN PrimaryToken);
_IRQL_requires_max_(PASSIVE_LEVEL)NTKERNELAPIVOIDNTAPIPsDereferenceImpersonationToken( _In_ PACCESS_TOKEN ImpersonationToken);
_Must_inspect_result__IRQL_requires_max_(APC_LEVEL)NTKERNELAPINTSTATUSNTAPIPsChargeProcessPoolQuota( _In_ PEPROCESS Process, _In_ POOL_TYPE PoolType, _In_ ULONG_PTR Amount);
NTKERNELAPIBOOLEANNTAPIPsIsSystemThread( _In_ PETHREAD Thread);$endif (_NTIFS_)$if (_NTDDK_ || _NTIFS_)#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */$endif (_NTDDK_ || _NTIFS_)
$if (_NTDDK_)#if (NTDDI_VERSION >= NTDDI_WS03)NTKERNELAPIHANDLENTAPIPsGetThreadProcessId( IN PETHREAD Thread);#endif /* (NTDDI_VERSION >= NTDDI_WS03) */
#if (NTDDI_VERSION >= NTDDI_WS03SP1)NTKERNELAPIPVOIDNTAPIPsGetCurrentThreadTeb( VOID);#endif /* (NTDDI_VERSION >= NTDDI_WS03SP1) */
#if (NTDDI_VERSION >= NTDDI_VISTA)
NTKERNELAPIBOOLEANNTAPIPsSetCurrentThreadPrefetching( IN BOOLEAN Prefetching);
NTKERNELAPIBOOLEANNTAPIPsIsCurrentThreadPrefetching(VOID);
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
#if (NTDDI_VERSION >= NTDDI_VISTASP1)NTKERNELAPINTSTATUSNTAPIPsSetCreateProcessNotifyRoutineEx( IN PCREATE_PROCESS_NOTIFY_ROUTINE_EX NotifyRoutine, IN BOOLEAN Remove);#endif /* (NTDDI_VERSION >= NTDDI_VISTASP1) */$endif (_NTDDK_)