public static NativeThread Open(UInt32 threadId, ThreadAcccessRights access = ThreadAcccessRights.All, bool inheritable = false) { SafeThreadHandle handle = OpenThread((UInt32)access, inheritable, threadId); if (handle.IsInvalid) { throw new Win32Exception(); } return(new NativeThread(handle)); }
public NativeThread Open(ThreadAcccessRights rights = ThreadAcccessRights.All, bool inheritable = false) { return NativeThread.Open(ThreadId, rights, inheritable); }
public NativeThread Reopen(ThreadAcccessRights rights = ThreadAcccessRights.All, bool inheritable = false) { var rawHandle = SafeKernelObjHandle.DuplicateHandleLocal(handle.DangerousGetHandle(), (uint)rights, inheritable, SafeKernelObjHandle.DuplicateOptions.None); return(new NativeThread(new SafeThreadHandle(rawHandle))); }