File: Windows\Interop\IJobHandle.cs
Web Access
Project: src\src\Libraries\Microsoft.Extensions.Diagnostics.ResourceMonitoring\Microsoft.Extensions.Diagnostics.ResourceMonitoring.csproj (Microsoft.Extensions.Diagnostics.ResourceMonitoring)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
using System;
using static Microsoft.Extensions.Diagnostics.ResourceMonitoring.Windows.Interop.JobObjectInfo;
 
namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring.Windows.Interop;
 
/// <summary>
/// An interface to enable the mocking of job information retrieval.
/// </summary>
internal interface IJobHandle : IDisposable
{
    /// <summary>
    /// Get the current CPU rate information from the Job object.
    /// </summary>
    /// <returns>CPU rate information.</returns>
    JOBOBJECT_CPU_RATE_CONTROL_INFORMATION GetJobCpuLimitInfo();
 
    /// <summary>
    /// Get the current CPU rate information from the Job object.
    /// </summary>
    /// <returns>CPU rate information.</returns>
    JOBOBJECT_BASIC_ACCOUNTING_INFORMATION GetBasicAccountingInfo();
 
    /// <summary>
    /// Get the extended limit information from the Job object.
    /// </summary>
    /// <returns>Extended limit information.</returns>
    JOBOBJECT_EXTENDED_LIMIT_INFORMATION GetExtendedLimitInfo();
}