Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#pragma once
#if defined(__cplusplus)
extern "C" { #endif
#define MAX_TASKS 1024
#define TITLE_SIZE 128
#define PROCESS_SIZE 64
#define SERVICENAMES_SIZE 1024
#define MTS_PACKAGE_NAMES_SIZE 1024
#define TL_CMD_LINE_SIZE 512
typedef struct _THREAD_INFO { ULONG ThreadState; HANDLE UniqueThread; } THREAD_INFO, *PTHREAD_INFO;
typedef struct _FIND_MODULE_INFO { LPSTR szModuleToFind; LPSTR szMatchingModuleName; BOOL fFound; } FIND_MODULE_INFO, *PFIND_MODULE_INFO;
//
// task list structure
//
typedef struct _TASK_LIST { DWORD dwProcessId; DWORD dwInheritedFromProcessId; ULARGE_INTEGER CreateTime; BOOL flags; HANDLE hwnd; LPSTR lpWinsta; LPSTR lpDesk; CHAR ProcessName[PROCESS_SIZE]; CHAR WindowTitle[TITLE_SIZE]; SIZE_T PeakVirtualSize; SIZE_T VirtualSize; ULONG PageFaultCount; SIZE_T PeakWorkingSetSize; SIZE_T WorkingSetSize; ULONG NumberOfThreads; PTHREAD_INFO pThreadInfo; CHAR ServiceNames[SERVICENAMES_SIZE]; CHAR MtsPackageNames[MTS_PACKAGE_NAMES_SIZE]; ULONG SessionId; CHAR CommandLine[TL_CMD_LINE_SIZE]; } TASK_LIST, *PTASK_LIST;
typedef struct _TASK_LIST_ENUM { PTASK_LIST tlist; DWORD numtasks; LPSTR lpWinsta; LPSTR lpDesk; BOOL bFirstLoop; } TASK_LIST_ENUM, *PTASK_LIST_ENUM;
DWORD GetServiceProcessInfo( LPENUM_SERVICE_STATUS_PROCESS* ppSvcInfo );
DWORD GetTaskList( PTASK_LIST pTask, DWORD dwNumTasks );
DWORD GetTaskListEx( PTASK_LIST pTask, DWORD dwNumTasks, BOOL fThreadInfo, DWORD dwNumServices, const ENUM_SERVICE_STATUS_PROCESS* pServiceInfo );
void AddMtsPackageNames( PTASK_LIST Tasks, DWORD NumTasks ); void AddCommandLines( PTASK_LIST Tasks, DWORD NumTasks ); void PrintTasksUsingModule( LPTSTR szModuleName );
BOOL DetectOrphans( PTASK_LIST pTask, DWORD dwNumTasks );
BOOL EnableDebugPriv( VOID );
BOOL KillProcess( PTASK_LIST tlist, BOOL fForce );
VOID GetWindowTitles( PTASK_LIST_ENUM te );
BOOL MatchPattern( PUCHAR String, PUCHAR Pattern );
BOOL EmptyProcessWorkingSet( DWORD pid );
BOOL EmptySystemWorkingSet( VOID );
#if defined(__cplusplus)
} #endif
|