mirror of
https://github.com/mirror/processhacker
synced 2026-06-08 16:03:24 +00:00
b02427417c
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@5614 21ef857c-d57f-4fe0-8362-d861dc6d29cd
56 lines
2.0 KiB
C#
56 lines
2.0 KiB
C#
using System;
|
|
|
|
namespace ProcessHacker.Common.Objects
|
|
{
|
|
public interface IRefCounted : IDisposable
|
|
{
|
|
/// <summary>
|
|
/// Decrements the reference count of the object.
|
|
/// </summary>
|
|
/// <returns>The new reference count.</returns>
|
|
int Dereference();
|
|
|
|
/// <summary>
|
|
/// Decrements the reference count of the object.
|
|
/// </summary>
|
|
/// <param name="managed">Whether to dispose managed resources.</param>
|
|
/// <returns>The new reference count.</returns>
|
|
int Dereference(bool managed);
|
|
|
|
/// <summary>
|
|
/// Decreases the reference count of the object.
|
|
/// </summary>
|
|
/// <param name="count">The number of times to dereference the object.</param>
|
|
/// <returns>The new reference count.</returns>
|
|
int Dereference(int count);
|
|
|
|
/// <summary>
|
|
/// Decreases the reference count of the object.
|
|
/// </summary>
|
|
/// <param name="count">The number of times to dereference the object.</param>
|
|
/// <param name="managed">Whether to dispose managed resources.</param>
|
|
/// <returns>The new reference count.</returns>
|
|
int Dereference(int count, bool managed);
|
|
|
|
/// <summary>
|
|
/// Ensures that the reference counting system has exclusive control
|
|
/// over the lifetime of the object.
|
|
/// </summary>
|
|
/// <param name="managed">Whether to dispose managed resources.</param>
|
|
void Dispose(bool managed);
|
|
|
|
/// <summary>
|
|
/// Increments the reference count of the object.
|
|
/// </summary>
|
|
/// <returns>The new reference count.</returns>
|
|
int Reference();
|
|
|
|
/// <summary>
|
|
/// Increases the reference count of the object.
|
|
/// </summary>
|
|
/// <param name="count">The number of times to reference the object.</param>
|
|
/// <returns>The new reference count.</returns>
|
|
int Reference(int count);
|
|
}
|
|
}
|