private static SafeHandle CreateJob(bool ignoreErrors) { SafeNativeHandle job = NativeMethods.CreateJobObjectW(IntPtr.Zero, null); if (job.IsInvalid && !ignoreErrors) { throw new Win32Exception("Failed to create job object"); } return(job); }
private static SafeHandle CreateCompletionPort(bool ignoreErrors) { SafeNativeHandle ioPort = NativeMethods.CreateIoCompletionPort((IntPtr)(-1), IntPtr.Zero, UIntPtr.Zero, 1); if (ioPort.IsInvalid && !ignoreErrors) { throw new Win32Exception("Failed to create IoCompletionPort"); } return(ioPort); }