private object GetHandle(NtHandle handle) { using (var proc = NtProcess.Open(handle.ProcessId, ProcessAccessRights.DupHandle)) { return(NtObject.DuplicateHandle(proc, new IntPtr(handle.Handle), DestinationProcess, GetDesiredAccess(), ObjectAttributes ?? 0, GetOptions())); } }
private IntPtr GetHandle() { IntPtr handle = SourceHandle; if (ParameterSetName == "FromObject") { handle = Object.Handle.DangerousGetHandle(); } return(NtObject.DuplicateHandle(SourceProcess, handle, DestinationProcess, DesiredAccess ?? 0, ObjectAttributes ?? 0, GetOptions())); }
private object GetHandle(IntPtr handle) { return(NtObject.DuplicateHandle(SourceProcess, handle, DestinationProcess, GetDesiredAccess(), ObjectAttributes ?? 0, GetOptions())); }