/
githubmirror
/
PowerToys
Обзор
Документация
Войти
/
githubmirror
/
PowerToys
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/modules/MouseUtils/MouseJump.Common/Interop/Win32SafeHandle.cs
42 строки
1 KB
Michael Clayton
Ready for Review - [Mouse Jump] - port upstream WinUI3 code to Mouse Jump (microsoft#48290) (#48393)
07 авг 2026, 08:34
Не верифицирован
07 авг 2026, 08:34
e0010c5
Код
Авторство
О чём код?
// Copyright (c) Microsoft Corporation // The Microsoft Corporation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.Runtime.InteropServices; namespace MouseJump.Common.Interop; public sealed class Win32SafeHandle : SafeHandle { public Win32SafeHandle(nint handle) : base(IntPtr.Zero, false) { this.SetHandle(handle); } public Win32SafeHandle(nint handle, bool ownsHandle = false) : base(IntPtr.Zero, ownsHandle) { this.SetHandle(handle); } public Win32SafeHandle(nint handle, bool ownsHandle, Func<IntPtr, bool> release) : base(IntPtr.Zero, ownsHandle) { this.ReleaseDelegate = release ?? throw new ArgumentNullException(nameof(release)); this.SetHandle(handle); } private Func<IntPtr, bool>? ReleaseDelegate { get; } public override bool IsInvalid => handle == nint.Zero; protected override bool ReleaseHandle() { return this.ReleaseDelegate?.Invoke(this.handle) ?? true; } }