private static SafeWaitHandle CreateJob()
{
IntPtr JobObjectHandle = CreateJobObject(IntPtr.Zero, IntPtr.Zero);
if (JobObjectHandle == IntPtr.Zero)
throw new ApplicationException("CreateJobObject failed: " + Marshal.GetLastWin32Error());
try
{
return new SafeWaitHandle(JobObjectHandle, true);
}
catch
{
CloseHandle(JobObjectHandle);
throw;
}
}