BlackBone
Windows memory hacking library
 All Classes Functions
Threads.h
1 #pragma once
2 
3 #include "../../Include/Winheaders.h"
4 #include "Thread.h"
5 
6 #include <vector>
7 
8 namespace blackbone
9 {
10 
12 {
13 public:
14  BLACKBONE_API ProcessThreads( class ProcessCore& core );
15  BLACKBONE_API ~ProcessThreads();
16 
24  BLACKBONE_API Thread CreateNew( ptr_t threadProc, ptr_t arg, enum CreateThreadFlags flags = (CreateThreadFlags)0 );
25 
31  BLACKBONE_API std::vector<Thread>& getAll( bool dontUpdate = false );
32 
37  BLACKBONE_API Thread* getMain();
38 
43  BLACKBONE_API Thread* getLeastExecuted();
44 
49  BLACKBONE_API Thread* getRandom();
50 
56  BLACKBONE_API Thread* get( DWORD id );
57 
61  BLACKBONE_API inline void reset() { _threads.clear(); }
62 
63 private:
64  ProcessThreads( const ProcessThreads& ) = delete;
65  ProcessThreads& operator =(const ProcessThreads&) = delete;
66 private:
67  class ProcessCore& _core; // Core process functions
68  std::vector<Thread> _threads; // Process thread snapshot
69 };
70 
71 }
BLACKBONE_API std::vector< Thread > & getAll(bool dontUpdate=false)
Gets all process threads
Definition: Threads.cpp:39
BLACKBONE_API Thread * getLeastExecuted()
Get least executed thread
Definition: Threads.cpp:97
BLACKBONE_API Thread * getMain()
Get main process thread
Definition: Threads.cpp:74
BLACKBONE_API Thread * getRandom()
Get least executed thread
Definition: Threads.cpp:120
BLACKBONE_API void reset()
Reset data
Definition: Threads.h:61
Definition: ProcessCore.h:14
Definition: Threads.h:11
Thread management
Definition: Thread.h:44
Definition: AsmHelper32.cpp:6
BLACKBONE_API Thread CreateNew(ptr_t threadProc, ptr_t arg, enum CreateThreadFlags flags=(CreateThreadFlags) 0)
Create the thread.
Definition: Threads.cpp:26