Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

CriticalHandle::Dispose Method

Releases all resources used by the CriticalHandle.

Namespace:  System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)
public:
virtual void Dispose() sealed

Implements

IDisposable::Dispose()

Calling the Close or Dispose method allows the resources to be freed. Unlike the SafeHandle class, this will always happen immediately since there is no reference count to indicate that other threads are using this handle. Therefore, you must employ a synchronization mechanism to ensure it is safe to call the Dispose method. Although most classes that use the CriticalHandle class do not need to provide a finalizer, this is sometimes necessary (for example, to flush out file buffers or to write some data back into memory). In this case, the class can provide a finalizer that is guaranteed to run before the CriticalHandle critical finalizer runs.

Call the Close or Dispose method when you are finished using the CriticalHandle object. The Close method leaves the CriticalHandle object in an unusable state.

Note   Always call the Close or Dispose method before you release your last reference to the CriticalHandle object. Otherwise, the resources it is using will not be freed until the garbage collector calls the CriticalHandle object's Finalize method.

.NET Framework

Supported in: 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft. All rights reserved.