129 LPVOID lpJobObjectInformation,
141 JobInfo = &LocalInfo;
146 JobInfo = &LocalInfo;
150 ExpectedSize = cbJobObjectInformationLength;
151 JobInfo = lpJobObjectInformation;
154 if (cbJobObjectInformationLength != ExpectedSize)
161 JobObjectInformationClass,
167 if (JobInfo != &LocalInfo)
return TRUE;
207 RtlCopyMemory(lpJobObjectInformation, &LocalInfo, ExpectedSize);
236 JobInfo = &LocalInfo;
241 JobInfo = &LocalInfo;
245 ExpectedSize = cbJobObjectInformationLength;
246 JobInfo = lpJobObjectInformation;
249 if (cbJobObjectInformationLength != ExpectedSize)
255 if (JobInfo == &LocalInfo)
257 RtlCopyMemory(&LocalInfo, lpJobObjectInformation, ExpectedSize);
309 JobObjectInformationClass,
#define ConvertWin32AnsiObjectApiToUnicodeApi(obj, name,...)
#define ConvertOpenWin32AnsiObjectApiToUnicodeApi(obj, acc, inh, name)
#define CreateNtObjectFromWin32Api(obj, ntobj, access, sec, name,...)
#define OpenNtObjectFromWin32Api(ntobj, acc, inh, name)
_In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ ULONG _In_ ULONG Flags
#define NT_SUCCESS(StatCode)
BOOL WINAPI TerminateJobObject(_In_ HANDLE hJob, _In_ UINT uExitCode)
BOOL WINAPI SetInformationJobObject(_In_ HANDLE hJob, _In_ JOBOBJECTINFOCLASS JobObjectInformationClass, _In_reads_bytes_(cbJobObjectInformationLength) LPVOID lpJobObjectInformation, _In_ DWORD cbJobObjectInformationLength)
HANDLE WINAPI CreateJobObjectW(_In_ LPSECURITY_ATTRIBUTES lpJobAttributes, _In_ LPCWSTR lpName)
BOOL WINAPI IsProcessInJob(_In_ HANDLE ProcessHandle, _In_opt_ HANDLE JobHandle, _Out_ PBOOL Result)
BOOL WINAPI CreateJobSet(IN ULONG NumJob, IN PJOB_SET_ARRAY UserJobSet, IN ULONG Flags)
BOOL WINAPI AssignProcessToJobObject(_In_ HANDLE hJob, _In_ HANDLE hProcess)
HANDLE WINAPI OpenJobObjectA(_In_ DWORD dwDesiredAccess, _In_ BOOL bInheritHandle, _In_ LPCSTR lpName)
BOOL WINAPI QueryInformationJobObject(_In_opt_ HANDLE hJob, _In_ JOBOBJECTINFOCLASS JobObjectInformationClass, _Out_writes_bytes_to_(cbJobObjectInformationLength, *lpReturnLength) LPVOID lpJobObjectInformation, _In_ DWORD cbJobObjectInformationLength, _Out_opt_ LPDWORD lpReturnLength)
HANDLE WINAPI OpenJobObjectW(_In_ DWORD dwDesiredAccess, _In_ BOOL bInheritHandle, _In_ LPCWSTR lpName)
HANDLE WINAPI CreateJobObjectA(_In_ LPSECURITY_ATTRIBUTES lpJobAttributes, _In_ LPCSTR lpName)
#define PROCESS_PRIORITY_CLASS_IDLE
#define JOB_OBJECT_ALL_ACCESS
#define JOB_OBJECT_LIMIT_WORKINGSET
#define PROCESS_PRIORITY_CLASS_NORMAL
#define PROCESS_PRIORITY_CLASS_HIGH
#define PROCESS_PRIORITY_CLASS_ABOVE_NORMAL
enum _JOBOBJECTINFOCLASS JOBOBJECTINFOCLASS
#define JOB_OBJECT_LIMIT_PRIORITY_CLASS
@ JobObjectBasicLimitInformation
@ JobObjectExtendedLimitInformation
struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION JOBOBJECT_EXTENDED_LIMIT_INFORMATION
#define PROCESS_PRIORITY_CLASS_BELOW_NORMAL
#define PROCESS_PRIORITY_CLASS_REALTIME
struct _JOBOBJECT_BASIC_LIMIT_INFORMATION JOBOBJECT_BASIC_LIMIT_INFORMATION
_In_ BOOL _In_ HANDLE hProcess
#define SE_INC_BASE_PRIORITY_PRIVILEGE
_In_ HANDLE ProcessHandle
NTSYSAPI NTSTATUS NTAPI RtlAcquirePrivilege(_In_ PULONG Privilege, _In_ ULONG NumPriv, _In_ ULONG Flags, _Out_ PVOID *ReturnedState)
NTSYSAPI VOID NTAPI RtlReleasePrivilege(_In_ PVOID ReturnedState)
#define _In_reads_bytes_(s)
#define _Out_writes_bytes_to_(s, c)
static BOOL bInheritHandle
NTSTATUS NTAPI NtSetInformationJobObject(_In_ HANDLE JobHandle, _In_ JOBOBJECTINFOCLASS JobInformationClass, _In_reads_bytes_(JobInformationLength) PVOID JobInformation, _In_ ULONG JobInformationLength)
NTSTATUS NTAPI NtTerminateJobObject(_In_ HANDLE JobHandle, _In_ NTSTATUS ExitStatus)
NTSTATUS NTAPI NtQueryInformationJobObject(_In_opt_ HANDLE JobHandle, _In_ JOBOBJECTINFOCLASS JobInformationClass, _Out_writes_bytes_(JobInformationLength) PVOID JobInformation, _In_ ULONG JobInformationLength, _Out_opt_ PULONG ReturnLength)
NTSTATUS NTAPI NtIsProcessInJob(_In_ HANDLE ProcessHandle, _In_opt_ HANDLE JobHandle)
NTSTATUS NTAPI NtAssignProcessToJobObject(_In_ HANDLE JobHandle, _In_ HANDLE ProcessHandle)
NTSTATUS NTAPI NtCreateJobSet(IN ULONG NumJob, IN PJOB_SET_ARRAY UserJobSet, IN ULONG Flags)
#define STATUS_PROCESS_IN_JOB
DWORD BaseSetLastNTError(IN NTSTATUS Status)
#define RtlCopyMemory(Destination, Source, Length)
#define STATUS_INFO_LENGTH_MISMATCH
BOOL Privilege(LPTSTR pszPrivilege, BOOL bEnable)
#define NORMAL_PRIORITY_CLASS
#define REALTIME_PRIORITY_CLASS
#define BELOW_NORMAL_PRIORITY_CLASS
#define HIGH_PRIORITY_CLASS
#define IDLE_PRIORITY_CLASS
#define ABOVE_NORMAL_PRIORITY_CLASS
_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