SafeNCryptHandle クラス

定義

CNG (Cryptography Next Generation) オブジェクトで使用できるセーフ ハンドルを提供します。Provides a safe handle that can be used by Cryptography Next Generation (CNG) objects.

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

public ref class SafeNCryptHandle abstract : Microsoft::Win32::SafeHandles::SafeHandleZeroOrMinusOneIsInvalid
public ref class SafeNCryptHandle abstract : System::Runtime::InteropServices::SafeHandle
public abstract class SafeNCryptHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
public abstract class SafeNCryptHandle : System.Runtime.InteropServices.SafeHandle
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public abstract class SafeNCryptHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
type SafeNCryptHandle = class
    inherit SafeHandleZeroOrMinusOneIsInvalid
type SafeNCryptHandle = class
    inherit SafeHandle
[<System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)>]
type SafeNCryptHandle = class
    inherit SafeHandleZeroOrMinusOneIsInvalid
Public MustInherit Class SafeNCryptHandle
Inherits SafeHandleZeroOrMinusOneIsInvalid
Public MustInherit Class SafeNCryptHandle
Inherits SafeHandle
継承
継承
SafeNCryptHandle
派生
属性

注釈

このクラスは、これらのハンドルを正しく複製して解放し、ネイティブ複製をシミュレートするロジックをラップします。This class wraps up the logic to correctly duplicate and free these handles to simulate a native duplication.

開いている各ハンドルオブジェクトは、次の3つの状態のいずれかであると考えることができます。Each open handle object can be thought of as being in one of three states:

  • マーシャラーを使用して作成された所有者(従来のスタイルセーフハンドル)。Owner - Created via the marshaler, traditional style safe handle. 特に、特定のネイティブハンドルに存在する所有者ハンドルは1つだけです。Notably, only one owner handle exists for a given native handle.
  • ホルダー状態のハンドルの重複するポイント。Duplicate - Points at a handle in the Holder state. 重複状態のハンドルを解放すると、は、ネイティブハンドルのリリースではなく、ホルダーの参照カウントをデクリメントするだけです。Releasing a handle in the duplicate state results only in decrementing the reference count of the holder, not in a release of the native handle.
  • ホルダー -はネイティブハンドルに保持され、重複状態のハンドルによって参照されます。Holder - Holds onto a native handle and is referenced by handles in the duplicate state. すべての重複するハンドルが閉じられると、ホルダーハンドルはネイティブハンドルを解放します。When all duplicate handles are closed, the holder handle releases the native handle. ホルダーハンドルは完了しません。これは、重複するハンドルとホルダーハンドルのファイナライザーが競合するためです。A holder handle will never be finalized, since this results in a race between the finalizers of the duplicate handles and the holder handle. 代わりに、すべての重複するハンドルを完了させ、参照カウントを0にデクリメントします。Instead, it relies upon all of the duplicate handles to be finalized and decrement the ref count to zero. ホルダーハンドルのインスタンスは、重複するハンドル以外では参照されないようにする必要があります。Instances of a holder handle should never be referenced by anything but a duplicate handle.

コンストラクター

SafeNCryptHandle()

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

SafeNCryptHandle クラスの新しいインスタンスを初期化します。Initializes a new instance of the SafeNCryptHandle class.

SafeNCryptHandle(IntPtr, SafeHandle)

SafeNCryptHandle クラスの新しいインスタンスを生成します。Instantiates a new instance of the SafeNCryptHandle class.

フィールド

handle

ラップするハンドルを指定します。Specifies the handle to be wrapped.

(継承元 SafeHandle)

プロパティ

IsClosed

ハンドルが閉じているかどうかを示す値を取得します。Gets a value indicating whether the handle is closed.

(継承元 SafeHandle)
IsInvalid

ハンドルが無効かどうかを示す値を取得します。Gets a value that indicates whether the handle is invalid.

IsInvalid

ハンドルが無効かどうかを示す値を取得します。Gets a value that indicates whether the handle is invalid.

(継承元 SafeHandleZeroOrMinusOneIsInvalid)

メソッド

Close()

リソースを解放するためのハンドルをマークします。Marks the handle for releasing and freeing resources.

(継承元 SafeHandle)
DangerousAddRef(Boolean)

SafeHandle インスタンスの参照カウンターを手動でインクリメントします。Manually increments the reference counter on SafeHandle instances.

(継承元 SafeHandle)
DangerousGetHandle()

handle フィールドの値を戻します。Returns the value of the handle field.

(継承元 SafeHandle)
DangerousRelease()

SafeHandle インスタンスの参照カウンターを手動でデクリメントします。Manually decrements the reference counter on a SafeHandle instance.

(継承元 SafeHandle)
Dispose()

SafeHandle クラスによって使用されているすべてのリソースを解放します。Releases all resources used by the SafeHandle class.

(継承元 SafeHandle)
Dispose(Boolean)

通常の破棄操作を実行するかどうかを指定して、SafeHandle クラスによって使用されているアンマネージ リソースを解放します。Releases the unmanaged resources used by the SafeHandle class specifying whether to perform a normal dispose operation.

(継承元 SafeHandle)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
ReleaseHandle()

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

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

ReleaseNativeHandle()

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

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

SetHandle(IntPtr)

ハンドルを指定した既存のハンドルに設定します。Sets the handle to the specified pre-existing handle.

(継承元 SafeHandle)
SetHandleAsInvalid()

今後は使用しないものとしてハンドルをマークします。Marks a handle as no longer used.

(継承元 SafeHandle)
ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)

適用対象