CriticalHandle.Dispose Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Marks the handle for releasing and freeing resources.
Overloads
Dispose() |
Releases all resources used by the CriticalHandle. |
Dispose(Boolean) |
Releases the unmanaged resources used by the CriticalHandle class specifying whether to perform a normal dispose operation. |
Dispose()
- Source:
- CriticalHandle.cs
- Source:
- CriticalHandle.cs
- Source:
- CriticalHandle.cs
Releases all resources used by the CriticalHandle.
public:
virtual void Dispose();
public void Dispose ();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()
Implements
Remarks
Calling the Close or Dispose method allows the resources to be freed. Unlike the SafeHandle class, this will always happen immediately since there is no reference count to indicate that other threads are using this handle. Therefore, you must employ a synchronization mechanism to ensure it is safe to call the Dispose method. Although most classes that use the CriticalHandle class do not need to provide a finalizer, this is sometimes necessary (for example, to flush out file buffers or to write some data back into memory). In this case, the class can provide a finalizer that is guaranteed to run before the CriticalHandle critical finalizer runs.
Call the Close or Dispose method when you are finished using the CriticalHandle object. The Close method leaves the CriticalHandle object in an unusable state.
Note Always call the Close or Dispose method before you release your last reference to the CriticalHandle object. Otherwise, the resources it is using will not be freed until the garbage collector calls the CriticalHandle object's Finalize method.
Applies to
Dispose(Boolean)
- Source:
- CriticalHandle.cs
- Source:
- CriticalHandle.cs
- Source:
- CriticalHandle.cs
Releases the unmanaged resources used by the CriticalHandle class specifying whether to perform a normal dispose operation.
protected:
virtual void Dispose(bool disposing);
[System.Security.SecurityCritical]
protected virtual void Dispose (bool disposing);
protected virtual void Dispose (bool disposing);
[<System.Security.SecurityCritical>]
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
Protected Overridable Sub Dispose (disposing As Boolean)
Parameters
- disposing
- Boolean
true
for a normal dispose operation; false
to finalize the handle.
- Attributes
Remarks
You should never explicitly call the Dispose method with the disposing
parameter set to false
.