Public Types | |
enum | CreationFlags { CreateOrConnect, CreateNew, ConnectToExisting } |
Specify how to create or connect to an existing job object. More... | |
typedef Core::TExpandableBuffer < BYTE > | ByteBuffer |
Public Member Functions | |
CJob (SECURITY_ATTRIBUTES *pSecurityAttributes=nullptr, bool terminateProcessesOnClose=true) | |
CJob (const IKernelObjectName &name, SECURITY_ATTRIBUTES *pSecurityAttributes=nullptr, bool terminateProcessesOnClose=true) | |
CJob (const IKernelObjectName &name, CreationFlags creationFlags, SECURITY_ATTRIBUTES *pSecurityAttributes=nullptr, bool terminateProcessesOnClose=true) | |
CJob (const CJob &rhs) | |
~CJob () override | |
CJob & | operator= (const CJob &rhs) |
void | QueryInformation (JOBOBJECT_BASIC_ACCOUNTING_INFORMATION &info) const |
void | QueryInformation (JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION &info) const |
void | QueryInformation (JOBOBJECT_BASIC_LIMIT_INFORMATION &info) const |
void | QueryInformation (JOBOBJECT_BASIC_PROCESS_ID_LIST &info) const |
JOBOBJECT_BASIC_PROCESS_ID_LIST & | QueryInformation (ByteBuffer &buffer) const |
void | QueryInformation (JOBOBJECT_BASIC_UI_RESTRICTIONS &info) const |
void | QueryInformation (JOBOBJECT_EXTENDED_LIMIT_INFORMATION &info) const |
void | SetInformation (JOBOBJECT_EXTENDED_LIMIT_INFORMATION &info) |
void | SetPerJobUserTimeLimit (ULONG timeLimitIn100nsIntervals) |
void | SetPerJobUserTimeLimit (const LARGE_INTEGER &timeLimitIn100nsIntervals) |
void | SetPerProcessUserTimeLimit (ULONG timeLimitIn100nsIntervals) |
void | SetPerProcessUserTimeLimit (const LARGE_INTEGER &timeLimitIn100nsIntervals) |
void | SetPerJobMemoryLimit (size_t limit) |
void | SetPerProcessMemoryLimit (size_t limit) |
void | SetAllProcessesToTerminateOnJobClose (bool terminateProcessesOnJobClose) |
void | TerminateAllProcesses (UINT exitCode) |
void | MonitorEvents (IMonitorJobs &monitor, IManageJobEvents &manager) |
HANDLE | GetWaitHandle () const override |
void | Wait () const override |
bool | Wait (Milliseconds timeout) const override |
bool | IsProcessInJob (HANDLE hProcess) const override |
bool | IsProcessInAnyJob (HANDLE hProcess) const override |
void | AssignProcessToJob (HANDLE hProcess) override |
typedef Core::TExpandableBuffer<BYTE> ByteBuffer |
enum CreationFlags |
CJob | ( | SECURITY_ATTRIBUTES * | pSecurityAttributes = nullptr , |
|
bool | terminateProcessesOnClose = true | |||
) | [explicit] |
CJob | ( | const IKernelObjectName & | name, | |
SECURITY_ATTRIBUTES * | pSecurityAttributes = nullptr , |
|||
bool | terminateProcessesOnClose = true | |||
) | [explicit] |
CJob | ( | const IKernelObjectName & | name, | |
CreationFlags | creationFlags, | |||
SECURITY_ATTRIBUTES * | pSecurityAttributes = nullptr , |
|||
bool | terminateProcessesOnClose = true | |||
) | [explicit] |
~CJob | ( | ) | [override] |
void QueryInformation | ( | JOBOBJECT_BASIC_ACCOUNTING_INFORMATION & | info | ) | const |
void QueryInformation | ( | JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION & | info | ) | const |
void QueryInformation | ( | JOBOBJECT_BASIC_LIMIT_INFORMATION & | info | ) | const |
void QueryInformation | ( | JOBOBJECT_BASIC_PROCESS_ID_LIST & | info | ) | const |
JOBOBJECT_BASIC_PROCESS_ID_LIST & QueryInformation | ( | ByteBuffer & | buffer | ) | const |
void QueryInformation | ( | JOBOBJECT_BASIC_UI_RESTRICTIONS & | info | ) | const |
void QueryInformation | ( | JOBOBJECT_EXTENDED_LIMIT_INFORMATION & | info | ) | const |
void SetInformation | ( | JOBOBJECT_EXTENDED_LIMIT_INFORMATION & | info | ) |
void SetPerJobUserTimeLimit | ( | ULONG | timeLimitIn100nsIntervals | ) |
void SetPerJobUserTimeLimit | ( | const LARGE_INTEGER & | timeLimitIn100nsIntervals | ) |
void SetPerProcessUserTimeLimit | ( | ULONG | timeLimitIn100nsIntervals | ) |
void SetPerProcessUserTimeLimit | ( | const LARGE_INTEGER & | timeLimitIn100nsIntervals | ) |
void SetPerJobMemoryLimit | ( | size_t | limit | ) |
void SetPerProcessMemoryLimit | ( | size_t | limit | ) |
void SetAllProcessesToTerminateOnJobClose | ( | bool | terminateProcessesOnJobClose | ) |
void TerminateAllProcesses | ( | UINT | exitCode | ) |
void MonitorEvents | ( | IMonitorJobs & | monitor, | |
IManageJobEvents & | manager | |||
) |
HANDLE GetWaitHandle | ( | ) | const [override] |
void Wait | ( | ) | const [override] |
bool Wait | ( | Milliseconds | timeout | ) | const [override] |
Implements IAssignProcessesToJobs.
Implements IAssignProcessesToJobs.
void AssignProcessToJob | ( | HANDLE | hProcess | ) | [override, virtual] |
Implements IAssignProcessesToJobs.