SafeHandle Конструкторы

Определение

Перегрузки

SafeHandle()
SafeHandle(IntPtr, Boolean)

Инициализирует новый экземпляр класса SafeHandle с заданным значением недопустимого дескриптора.Initializes a new instance of the SafeHandle class with the specified invalid handle value.

SafeHandle()

protected:
 SafeHandle();
protected SafeHandle ();
Protected Sub New ()

SafeHandle(IntPtr, Boolean)

Инициализирует новый экземпляр класса SafeHandle с заданным значением недопустимого дескриптора.Initializes a new instance of the SafeHandle class with the specified invalid handle value.

protected:
 SafeHandle(IntPtr invalidHandleValue, bool ownsHandle);
protected SafeHandle (IntPtr invalidHandleValue, bool ownsHandle);
new System.Runtime.InteropServices.SafeHandle : nativeint * bool -> System.Runtime.InteropServices.SafeHandle
Protected Sub New (invalidHandleValue As IntPtr, ownsHandle As Boolean)

Параметры

invalidHandleValue
IntPtr

Значение недопустимого дескриптора (обычно 0 или -1).The value of an invalid handle (usually 0 or -1). Реализация IsInvalid должна возвращать true для этого значения.Your implementation of IsInvalid should return true for this value.

ownsHandle
Boolean

Значение true, если нужно надежно разрешить SafeHandle освободить дескриптор на стадии завершения; в противном случае — значение false (не рекомендуется).true to reliably let SafeHandle release the handle during the finalization phase; otherwise, false (not recommended).

Исключения

Производный класс находится в сборке без разрешения на доступ к неуправляемому коду.The derived class resides in an assembly without unmanaged code access permission.

Комментарии

Если параметр ownsHandle имеет значение false, ReleaseHandle никогда не вызывается; Поэтому не рекомендуется использовать это значение параметра, так как ваш код может привести к утечке ресурсов.If the ownsHandle parameter is false, ReleaseHandle is never called; thus, it is not recommended to use this parameter value as your code may leak resources.

Применяется к