Early Preview

This is currently very much a preview. Please feel free to try things out, but don't be upset if anything is not yet working. Feedback is welcome over on our GitHub Dicussions page.

class Microsoft.​Win32.​SafeHandles.​SafeHandleZeroOrMinusOneIsInvalid

Assembly: System.Runtime

Inheritance: object → System.Runtime.ConstrainedExecution.CriticalFinalizerObjectSystem.Runtime.InteropServices.SafeHandle → SafeHandleZeroOrMinusOneIsInvalid

Provides a base class for Win32 safe handle implementations in which the value of either 0 or -1 indicates an invalid handle.

Fields and Constants

protected nint
handle
Specifies the handle to be wrapped.

Properties

public bool
IsInvalid
Gets a value that indicates whether the handle is invalid.
public bool
IsClosed
Gets a value indicating whether the handle is closed.

Methods

public void
Close​()
Inherited from SafeHandle
Marks the handle for releasing and freeing resources.
public void
DangerousAddRef​(System.Boolean& success)
Inherited from SafeHandle
public nint
DangerousGetHandle​()
Inherited from SafeHandle
Returns An <see cref="T:System.IntPtr" /> representing the value of the <see cref="F:System.Runtime.InteropServices.SafeHandle.handle" /> field. If the handle has been marked invalid with <see cref="M:System.Runtime.InteropServices.SafeHandle.SetHandleAsInvalid" /> , this method still returns the original handle value, which can be a stale value.
Returns the value of the <see cref="F:System.Runtime.InteropServices.SafeHandle.handle" /> field.
public void
DangerousRelease​()
Inherited from SafeHandle
Manually decrements the reference counter on a <see cref="T:System.Runtime.InteropServices.SafeHandle" /> instance.
public void
Dispose​()
Inherited from SafeHandle
Releases all resources used by the <see cref="T:System.Runtime.InteropServices.SafeHandle" /> class.
protected void
Dispose​(bool disposing)
Inherited from SafeHandle
disposing <see langword="true" /> for a normal dispose operation; <see langword="false" /> to finalize the handle.
Releases the unmanaged resources used by the <see cref="T:System.Runtime.InteropServices.SafeHandle" /> class specifying whether to perform a normal dispose operation.
protected void
Finalize​()
Inherited from SafeHandle
Frees all resources associated with the handle.
protected bool
ReleaseHandle​()
Inherited from SafeHandle
Returns <see langword="true" /> if the handle is released successfully; otherwise, in the event of a catastrophic failure, <see langword="false" /> . In this case, it generates a releaseHandleFailed Managed Debugging Assistant.
When overridden in a derived class, executes the code required to free the handle.
protected void
SetHandle​(nint handle)
Inherited from SafeHandle
handle The pre-existing handle to use.
Sets the handle to the specified pre-existing handle.
public void
SetHandleAsInvalid​()
Inherited from SafeHandle
Marks a handle as no longer used.
public bool
Equals​(object obj)
Inherited from object
obj The object to compare with the current object.
Returns <see langword="true" /> if the specified object is equal to the current object; otherwise, <see langword="false" /> .
Determines whether the specified object is equal to the current object.
public int
GetHashCode​()
Inherited from object
Returns A hash code for the current object.
Serves as the default hash function.
GetType​()
Inherited from object
Returns The exact runtime type of the current instance.
Gets the <see cref="T:System.Type" /> of the current instance.
protected object
MemberwiseClone​()
Inherited from object
Returns A shallow copy of the current <see cref="T:System.Object" /> .
Creates a shallow copy of the current <see cref="T:System.Object" /> .
public string
ToString​()
Inherited from object
Returns A string that represents the current object.
Returns a string that represents the current object.