SafeHandle Class
Microsoft Silverlight will reach end of support after October 2021. Learn more.
This type can be used only by trusted applications. If you try to use its members in a partial-trust application, your code will throw a MethodAccessException exception. This type is security-critical, which restricts its use.
[SECURITY CRITICAL]
Represents a wrapper class for operating system handles. This class must be inherited.
Inheritance Hierarchy
System.Object
System.Runtime.ConstrainedExecution.CriticalFinalizerObject
System.Runtime.InteropServices.SafeHandle
Namespace: System.Runtime.InteropServices
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
<SecurityCriticalAttribute> _
Public MustInherit Class SafeHandle _
Inherits CriticalFinalizerObject _
Implements IDisposable
[SecurityCriticalAttribute]
public abstract class SafeHandle : CriticalFinalizerObject,
IDisposable
The SafeHandle type exposes the following members.
Constructors
Name | Description | |
---|---|---|
SafeHandle() | Initializes a new instance of the SafeHandle class using system defaults. | |
SafeHandle(IntPtr, Boolean) | Initializes a new instance of the SafeHandle class with the specified invalid handle value. |
Top
Properties
Name | Description | |
---|---|---|
IsClosed | Gets a value indicating whether the handle is closed. | |
IsInvalid | When overridden in a derived class, gets a value indicating whether the handle value is invalid. |
Top
Methods
Name | Description | |
---|---|---|
Close | Security Critical. Marks the handle for releasing and freeing resources. | |
DangerousAddRef | Security Critical. Manually increments the reference counter on SafeHandle instances. | |
DangerousGetHandle | Returns the value of the handle field. | |
DangerousRelease | Security Critical. Manually decrements the reference counter on a SafeHandle instance. | |
Dispose() | Releases all resources used by the SafeHandle class. | |
Dispose(Boolean) | Security Critical. Releases the unmanaged resources used by the SafeHandle class specifying whether to perform a normal dispose operation. | |
Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
Finalize | Frees all resources associated with the handle. (Overrides CriticalFinalizerObject.Finalize().) | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
ReleaseHandle | When overridden in a derived class, executes the code required to free the handle. | |
SetHandle | Sets the handle to the specified pre-existing handle. | |
SetHandleAsInvalid | Security Critical. Marks a handle as no longer used. | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Top
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.