SafeNCryptHandle 類別

定義

提供可被 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
繼承
繼承
SafeNCryptHandle
衍生
屬性

備註

這個類別會包裝邏輯,以正確複製並釋放這些句柄,以模擬原生重複。

每個開啟的句柄物件都可以視為處於三種狀態之一:

  • 擁有者 - 透過封送處理器、傳統樣式安全句柄建立。 值得注意的是,給定原生句柄只有一個擁有者句柄存在。
  • 重複 - 指向佔位元狀態的句柄。 釋放重複狀態的句柄,只會遞減持有者的參考計數,而不是在原生句柄的釋放中。
  • 持有者 - 保留至原生句柄,且由處於重複狀態的句柄所參考。 關閉所有重複句柄時,持有者句柄會釋放原生句柄。 持有者句柄永遠不會完成,因為這會導致重複句柄的完成項與持有者句柄之間的競爭。 相反地,它會依賴所有重複句柄來完成,並將 ref 計數遞減為零。 持有者句柄的實例絕對不能被重複句柄以外的任何項目參考。

建構函式

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 類別所使用的 Unmanaged 資源,指定是否要執行一般處置作業。

(繼承來源 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)

適用於