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
继承
派生
属性
实现

注解

CriticalHandle 类似于 SafeHandle 类,只不过实现 SafeHandle 引用计数。 CriticalHandle当可以自己更高效地提供必要的同步时,可以使用 而不是 SafeHandle 来解决性能注意事项。

CriticalHandle由于 类不执行引用计数,因此它不提供针对句柄回收安全攻击的保护。 由于引用计数算法隐式序列化操作,因此也会丢失一定数量的线程安全性。 如果在使用 句柄的操作在另一个线程上未完成时调用 IDisposable.DisposeClose 方法,或者同时从两个线程调用 IDisposable.DisposeClose ,则结果是不确定的。 类 CriticalHandle 仍提供类提供的 CriticalFinalizerObject 有保证的关键最终确定。

构造函数

CriticalHandle(IntPtr)

用指定的无效句柄值初始化 CriticalHandle 类的新实例。

字段

handle

指定要包装的句柄。

属性

IsClosed

获取一个值,该值指示句柄是否已关闭。

IsInvalid

在派生类中重写时,获取一个值,该值指示句柄值是否无效。

方法

Close()

标记句柄,以便释放资源。

Dispose()

释放由 CriticalHandle 使用的所有资源。

Dispose(Boolean)

释放 CriticalHandle 类所使用的非托管资源,指定是否执行常规释放操作。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
Finalize()

释放与句柄关联的所有资源。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ReleaseHandle()

在派生类中重写时,执行释放句柄所需的代码。

SetHandle(IntPtr)

将句柄设置为预先存在的指定句柄。

SetHandleAsInvalid()

将句柄标记为无效。

ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于

另请参阅