122 IN DWORD cbJobObjectInformationLength,
133 JobInfo = &LocalInfo;
138 JobInfo = &LocalInfo;
142 ExpectedSize = cbJobObjectInformationLength;
143 JobInfo = lpJobObjectInformation;
146 if (cbJobObjectInformationLength != ExpectedSize)
153 JobObjectInformationClass,
159 if (JobInfo != &LocalInfo)
return TRUE;
199 RtlCopyMemory(lpJobObjectInformation, &LocalInfo, ExpectedSize);
215 IN DWORD cbJobObjectInformationLength)
227 JobInfo = &LocalInfo;
232 JobInfo = &LocalInfo;
236 ExpectedSize = cbJobObjectInformationLength;
237 JobInfo = lpJobObjectInformation;
240 if (cbJobObjectInformationLength != ExpectedSize)
246 if (JobInfo == &LocalInfo)
248 RtlCopyMemory(&LocalInfo, lpJobObjectInformation, ExpectedSize);
300 JobObjectInformationClass,
enum _JOBOBJECTINFOCLASS JOBOBJECTINFOCLASS
struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION JOBOBJECT_EXTENDED_LIMIT_INFORMATION
#define REALTIME_PRIORITY_CLASS
#define STATUS_INFO_LENGTH_MISMATCH
BOOL WINAPI AssignProcessToJobObject(IN HANDLE hJob, IN HANDLE hProcess)
BOOL WINAPI TerminateJobObject(IN HANDLE hJob, IN UINT uExitCode)
_In_ BOOL _In_ HANDLE hProcess
NTSTATUS NTAPI NtSetInformationJobObject(HANDLE JobHandle, JOBOBJECTINFOCLASS JobInformationClass, PVOID JobInformation, ULONG JobInformationLength)
#define NORMAL_PRIORITY_CLASS
HANDLE WINAPI CreateJobObjectA(IN LPSECURITY_ATTRIBUTES lpJobAttributes, IN LPCSTR lpName)
NTSTATUS NTAPI NtCreateJobSet(IN ULONG NumJob, IN PJOB_SET_ARRAY UserJobSet, IN ULONG Flags)
#define OpenNtObjectFromWin32Api(ntobj, acc, inh, name)
#define CreateNtObjectFromWin32Api(obj, ntobj, access, sec, name,...)
#define ABOVE_NORMAL_PRIORITY_CLASS
static BOOL bInheritHandle
#define ConvertWin32AnsiObjectApiToUnicodeApi(obj, name,...)
BOOL WINAPI QueryInformationJobObject(IN HANDLE hJob, IN JOBOBJECTINFOCLASS JobObjectInformationClass, IN LPVOID lpJobObjectInformation, IN DWORD cbJobObjectInformationLength, OUT LPDWORD lpReturnLength)
#define JOB_OBJECT_LIMIT_WORKINGSET
#define HIGH_PRIORITY_CLASS
NTSYSAPI VOID NTAPI RtlReleasePrivilege(_In_ PVOID ReturnedState)
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
DWORD BaseSetLastNTError(IN NTSTATUS Status)
#define PROCESS_PRIORITY_CLASS_NORMAL
#define PROCESS_PRIORITY_CLASS_ABOVE_NORMAL
#define IDLE_PRIORITY_CLASS
_Must_inspect_result_ _In_ ULONG Flags
#define PROCESS_PRIORITY_CLASS_REALTIME
#define NT_SUCCESS(StatCode)
BOOL Privilege(LPTSTR pszPrivilege, BOOL bEnable)
#define PROCESS_PRIORITY_CLASS_HIGH
BOOL WINAPI SetInformationJobObject(IN HANDLE hJob, IN JOBOBJECTINFOCLASS JobObjectInformationClass, IN LPVOID lpJobObjectInformation, IN DWORD cbJobObjectInformationLength)
#define SE_INC_BASE_PRIORITY_PRIVILEGE
#define ConvertOpenWin32AnsiObjectApiToUnicodeApi(obj, acc, inh, name)
NTSTATUS NTAPI NtAssignProcessToJobObject(HANDLE JobHandle, HANDLE ProcessHandle)
struct _JOBOBJECT_BASIC_LIMIT_INFORMATION JOBOBJECT_BASIC_LIMIT_INFORMATION
NTSYSAPI NTSTATUS NTAPI RtlAcquirePrivilege(_In_ PULONG Privilege, _In_ ULONG NumPriv, _In_ ULONG Flags, _Out_ PVOID *ReturnedState)
BOOL WINAPI IsProcessInJob(IN HANDLE ProcessHandle, IN HANDLE JobHandle, OUT PBOOL Result)
#define STATUS_PROCESS_IN_JOB
#define JOB_OBJECT_ALL_ACCESS
#define BELOW_NORMAL_PRIORITY_CLASS
HANDLE WINAPI OpenJobObjectW(IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN LPCWSTR lpName)
BOOL WINAPI CreateJobSet(IN ULONG NumJob, IN PJOB_SET_ARRAY UserJobSet, IN ULONG Flags)
#define RtlCopyMemory(Destination, Source, Length)
#define PROCESS_PRIORITY_CLASS_BELOW_NORMAL
NTSTATUS NTAPI NtIsProcessInJob(IN HANDLE ProcessHandle, IN HANDLE JobHandle OPTIONAL)
#define PROCESS_PRIORITY_CLASS_IDLE
_In_ HANDLE ProcessHandle
NTSTATUS NTAPI NtQueryInformationJobObject(HANDLE JobHandle, JOBOBJECTINFOCLASS JobInformationClass, PVOID JobInformation, ULONG JobInformationLength, PULONG ReturnLength)
NTSTATUS NTAPI NtTerminateJobObject(HANDLE JobHandle, NTSTATUS ExitStatus)
HANDLE WINAPI CreateJobObjectW(IN LPSECURITY_ATTRIBUTES lpJobAttributes, IN LPCWSTR lpName)
#define JOB_OBJECT_LIMIT_PRIORITY_CLASS
HANDLE WINAPI OpenJobObjectA(IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN LPCSTR lpName)