SafeNCryptHandle SafeNCryptHandle SafeNCryptHandle SafeNCryptHandle Class

定義

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
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public abstract class SafeNCryptHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
type SafeNCryptHandle = class
    inherit SafeHandleZeroOrMinusOneIsInvalid
Public MustInherit Class SafeNCryptHandle
Inherits SafeHandleZeroOrMinusOneIsInvalid
継承
派生
属性

注釈

このクラスは、これらのハンドルを正しく複製して解放し、ネイティブ複製をシミュレートするロジックをラップします。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() SafeNCryptHandle() SafeNCryptHandle() SafeNCryptHandle()

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

SafeNCryptHandle(IntPtr, SafeHandle) SafeNCryptHandle(IntPtr, SafeHandle) SafeNCryptHandle(IntPtr, SafeHandle) SafeNCryptHandle(IntPtr, SafeHandle)

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

プロパティ

IsClosed IsClosed IsClosed IsClosed

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

(Inherited from SafeHandle)
IsInvalid IsInvalid IsInvalid IsInvalid

メソッド

Close() Close() Close() Close()

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

(Inherited from SafeHandle)
DangerousAddRef(Boolean) DangerousAddRef(Boolean) DangerousAddRef(Boolean) DangerousAddRef(Boolean)

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

(Inherited from SafeHandle)
DangerousGetHandle() DangerousGetHandle() DangerousGetHandle() DangerousGetHandle()

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

(Inherited from SafeHandle)
DangerousRelease() DangerousRelease() DangerousRelease() DangerousRelease()

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

(Inherited from SafeHandle)
Dispose() Dispose() Dispose() Dispose()

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

(Inherited from SafeHandle)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

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

(Inherited from SafeHandle)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
ReleaseHandle() ReleaseHandle() ReleaseHandle() ReleaseHandle()

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

ReleaseNativeHandle() ReleaseNativeHandle() ReleaseNativeHandle() ReleaseNativeHandle()

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

SetHandle(IntPtr) SetHandle(IntPtr) SetHandle(IntPtr) SetHandle(IntPtr)

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

(Inherited from SafeHandle)
SetHandleAsInvalid() SetHandleAsInvalid() SetHandleAsInvalid() SetHandleAsInvalid()

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

(Inherited from SafeHandle)
ToString() ToString() ToString() ToString()

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

(Inherited from Object)

フィールド

handle handle handle handle

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

(Inherited from SafeHandle)

セキュリティ

SecurityPermission
アンマネージコードを呼び出すためのアクセス許可。for permission to call unmanaged code. セキュリティアクション: InheritanceDemandSecurity action: InheritanceDemand. 関連付けられた列挙型:UnmanagedCodeAssociated enumeration: UnmanagedCode

適用対象