SafeNCryptHandle.ReleaseHandle Method


Releases a handle used by a Cryptography Next Generation (CNG) object.

This API supports the product infrastructure and is not intended to be used directly from your code.

 override bool ReleaseHandle();
protected override bool ReleaseHandle ();
override this.ReleaseHandle : unit -> bool
Protected Overrides Function ReleaseHandle () As Boolean



true if the handle is released successfully; otherwise, false.


Similar to duplication, releasing a handle performs different operations based upon the state of the handle.

An instance that was constructed with a parentHandle value will only call DangerousRelease on the parentHandle object. Otherwise, the behavior is dictated by the ownership state.

  • Owner - Simply calls the release P/Invoke method.
  • Duplicate - Decrements the reference count of the current holder.
  • Holder - Calls the release P/Invoke. Note that ReleaseHandle on a holder implies a reference count of zero.

Applies to