SafeHandle(IntPtr, Boolean) Constructor

Definition

Initializes a new instance of the SafeHandle class with the specified invalid handle value.

C#
protected SafeHandle(IntPtr invalidHandleValue, bool ownsHandle);

Parameters

invalidHandleValue
IntPtr

The value of an invalid handle (usually 0 or -1). Your implementation of IsInvalid should return true for this value.

ownsHandle
Boolean

true to reliably let SafeHandle release the handle during the finalization phase; otherwise, false (not recommended).

Exceptions

The derived class resides in an assembly without unmanaged code access permission.

Remarks

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.

Applies to

Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0