Handle. Close Method
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.
public: void Close();
public void Close ();
[System.Security.SecurityCritical] public void Close ();
member this.Close : unit -> unit
[<System.Security.SecurityCritical>] member this.Close : unit -> unit
Public Sub Close ()
Calling the Close or Dispose method allows the resources to be freed. This might not happen immediately if other threads are using the same safe handle object, but will happen as soon as that is no longer the case. Although most classes that use the SafeHandle 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 SafeHandle critical finalizer runs.
Always call Close or Dispose before you release your last reference to the SafeHandle object. Otherwise, the resources it is using will not be freed until the garbage collector calls the SafeHandle object's Finalize method.