Silverlight 5 WinRT

  public abstract class CriticalHandleMinusOneIsInvalid
  : CriticalHandle, IDisposable
  public virtual Boolean IsInvalid { get; }

  public abstract class CriticalHandleZeroOrMinusOneIsInvalid
  : CriticalHandle, IDisposable
  public virtual Boolean IsInvalid { get; }

  public sealed class SafeFileHandle
  : SafeHandleZeroOrMinusOneIsInvalid, IDisposable
  protected virtual Boolean ReleaseHandle();

  public abstract class SafeHandleMinusOneIsInvalid
  : SafeHandle, IDisposable
  public virtual Boolean IsInvalid { get; }

  public abstract class SafeHandleZeroOrMinusOneIsInvalid
  : SafeHandle, IDisposable
  public virtual Boolean IsInvalid { get; }

  public sealed class SafeMemoryMappedFileHandle
  : SafeHandleZeroOrMinusOneIsInvalid, IDisposable
  protected virtual Boolean ReleaseHandle();

  public sealed class SafeMemoryMappedViewHandle
  : SafeBuffer, IDisposable
  protected virtual Boolean ReleaseHandle();

  public abstract class SafeNCryptHandle
  : SafeHandleZeroOrMinusOneIsInvalid, IDisposable
  protected virtual Boolean ReleaseHandle();
  protected abstract virtual Boolean ReleaseNativeHandle();

  public sealed class SafeNCryptKeyHandle
  : SafeNCryptHandle, IDisposable
  protected virtual Boolean ReleaseNativeHandle();

  public sealed class SafeNCryptProviderHandle
  : SafeNCryptHandle, IDisposable
  protected virtual Boolean ReleaseNativeHandle();

  public sealed class SafeNCryptSecretHandle
  : SafeNCryptHandle, IDisposable
  protected virtual Boolean ReleaseNativeHandle();

  public sealed class SafePipeHandle
  : SafeHandleZeroOrMinusOneIsInvalid, IDisposable
  protected virtual Boolean ReleaseHandle();

  public sealed class SafeRegistryHandle
  : SafeHandleZeroOrMinusOneIsInvalid, IDisposable
  protected virtual Boolean ReleaseHandle();

  public sealed class SafeWaitHandle
  : SafeHandleZeroOrMinusOneIsInvalid, IDisposable
  protected virtual Boolean ReleaseHandle();