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
- 继承
- 派生
- 属性
- 实现
注解
类 CriticalHandle 类似于 SafeHandle 类,只不过 实现 SafeHandle 引用计数。 当可以更有效地自行提供必要的同步时,可以使用 CriticalHandle 而不是 SafeHandle 来解决性能注意事项。
CriticalHandle由于 类不执行引用计数,因此它不提供防止处理回收安全攻击的保护。 由于引用计数算法隐式序列化操作,因此也会丢失一定数量的线程安全性。 如果在使用句柄的操作在另一个线程上未完成时调用 IDisposable.Dispose 或 Close 方法,或者同时从两个线程调用 IDisposable.Dispose 或 Close ,则结果是不确定的。 类 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) |