SafeNCryptHandle クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
CNG (Cryptography Next Generation) オブジェクトで使用できるセーフ ハンドルを提供します。
この 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 つだけです。
- Duplicate - ホルダー状態のハンドルをポイントします。 重複した状態でハンドルを解放すると、ネイティブ ハンドルのリリースではなく、ホルダーの参照カウントのみがデクリメントされます。
- ホルダー - ネイティブ ハンドルを保持し、重複した状態のハンドルによって参照されます。 重複するすべてのハンドルが閉じられると、ホルダー ハンドルによってネイティブ ハンドルが解放されます。 これにより、重複するハンドルのファイナライザーとホルダー ハンドルの間で競合が発生するため、ホルダー ハンドルはファイナライズされません。 代わりに、重複するすべてのハンドルを使用して最終処理を行い、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 は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 CNG (Cryptography Next Generation) オブジェクトで使用されるハンドルを解放します。 |
ReleaseNativeHandle() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 CNG (Cryptography Next Generation) オブジェクトで使用されるネイティブ ハンドルを解放します。 |
SetHandle(IntPtr) |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 ハンドルを指定した既存のハンドルに設定します。 (継承元 SafeHandle) |
SetHandleAsInvalid() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 今後は使用しないものとしてハンドルをマークします。 (継承元 SafeHandle) |
ToString() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
適用対象
.NET