ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

epsapi.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.