SafeNCryptHandle クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Cryptography Next Generation (CNG) オブジェクトで使用できる安全なハンドルを提供します。
この 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
- 継承
- 継承
- 派生
- 属性
注釈
このクラスは、これらのハンドルを正しく複製して解放するロジックをラップして、ネイティブの重複をシミュレートします。
開いている各ハンドル オブジェクトは、次の 3 つの状態のいずれかであると考えることができます。
- 所有者 - マーシャラー、伝統的なスタイルの安全なハンドルを介して作成されます。 特に、特定のネイティブ ハンドルに対して存在する所有者ハンドルは 1 つだけです。
- 複製 - ホルダー状態のハンドルをポイントします。 重複状態のハンドルを解放すると、ネイティブ ハンドルのリリースではなく、ホルダーの参照カウントのみがデクリメントされます。
- ホルダー - ネイティブ ハンドルを保持し、重複状態のハンドルによって参照されます。 重複するすべてのハンドルが閉じられると、ホルダー ハンドルはネイティブ ハンドルを解放します。 この結果、重複するハンドルのファイナライザーとホルダー ハンドルの間で競合が生じるので、ホルダー ハンドルはファイナライズされません。 代わりに、すべての重複するハンドルに依存して終了し、ref カウントを 0 に減らします。 ホルダー ハンドルのインスタンスは、重複するハンドル以外では参照しないでください。
コンストラクター
| 名前 | 説明 |
|---|---|
| SafeNCryptHandle() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 SafeNCryptHandle クラスの新しいインスタンスを初期化します。 |
| SafeNCryptHandle(IntPtr, SafeHandle) |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 SafeNCryptHandle クラスの新しいインスタンスをインスタンス化します。 |
フィールド
| 名前 | 説明 |
|---|---|
| handle |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 ラップするハンドルを指定します。 (継承元 SafeHandle) |
プロパティ
| 名前 | 説明 |
|---|---|
| IsClosed |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 ハンドルが閉じているかどうかを示す値を取得します。 (継承元 SafeHandle) |
| IsInvalid |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 ハンドルが無効かどうかを示す値を取得します。 |
| IsInvalid |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 ハンドルが無効かどうかを示す値を取得します。 (継承元 SafeHandleZeroOrMinusOneIsInvalid) |
メソッド
| 名前 | 説明 |
|---|---|
| Close() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 リソースを解放および解放するためのハンドルをマークします。 (継承元 SafeHandle) |
| DangerousAddRef(Boolean) |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 SafeHandleインスタンスの参照カウンターを手動でインクリメントします。 (継承元 SafeHandle) |
| DangerousGetHandle() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 handle フィールドの値を返します。 (継承元 SafeHandle) |
| DangerousRelease() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 SafeHandle インスタンスの参照カウンターを手動でデクリメントします。 (継承元 SafeHandle) |
| Dispose() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 SafeHandle クラスによって使用されるすべてのリソースを解放します。 (継承元 SafeHandle) |
| Dispose(Boolean) |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 通常の破棄操作を実行するかどうかを指定する、 SafeHandle クラスによって使用されるアンマネージ リソースを解放します。 (継承元 SafeHandle) |
| Equals(Object) |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
| GetHashCode() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 既定のハッシュ関数として機能します。 (継承元 Object) |
| GetType() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 現在のインスタンスの Type を取得します。 (継承元 Object) |
| MemberwiseClone() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| ReleaseHandle() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 Cryptography Next Generation (CNG) オブジェクトで使用されるハンドルを解放します。 |
| ReleaseNativeHandle() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 Cryptography Next Generation (CNG) オブジェクトで使用されるネイティブ ハンドルを解放します。 |
| SetHandle(IntPtr) |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 指定した既存のハンドルにハンドルを設定します。 (継承元 SafeHandle) |
| SetHandleAsInvalid() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 ハンドルを使用しなくなったものとしてマークします。 (継承元 SafeHandle) |
| ToString() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 現在のオブジェクトを表す文字列を返します。 (継承元 Object) |