CriticalHandle 類別
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表控制代碼資源的包裝函式類別。
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.Dispose 或 Close 方法,或同時呼叫 IDisposable.Dispose 兩 Close 個線程,則結果不具決定性。 類別 CriticalHandle 仍然提供 類別所提供的 CriticalFinalizerObject 保證關鍵最終處理。
Critical |
使用指定的無效控制代碼值,初始化 CriticalHandle 類別的新執行個體。 |
handle |
指定要包裝的控制代碼。 |
Close() |
標記要釋出和釋放資源的控制代碼。 |
Dispose() |
釋放 CriticalHandle 所使用的所有資源。 |
Dispose(Boolean) |
釋放 CriticalHandle 類別所使用的 Unmanaged 資源,指定是否要執行一般處置作業。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
Finalize() |
釋放與控制代碼相關的所有資源。 |
Get |
做為預設雜湊函式。 (繼承來源 Object) |
Get |
取得目前執行個體的 Type。 (繼承來源 Object) |
Memberwise |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
Release |
在衍生類別中覆寫時,執行釋放控制代碼所需的程式碼。 |
Set |
將控制代碼設定為指定的既有控制代碼。 |
Set |
將控制代碼標示為無效。 |
To |
傳回代表目前物件的字串。 (繼承來源 Object) |
產品 | 版本 |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10 |
.NET Framework | 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |