class System.Runtime.InteropServices.SafeHandle
   inherits System.Runtime.ConstrainedExecution.CriticalFinalizerObject
   implements System.IDisposable
   abstract:

   def protected variable handle as System.IntPtr.

   def public property IsClosed as logical
      get.

   def public abstract property IsInvalid as logical
      get.

   constructor protected SafeHandle(input invalidHandleValue as System.IntPtr, input ownsHandle as logical):
   end constructor.

   method protected final override void Finalize():
   end method.

   method protected final void SetHandle(input handle as System.IntPtr):
   end method.

   method public final System.IntPtr DangerousGetHandle():
   end method.

   method public final void Close():
   end method.

   method public final void Dispose():
   end method.

   method protected final void Dispose(input disposing as logical):
   end method.

   method public final void SetHandleAsInvalid():
   end method.

   method protected abstract logical ReleaseHandle().

   method public final void DangerousAddRef(input success as logical):
   end method.

   method public final void DangerousRelease():
   end method.

end class.
