SafeNCryptHandle.ReleaseHandle メソッド


CNG (Cryptography Next Generation) オブジェクトで使用されるハンドルを解放します。Releases a handle used by a Cryptography Next Generation (CNG) object.

この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。

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


ハンドルが正常に解放された場合は true。それ以外の場合は falsetrue if the handle is released successfully; otherwise, false.


重複と同様に、ハンドルを解放すると、ハンドルの状態に基づいてさまざまな操作が実行されます。Similar to duplication, releasing a handle performs different operations based upon the state of the handle.

ParentHandle 値を使用して構築されたインスタンスは、parentHandle オブジェクトでのみ DangerousRelease を呼び出します。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 -release P/Invoke メソッドを呼び出します。Owner - Simply calls the release P/Invoke method.
  • Duplicate -現在の所有者の参照カウントをデクリメントします。Duplicate - Decrements the reference count of the current holder.
  • [所有者]-リリース P/Invoke を呼び出します。Holder - Calls the release P/Invoke. ホルダーの ReleaseHandle は、参照カウントが0であることに注意してください。Note that ReleaseHandle on a holder implies a reference count of zero.