// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /* -------------------------------------------------------------------------- * * Common Language Runtime Profiling interfaces * * The IGCHost allows a host environment to get statistics about the * garbage collector as well as to gain some limited control over collections. * This interface can be QueryInterface'd for on from the CorHost object. * -------------------------------------------------------------------------- */ import "unknwn.idl"; #if defined(FEATURE_WINDOWSPHONE) /* * This structure is used to return statics for the GC system. Set the Flags * value to a bitmask of values that should be returned. Only those values which * are requested are calculated and returned to the caller. */ typedef struct _COR_GC_STATS { ULONG Flags; // What values to get. // Value when COR_GC_COUNTS is specified. SIZE_T ExplicitGCCount; // How many times was GC forced to run by external request. SIZE_T GenCollectionsTaken[3]; // Number of collections done for each generation // Memory sizes, valid for COR_GC_MEMORYUSAGE. SIZE_T CommittedKBytes; // Total committed bytes from all heaps. SIZE_T ReservedKBytes; // Total reserved bytes from all heaps. SIZE_T Gen0HeapSizeKBytes; // Size of gen 0 heap. SIZE_T Gen1HeapSizeKBytes; // Size of gen 1 heap. SIZE_T Gen2HeapSizeKBytes; // Size of gen 2 heap. SIZE_T LargeObjectHeapSizeKBytes; // Size of large object heap. SIZE_T KBytesPromotedFromGen0; // How many bytes promoted to next generation. SIZE_T KBytesPromotedFromGen1; } COR_GC_STATS; #endif // FEATURE_WINDOWSPHONE cpp_quote("/*") cpp_quote(" * WARNING - This is a dummy interface that should never be used.") cpp_quote(" * The code is written this way because Midl requires a CoClass, Interface, etc... that generates") cpp_quote(" * a guid. Removing the IGCHost interface removes the only guid") cpp_quote(" * This option was selected because ifdefs are not simple to implement for excluding files in SOURCES") cpp_quote("*/") [ object, uuid(F9423916-2A35-4f03-9EE9-DDAFA3C8AEE0), pointer_default(unique), local ] interface IDummyDoNotUse : IUnknown { }