cheat-engine/DBKKernel/processlist.h
Dark Byte d2dc1a6235 Now using visual studio 2017 to compile the driver
split up ultimap2 from dbk (in case signing dbk fails ultimap will keep working)
fixed the processwatcher bsod'ing you if you have multiple CE's open
fixed the ss segment limit in dbvm offload (not that it was used)
2018-04-13 00:25:53 +02:00

71 lines
No EOL
1.7 KiB
C

#include <ntifs.h>
#include "extradefines.h"
#include "extraimports.h"
VOID CreateProcessNotifyRoutine(IN HANDLE ParentId, IN HANDLE ProcessId, IN BOOLEAN Create);
VOID CreateProcessNotifyRoutineEx(IN HANDLE ParentId, IN HANDLE ProcessId, __in_opt PPS_CREATE_NOTIFY_INFO CreateInfo);
struct ThreadData
{
HANDLE ThreadID;
PETHREAD PEThread;
KAPC SuspendApc;
KSEMAPHORE SuspendSemaphore; //why not mutex?
int suspendcount;
struct ThreadData *previous;
struct ThreadData *next;
};
typedef struct
{
HANDLE ProcessID;
PEPROCESS PEProcess;
HANDLE ProcessHandle;
BOOLEAN Deleted;
} ProcessListData, *PProcessListData;
struct ProcessData
{
HANDLE ProcessID;
PEPROCESS PEProcess;
struct ThreadData *Threads;
struct ProcessData *previous;
struct ProcessData *next;
} *processlist;
typedef struct tagProcessEventData
{
UINT64 Created;
UINT64 ProcessID;
UINT64 PEProcess;
} ProcessEventdta;
ProcessEventdta ProcessEventdata[50];
UCHAR ProcessEventCount;
PKEVENT ProcessEvent;
//HANDLE ProcessEventHandle;
BOOLEAN CreateProcessNotifyRoutineEnabled;
ERESOURCE ProcesslistR;
VOID CreateThreadNotifyRoutine(IN HANDLE ProcessId, IN HANDLE ThreadId, IN BOOLEAN Create);
typedef struct tagThreadEventData
{
BOOLEAN Created;
UINT64 ProcessID;
UINT64 ThreadID;
} ThreadEventDta;
ThreadEventDta ThreadEventData[50];
UCHAR ThreadEventCount;
PKEVENT ThreadEvent;
//HANDLE ThreadEventHandle;
extern HANDLE WatcherHandle;
extern PEPROCESS WatcherProcess;
extern BOOLEAN ProcessWatcherOpensHandles;
BOOLEAN CreateThreadNotifyRoutineEnabled;
VOID CleanProcessList();
HANDLE GetHandleForProcessID(IN HANDLE ProcessID);