Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenepsapi.h
Go to the documentation of this file.
00001 /* $Id: epsapi.h 21880 2006-05-10 17:47:44Z ion $ 00002 */ 00003 /* 00004 * epsapi.h 00005 * 00006 * Process Status Helper API, native interface 00007 * 00008 * This file is part of the ReactOS Operating System. 00009 * 00010 * Contributors: 00011 * Created by KJK::Hyperion <noog@libero.it> 00012 * 00013 * THIS SOFTWARE IS NOT COPYRIGHTED 00014 * 00015 * This source code is offered for use in the public domain. You may 00016 * use, modify or distribute it freely. 00017 * 00018 * This code is distributed in the hope that it will be useful but 00019 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 00020 * DISCLAMED. This includes but is not limited to warranties of 00021 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00022 * 00023 */ 00024 00025 #ifndef __EPSAPI_H_INCLUDED__ 00026 #define __EPSAPI_H_INCLUDED__ 00027 00028 /* TYPES */ 00029 typedef NTSTATUS (NTAPI *PPROC_ENUM_ROUTINE)(IN PSYSTEM_PROCESS_INFORMATION CurrentProcess, 00030 IN OUT PVOID CallbackContext); 00031 00032 typedef NTSTATUS (NTAPI *PTHREAD_ENUM_ROUTINE)(IN PSYSTEM_THREAD_INFORMATION CurrentThread, 00033 IN OUT PVOID CallbackContext); 00034 00035 typedef NTSTATUS (NTAPI *PSYSMOD_ENUM_ROUTINE)(IN PRTL_PROCESS_MODULE_INFORMATION CurrentModule, 00036 IN OUT PVOID CallbackContext); 00037 00038 typedef NTSTATUS (NTAPI *PPROCMOD_ENUM_ROUTINE)(IN HANDLE ProcessHandle, 00039 IN PLDR_DATA_TABLE_ENTRY CurrentModule, 00040 IN OUT PVOID CallbackContext); 00041 00042 /* CONSTANTS */ 00043 #define FAILED_WITH_STATUS DEFINE_DBG_MSG("%s() failed, status 0x%08X") 00044 00045 /* PROTOTYPES */ 00046 /* Processes and threads */ 00047 /* enumeration */ 00048 NTSTATUS NTAPI 00049 PsaEnumerateProcessesAndThreads(IN PPROC_ENUM_ROUTINE ProcessCallback, 00050 IN OUT PVOID ProcessCallbackContext, 00051 IN PTHREAD_ENUM_ROUTINE ThreadCallback, 00052 IN OUT PVOID ThreadCallbackContext); 00053 00054 NTSTATUS NTAPI 00055 PsaEnumerateProcesses(IN PPROC_ENUM_ROUTINE Callback, 00056 IN OUT PVOID CallbackContext); 00057 00058 NTSTATUS NTAPI 00059 PsaEnumerateThreads(IN PTHREAD_ENUM_ROUTINE Callback, 00060 IN OUT PVOID CallbackContext); 00061 00062 /* capturing & walking */ 00063 NTSTATUS NTAPI 00064 PsaCaptureProcessesAndThreads(OUT PSYSTEM_PROCESS_INFORMATION * ProcessesAndThreads); 00065 00066 NTSTATUS NTAPI 00067 PsaWalkProcessesAndThreads(IN PSYSTEM_PROCESS_INFORMATION ProcessesAndThreads, 00068 IN PPROC_ENUM_ROUTINE ProcessCallback, 00069 IN OUT PVOID ProcessCallbackContext, 00070 IN PTHREAD_ENUM_ROUTINE ThreadCallback, 00071 IN OUT PVOID ThreadCallbackContext); 00072 00073 NTSTATUS NTAPI 00074 PsaWalkProcesses(IN PSYSTEM_PROCESS_INFORMATION ProcessesAndThreads, 00075 IN PPROC_ENUM_ROUTINE Callback, 00076 IN OUT PVOID CallbackContext); 00077 00078 NTSTATUS NTAPI 00079 PsaWalkThreads(IN PSYSTEM_PROCESS_INFORMATION ProcessesAndThreads, 00080 IN PTHREAD_ENUM_ROUTINE Callback, 00081 IN OUT PVOID CallbackContext); 00082 00083 PSYSTEM_PROCESS_INFORMATION FASTCALL 00084 PsaWalkFirstProcess(IN PSYSTEM_PROCESS_INFORMATION ProcessesAndThreads); 00085 00086 PSYSTEM_PROCESS_INFORMATION FASTCALL 00087 PsaWalkNextProcess(IN PSYSTEM_PROCESS_INFORMATION CurrentProcess); 00088 00089 PSYSTEM_THREAD_INFORMATION FASTCALL 00090 PsaWalkFirstThread(IN PSYSTEM_PROCESS_INFORMATION CurrentProcess); 00091 00092 PSYSTEM_THREAD_INFORMATION FASTCALL 00093 PsaWalkNextThread(IN PSYSTEM_THREAD_INFORMATION CurrentThread); 00094 00095 /* System modules */ 00096 /* enumeration */ 00097 NTSTATUS NTAPI 00098 PsaEnumerateSystemModules(IN PSYSMOD_ENUM_ROUTINE Callback, 00099 IN OUT PVOID CallbackContext); 00100 00101 /* capturing & walking */ 00102 NTSTATUS NTAPI 00103 PsaCaptureSystemModules(OUT PRTL_PROCESS_MODULES * SystemModules); 00104 00105 NTSTATUS NTAPI 00106 PsaWalkSystemModules(IN PRTL_PROCESS_MODULES SystemModules, 00107 IN PSYSMOD_ENUM_ROUTINE Callback, 00108 IN OUT PVOID CallbackContext); 00109 00110 PRTL_PROCESS_MODULE_INFORMATION FASTCALL 00111 PsaWalkFirstSystemModule(IN PRTL_PROCESS_MODULES SystemModules); 00112 00113 PRTL_PROCESS_MODULE_INFORMATION FASTCALL 00114 PsaWalkNextSystemModule(IN PRTL_PROCESS_MODULES CurrentSystemModule); 00115 00116 /* Process modules */ 00117 NTSTATUS NTAPI 00118 PsaEnumerateProcessModules(IN HANDLE ProcessHandle, 00119 IN PPROCMOD_ENUM_ROUTINE Callback, 00120 IN OUT PVOID CallbackContext); 00121 00122 /* Miscellaneous */ 00123 VOID NTAPI 00124 PsaFreeCapture(IN PVOID Capture); 00125 00126 /* The user must define these functions. They are called by PSAPI to allocate 00127 memory. This allows PSAPI to be called from any environment */ 00128 void *PsaiMalloc(SIZE_T size); 00129 void *PsaiRealloc(void *ptr, SIZE_T size); 00130 void PsaiFree(void *ptr); 00131 00132 /* MACROS */ 00133 #define DEFINE_DBG_MSG(__str__) "PSAPI: " __str__ "\n" 00134 00135 #endif /* __EPSAPI_H_INCLUDED__ */ Generated on Fri May 25 2012 04:31:38 for ReactOS by
1.7.6.1
|