共用方式為


CriticalHandle 類別

定義

代表控制代碼資源的包裝函式類別。

public ref class CriticalHandle abstract : IDisposable
public ref class CriticalHandle abstract : System::Runtime::ConstrainedExecution::CriticalFinalizerObject, IDisposable
[System.Security.SecurityCritical]
public abstract class CriticalHandle : IDisposable
public abstract class CriticalHandle : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, IDisposable
[System.Security.SecurityCritical]
public abstract class CriticalHandle : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, IDisposable
[<System.Security.SecurityCritical>]
type CriticalHandle = class
    interface IDisposable
type CriticalHandle = class
    inherit CriticalFinalizerObject
    interface IDisposable
[<System.Security.SecurityCritical>]
type CriticalHandle = class
    inherit CriticalFinalizerObject
    interface IDisposable
Public MustInherit Class CriticalHandle
Implements IDisposable
Public MustInherit Class CriticalHandle
Inherits CriticalFinalizerObject
Implements IDisposable
繼承
CriticalHandle
繼承
衍生
屬性
實作

備註

類別類似於 SafeHandle 類別CriticalHandle,但實作參考計數除外SafeHandle。 當您可以自行更有效率地提供必要的同步處理時,您可以使用 CriticalHandle 來代替 SafeHandle 來解決效能考慮。

因為 類別 CriticalHandle 不會執行參考計數,所以不會提供保護來處理回收安全性攻擊。 因為參考計數演算法會隱含串行化作業,所以也會遺失特定數量的線程安全性。 如果您在另一個線程上使用句柄的作業未完成時呼叫 IDisposable.DisposeClose 方法,或同時呼叫 IDisposable.DisposeClose 個線程,則結果不具決定性。 類別 CriticalHandle 仍然提供 類別所提供的 CriticalFinalizerObject 保證關鍵最終處理。

建構函式

CriticalHandle(IntPtr)

使用指定的無效控制代碼值,初始化 CriticalHandle 類別的新執行個體。

欄位

handle

指定要包裝的控制代碼。

屬性

IsClosed

取得值,指出控制代碼是否已關閉。

IsInvalid

在衍生類別中覆寫時,取得值以指出這個控制代碼值是否無效。

方法

Close()

標記要釋出和釋放資源的控制代碼。

Dispose()

釋放 CriticalHandle 所使用的所有資源。

Dispose(Boolean)

釋放 CriticalHandle 類別所使用的 Unmanaged 資源,指定是否要執行一般處置作業。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Finalize()

釋放與控制代碼相關的所有資源。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ReleaseHandle()

在衍生類別中覆寫時,執行釋放控制代碼所需的程式碼。

SetHandle(IntPtr)

將控制代碼設定為指定的既有控制代碼。

SetHandleAsInvalid()

將控制代碼標示為無效。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於

另請參閱