Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenpsfuncs.h
Go to the documentation of this file.
00001 /****************************************************************************** 00002 * Process Manager Functions * 00003 ******************************************************************************/ 00004 $if (_WDMDDK_) 00005 00006 NTKERNELAPI 00007 NTSTATUS 00008 NTAPI 00009 PsWrapApcWow64Thread( 00010 _Inout_ PVOID *ApcContext, 00011 _Inout_ PVOID *ApcRoutine); 00012 00013 /* 00014 * PEPROCESS 00015 * PsGetCurrentProcess(VOID) 00016 */ 00017 #define PsGetCurrentProcess IoGetCurrentProcess 00018 00019 #if !defined(_PSGETCURRENTTHREAD_) 00020 #define _PSGETCURRENTTHREAD_ 00021 _IRQL_requires_max_(DISPATCH_LEVEL) 00022 FORCEINLINE 00023 PETHREAD 00024 NTAPI 00025 PsGetCurrentThread(VOID) 00026 { 00027 return (PETHREAD)KeGetCurrentThread(); 00028 } 00029 #endif /* !_PSGETCURRENTTHREAD_ */ 00030 00031 $endif (_WDMDDK_) 00032 $if (_NTDDK_) 00033 00034 __kernel_entry 00035 NTSYSCALLAPI 00036 NTSTATUS 00037 NTAPI 00038 NtOpenProcess( 00039 _Out_ PHANDLE ProcessHandle, 00040 _In_ ACCESS_MASK DesiredAccess, 00041 _In_ POBJECT_ATTRIBUTES ObjectAttributes, 00042 _In_opt_ PCLIENT_ID ClientId); 00043 00044 NTSYSCALLAPI 00045 NTSTATUS 00046 NTAPI 00047 NtQueryInformationProcess( 00048 IN HANDLE ProcessHandle, 00049 IN PROCESSINFOCLASS ProcessInformationClass, 00050 OUT PVOID ProcessInformation OPTIONAL, 00051 IN ULONG ProcessInformationLength, 00052 OUT PULONG ReturnLength OPTIONAL); 00053 $endif (_NTDDK_) 00054 $if (_NTIFS_) 00055 00056 _Must_inspect_result_ 00057 _IRQL_requires_max_(APC_LEVEL) 00058 NTKERNELAPI 00059 NTSTATUS 00060 NTAPI 00061 PsLookupProcessByProcessId( 00062 _In_ HANDLE ProcessId, 00063 _Outptr_ PEPROCESS *Process); 00064 00065 _Must_inspect_result_ 00066 _IRQL_requires_max_(APC_LEVEL) 00067 NTKERNELAPI 00068 NTSTATUS 00069 NTAPI 00070 PsLookupThreadByThreadId( 00071 _In_ HANDLE UniqueThreadId, 00072 _Outptr_ PETHREAD *Thread); 00073 $endif (_NTIFS_) 00074 00075 #if (NTDDI_VERSION >= NTDDI_WIN2K) 00076 00077 $if (_WDMDDK_) 00078 _IRQL_requires_max_(APC_LEVEL) 00079 _Post_satisfies_(return <= 0) 00080 _Must_inspect_result_ 00081 NTKERNELAPI 00082 NTSTATUS 00083 NTAPI 00084 PsCreateSystemThread( 00085 _Out_ PHANDLE ThreadHandle, 00086 _In_ ULONG DesiredAccess, 00087 _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes, 00088 _In_opt_ HANDLE ProcessHandle, 00089 _Out_opt_ PCLIENT_ID ClientId, 00090 _In_ PKSTART_ROUTINE StartRoutine, 00091 _In_opt_ _When_(return==0, __drv_aliasesMem) PVOID StartContext); 00092 00093 _IRQL_requires_max_(PASSIVE_LEVEL) 00094 NTKERNELAPI 00095 NTSTATUS 00096 NTAPI 00097 PsTerminateSystemThread( 00098 _In_ NTSTATUS ExitStatus); 00099 00100 $endif (_WDMDDK_) 00101 $if (_NTDDK_) 00102 00103 _IRQL_requires_max_(PASSIVE_LEVEL) 00104 NTKERNELAPI 00105 NTSTATUS 00106 NTAPI 00107 PsSetCreateProcessNotifyRoutine( 00108 _In_ PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine, 00109 _In_ BOOLEAN Remove); 00110 00111 _IRQL_requires_max_(PASSIVE_LEVEL) 00112 NTKERNELAPI 00113 NTSTATUS 00114 NTAPI 00115 PsSetCreateThreadNotifyRoutine( 00116 _In_ PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine); 00117 00118 _IRQL_requires_max_(PASSIVE_LEVEL) 00119 NTKERNELAPI 00120 NTSTATUS 00121 NTAPI 00122 PsSetLoadImageNotifyRoutine( 00123 _In_ PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine); 00124 00125 NTKERNELAPI 00126 HANDLE 00127 NTAPI 00128 PsGetCurrentProcessId(VOID); 00129 00130 _IRQL_requires_max_(DISPATCH_LEVEL) 00131 NTKERNELAPI 00132 HANDLE 00133 NTAPI 00134 PsGetCurrentThreadId(VOID); 00135 00136 NTKERNELAPI 00137 BOOLEAN 00138 NTAPI 00139 PsGetVersion( 00140 OUT PULONG MajorVersion OPTIONAL, 00141 OUT PULONG MinorVersion OPTIONAL, 00142 OUT PULONG BuildNumber OPTIONAL, 00143 OUT PUNICODE_STRING CSDVersion OPTIONAL); 00144 $endif (_NTDDK_) 00145 $if (_NTIFS_) 00146 00147 _IRQL_requires_max_(APC_LEVEL) 00148 NTKERNELAPI 00149 PACCESS_TOKEN 00150 NTAPI 00151 PsReferenceImpersonationToken( 00152 _Inout_ PETHREAD Thread, 00153 _Out_ PBOOLEAN CopyOnOpen, 00154 _Out_ PBOOLEAN EffectiveOnly, 00155 _Out_ PSECURITY_IMPERSONATION_LEVEL ImpersonationLevel); 00156 00157 _IRQL_requires_max_(APC_LEVEL) 00158 NTKERNELAPI 00159 LARGE_INTEGER 00160 NTAPI 00161 PsGetProcessExitTime(VOID); 00162 00163 _IRQL_requires_max_(DISPATCH_LEVEL) 00164 NTKERNELAPI 00165 BOOLEAN 00166 NTAPI 00167 PsIsThreadTerminating( 00168 _In_ PETHREAD Thread); 00169 00170 _Must_inspect_result_ 00171 _IRQL_requires_max_(PASSIVE_LEVEL) 00172 NTKERNELAPI 00173 NTSTATUS 00174 NTAPI 00175 PsImpersonateClient( 00176 _Inout_ PETHREAD Thread, 00177 _In_opt_ PACCESS_TOKEN Token, 00178 _In_ BOOLEAN CopyOnOpen, 00179 _In_ BOOLEAN EffectiveOnly, 00180 _In_ SECURITY_IMPERSONATION_LEVEL ImpersonationLevel); 00181 00182 _IRQL_requires_max_(PASSIVE_LEVEL) 00183 NTKERNELAPI 00184 BOOLEAN 00185 NTAPI 00186 PsDisableImpersonation( 00187 _Inout_ PETHREAD Thread, 00188 _Inout_ PSE_IMPERSONATION_STATE ImpersonationState); 00189 00190 _IRQL_requires_max_(PASSIVE_LEVEL) 00191 NTKERNELAPI 00192 VOID 00193 NTAPI 00194 PsRestoreImpersonation( 00195 _Inout_ PETHREAD Thread, 00196 _In_ PSE_IMPERSONATION_STATE ImpersonationState); 00197 00198 _IRQL_requires_max_(PASSIVE_LEVEL) 00199 NTKERNELAPI 00200 VOID 00201 NTAPI 00202 PsRevertToSelf(VOID); 00203 00204 _IRQL_requires_max_(APC_LEVEL) 00205 NTKERNELAPI 00206 VOID 00207 NTAPI 00208 PsChargePoolQuota( 00209 _In_ PEPROCESS Process, 00210 _In_ POOL_TYPE PoolType, 00211 _In_ ULONG_PTR Amount); 00212 00213 _IRQL_requires_max_(APC_LEVEL) 00214 NTKERNELAPI 00215 VOID 00216 NTAPI 00217 PsReturnPoolQuota( 00218 _In_ PEPROCESS Process, 00219 _In_ POOL_TYPE PoolType, 00220 _In_ ULONG_PTR Amount); 00221 00222 _IRQL_requires_max_(PASSIVE_LEVEL) 00223 NTKERNELAPI 00224 NTSTATUS 00225 NTAPI 00226 PsAssignImpersonationToken( 00227 _In_ PETHREAD Thread, 00228 _In_opt_ HANDLE Token); 00229 00230 _IRQL_requires_max_(PASSIVE_LEVEL) 00231 NTKERNELAPI 00232 HANDLE 00233 NTAPI 00234 PsReferencePrimaryToken( 00235 _Inout_ PEPROCESS Process); 00236 $endif (_NTIFS_) 00237 #endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */ 00238 $if (_NTDDK_ || _NTIFS_) 00239 #if (NTDDI_VERSION >= NTDDI_WINXP) 00240 $endif (_NTDDK_ || _NTIFS_) 00241 00242 $if (_NTDDK_) 00243 _IRQL_requires_max_(DISPATCH_LEVEL) 00244 NTKERNELAPI 00245 HANDLE 00246 NTAPI 00247 PsGetProcessId( 00248 _In_ PEPROCESS Process); 00249 00250 _IRQL_requires_max_(DISPATCH_LEVEL) 00251 NTKERNELAPI 00252 HANDLE 00253 NTAPI 00254 PsGetThreadId( 00255 _In_ PETHREAD Thread); 00256 00257 NTKERNELAPI 00258 NTSTATUS 00259 NTAPI 00260 PsRemoveCreateThreadNotifyRoutine( 00261 _In_ PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine); 00262 00263 _IRQL_requires_max_(PASSIVE_LEVEL) 00264 NTKERNELAPI 00265 NTSTATUS 00266 NTAPI 00267 PsRemoveLoadImageNotifyRoutine( 00268 _In_ PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine); 00269 00270 _IRQL_requires_max_(DISPATCH_LEVEL) 00271 NTKERNELAPI 00272 LONGLONG 00273 NTAPI 00274 PsGetProcessCreateTimeQuadPart( 00275 _In_ PEPROCESS Process); 00276 $endif (_NTDDK_) 00277 $if (_NTIFS_) 00278 00279 _IRQL_requires_max_(PASSIVE_LEVEL) 00280 NTKERNELAPI 00281 VOID 00282 NTAPI 00283 PsDereferencePrimaryToken( 00284 _In_ PACCESS_TOKEN PrimaryToken); 00285 00286 _IRQL_requires_max_(PASSIVE_LEVEL) 00287 NTKERNELAPI 00288 VOID 00289 NTAPI 00290 PsDereferenceImpersonationToken( 00291 _In_ PACCESS_TOKEN ImpersonationToken); 00292 00293 _Must_inspect_result_ 00294 _IRQL_requires_max_(APC_LEVEL) 00295 NTKERNELAPI 00296 NTSTATUS 00297 NTAPI 00298 PsChargeProcessPoolQuota( 00299 _In_ PEPROCESS Process, 00300 _In_ POOL_TYPE PoolType, 00301 _In_ ULONG_PTR Amount); 00302 00303 NTKERNELAPI 00304 BOOLEAN 00305 NTAPI 00306 PsIsSystemThread( 00307 _In_ PETHREAD Thread); 00308 $endif (_NTIFS_) 00309 $if (_NTDDK_ || _NTIFS_) 00310 #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */ 00311 $endif (_NTDDK_ || _NTIFS_) 00312 00313 $if (_NTDDK_) 00314 #if (NTDDI_VERSION >= NTDDI_WS03) 00315 NTKERNELAPI 00316 HANDLE 00317 NTAPI 00318 PsGetThreadProcessId( 00319 IN PETHREAD Thread); 00320 #endif /* (NTDDI_VERSION >= NTDDI_WS03) */ 00321 00322 #if (NTDDI_VERSION >= NTDDI_VISTA) 00323 00324 NTKERNELAPI 00325 BOOLEAN 00326 NTAPI 00327 PsSetCurrentThreadPrefetching( 00328 IN BOOLEAN Prefetching); 00329 00330 NTKERNELAPI 00331 BOOLEAN 00332 NTAPI 00333 PsIsCurrentThreadPrefetching(VOID); 00334 00335 #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */ 00336 00337 #if (NTDDI_VERSION >= NTDDI_VISTASP1) 00338 NTKERNELAPI 00339 NTSTATUS 00340 NTAPI 00341 PsSetCreateProcessNotifyRoutineEx( 00342 IN PCREATE_PROCESS_NOTIFY_ROUTINE_EX NotifyRoutine, 00343 IN BOOLEAN Remove); 00344 #endif /* (NTDDI_VERSION >= NTDDI_VISTASP1) */ 00345 $endif (_NTDDK_) Generated on Sat May 26 2012 04:29:42 for ReactOS by
1.7.6.1
|