Files
hcs/Hcs.Client/GostCryptography/Native/ISafeHandleProvider.cs
HOME-LAPTOP\kshkulev 33ab055b43 Add project
Basic formatting applied. Unnecessary comments have been removed. Suspicious code is covered by TODO.
2025-08-12 11:21:10 +09:00

33 lines
1.0 KiB
C#

using System.Runtime.InteropServices;
using System.Security;
namespace GostCryptography.Native
{
/// <summary>
/// Провайдер дескрипторов криптографического объекта
/// </summary>
/// <typeparam name="T">Тип безопасного дескриптора</typeparam>
public interface ISafeHandleProvider<out T> where T : SafeHandle
{
/// <summary>
/// Возвращает дескриптор объекта
/// </summary>
T SafeHandle { [SecurityCritical] get; }
}
/// <summary>
/// Методы расширения для <see cref="ISafeHandleProvider{T}"/>
/// </summary>
public static class SafeHandleProviderExtensions
{
/// <summary>
/// Возвращает дескриптор объекта
/// </summary>
[SecurityCritical]
public static T GetSafeHandle<T>(this ISafeHandleProvider<T> provider) where T : SafeHandle
{
return provider.SafeHandle;
}
}
}