blob: 6d85f91513650c1aea390dceae5fe80240a90d5e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
// 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
{
}
|