You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/core/unmanaged-api/index.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,16 +9,16 @@ This section includes information on unmanaged APIs that can be used by managed-
9
9
10
10
These articles describe APIs that were introduced in .NET Core 2.0 and later versions, or APIs that can be used with both .NET Framework and .NET. For .NET Framework-specific unmanaged APIs, see [.NET Framework unmanaged API reference](../../framework/unmanaged-api/index.md).
11
11
12
-
## In This Section
12
+
## In this section
13
13
14
-
[Debugging](./debugging/index.md)
14
+
[Debugging](./debugging/index.md)\
15
15
Describes the debugging API, which enables a debugger to debug code that runs in the common language runtime (CLR) environment.
16
16
17
-
[Hosting](./hosting/index.md)
17
+
[Hosting](./hosting/index.md)\
18
18
Describes the hosting API, which enables unmanaged hosts to integrate the CLR into their applications.
19
19
20
-
[Metadata](./metadata/index.md)
20
+
[Metadata](./metadata/index.md)\
21
21
Describes the metadata API, which enables a client such as a compiler to generate or access a component's metadata without the types being loaded by the CLR.
22
22
23
-
[Profiling](./profiling/index.md)
23
+
[Profiling](./profiling/index.md)\
24
24
Describes the profiling API, which enables a profiler to monitor a program's execution by the CLR.
Describes component object model (COM) custom interface attributes.
34
34
35
-
[Debugging](./debugging/index.md)
35
+
[Debugging](./debugging/index.md)\
36
36
Describes the debugging API, which enables a debugger to debug code that runs in the common language runtime (CLR) environment.
37
37
38
-
[Diagnostics Symbol Store](./diagnostics/index.md)
38
+
[Diagnostics Symbol Store](./diagnostics/index.md)\
39
39
Describes the diagnostics symbol store API, which enables a compiler to generate symbol information for use by a debugger.
40
40
41
-
[Fusion](./fusion/index.md)
41
+
[Fusion](./fusion/index.md)\
42
42
Describes the fusion API, which enables a runtime host to access the properties of an application's resources in order to locate the correct versions of those resources for the application.
For metadata APIs that can be used with both .NET Framework and .NET, see the .NET unmanaged API reference.
49
-
50
-
[Profiling](./profiling/index.md)
47
+
[Profiling](./profiling/index.md)\
51
48
Describes the profiling API, which enables a profiler to monitor a program's execution by the CLR.
52
49
53
-
[Strong Naming](./strong-naming/index.md)
50
+
[Strong Naming](./strong-naming/index.md)\
54
51
Describes the strong naming API, which enables a client to administer strong name signing for assemblies.
55
52
56
-
[WMI and Performance Counters](wmi/index.md)
53
+
[WMI and Performance Counters](wmi/index.md)\
57
54
Describes the APIs that wrap calls to Windows Management Instrumentation (WMI) libraries.
58
55
59
-
[Tlbexp Helper Functions](./tlbexp/index.md)
56
+
[Tlbexp Helper Functions](./tlbexp/index.md)\
60
57
Describes the two helper functions and interface used by the Type Library Exporter (Tlbexp.exe) during the assembly-to-type-library conversion process.
Copy file name to clipboardExpand all lines: docs/fundamentals/runtime-libraries/system-threading-thread.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -124,7 +124,7 @@ You can retrieve a number of property values that provide information about a th
124
124
- A thread ID. The value of the read-only <xref:System.Threading.Thread.ManagedThreadId> property is assigned by the runtime and uniquely identifies a thread within its process.
-Thethread's current state. For the duration of its existence, a thread is always in one or more of the states defined by the <xref:System.Threading.ThreadState> property.
Copy file name to clipboardExpand all lines: docs/standard/garbage-collection/app-domain-resource-monitoring.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ As soon as ARM is enabled, it begins collecting data on all application domains
25
25
26
26
- You can enable ARM at CLR startup by adding the [\<appDomainResourceMonitoring>](../../framework/configure-apps/file-schema/runtime/appdomainresourcemonitoring-element.md) element to the configuration file, and setting the `enabled` attribute to `true`. A value of `false` (the default) means only that ARM is not enabled at startup; you can activate it later by using one of the other activation mechanisms.
27
27
28
-
- The host can enable ARM by requesting the [ICLRAppDomainResourceMonitor](../../core/unmanaged-api/hosting/iclrappdomainresourcemonitor-interface.md) hosting interface. Once this interface is successfully obtained, ARM is enabled.
28
+
- The host can enable ARM by requesting the [ICLRAppDomainResourceMonitor](../../framework/unmanaged-api/hosting/iclrappdomainresourcemonitor-interface.md) hosting interface. Once this interface is successfully obtained, ARM is enabled.
29
29
30
30
- Managed code can enable ARM by setting the static (`Shared` in Visual Basic) <xref:System.AppDomain.MonitoringIsEnabled%2A?displayProperty=nameWithType> property to `true`. As soon as the property is set, ARM is enabled.
31
31
@@ -39,31 +39,31 @@ ARM provides the total processor time that is used by an application domain and
- ETW events: `ThreadCreated`, `ThreadAppDomainEnter`, and `ThreadTerminated` events. For information about providers and keywords, see "AppDomain Resource Monitoring Events" in [CLR ETW Events](../../framework/performance/clr-etw-events.md).
45
45
46
46
-**Total managed allocations made by an application domain during its lifetime, in bytes**: Total allocations do not always reflect memory use by an application domain, because the allocated objects might be short-lived. However, if an application allocates and frees huge numbers of objects, the cost of the allocations could be significant.
-**Managed memory, in bytes, that is referenced by an application domain and that survived the most recent full, blocking collection**: This number is accurate only after a full, blocking collection. (This is in contrast to concurrent collections, which occur in the background and do not block the application.) For example, the <xref:System.GC.Collect?displayProperty=nameWithType> method overload causes a full, blocking collection.
-**Total managed memory, in bytes, that is referenced by the process and that survived the most recent full, blocking collection**: The survived memory for individual application domains can be compared to this number.
@@ -79,11 +79,11 @@ Alternatively, you can call the <xref:System.GC.CollectionCount%2A?displayProper
79
79
80
80
#### Hosting API
81
81
82
-
If you use the unmanaged hosting API, your host must pass the CLR an implementation of the [IHostGCManager](../../core/unmanaged-api/hosting/ihostgcmanager-interface.md) interface. The CLR calls the [IHostGCManager::SuspensionEnding](../../core/unmanaged-api/hosting/ihostgcmanager-suspensionending-method.md) method when it resumes execution of threads that have been suspended while a collection occurs. The CLR passes the generation of the completed collection as a parameter of the method, so the host can determine whether the collection was full or partial. Your implementation of the [IHostGCManager::SuspensionEnding](../../core/unmanaged-api/hosting/ihostgcmanager-suspensionending-method.md) method can query for survived memory, to ensure that the counts are retrieved as soon as they are updated.
82
+
If you use the unmanaged hosting API, your host must pass the CLR an implementation of the [IHostGCManager](../../framework/unmanaged-api/hosting/ihostgcmanager-interface.md) interface. The CLR calls the [IHostGCManager::SuspensionEnding](../../framework/unmanaged-api/hosting/ihostgcmanager-suspensionending-method.md) method when it resumes execution of threads that have been suspended while a collection occurs. The CLR passes the generation of the completed collection as a parameter of the method, so the host can determine whether the collection was full or partial. Your implementation of the [IHostGCManager::SuspensionEnding](../../framework/unmanaged-api/hosting/ihostgcmanager-suspensionending-method.md) method can query for survived memory, to ensure that the counts are retrieved as soon as they are updated.
Copy file name to clipboardExpand all lines: docs/standard/garbage-collection/performance.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -117,7 +117,7 @@ If fragmentation of virtual memory is preventing the garbage collector from addi
117
117
- Holding too many references to COM objects when interoperating with unmanaged code.
118
118
- Creation of large transient objects, which causes the large object heap to allocate and free heap segments frequently.
119
119
120
-
When hosting the CLR, an application can request that the garbage collector retain its segments. This reduces the frequency of segment allocations. This is accomplished by using the STARTUP_HOARD_GC_VM flag in the [STARTUP_FLAGS Enumeration](../../core/unmanaged-api/hosting/startup-flags-enumeration.md).
120
+
When hosting the CLR, an application can request that the garbage collector retain its segments. This reduces the frequency of segment allocations. This is accomplished by using the STARTUP_HOARD_GC_VM flag in the [STARTUP_FLAGS Enumeration](../../framework/unmanaged-api/hosting/startup-flags-enumeration.md).
Copy file name to clipboardExpand all lines: docs/standard/threading/exceptions-in-managed-threads.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ If these exceptions are unhandled in the main thread, or in threads that entered
34
34
35
35
## Host override
36
36
37
-
An unmanaged host can use the [ICLRPolicyManager](../../core/unmanaged-api/hosting/iclrpolicymanager-interface.md) interface in the Hosting API to override the default unhandled exception policy of the common language runtime. The [ICLRPolicyManager::SetUnhandledExceptionPolicy](../../core/unmanaged-api/hosting/iclrpolicymanager-setunhandledexceptionpolicy-method.md) function is used to set the policy for unhandled exceptions.
37
+
An unmanaged host can use the [ICLRPolicyManager](../../framework/unmanaged-api/hosting/iclrpolicymanager-interface.md) interface in the Hosting API to override the default unhandled exception policy of the common language runtime. The [ICLRPolicyManager::SetUnhandledExceptionPolicy](../../framework/unmanaged-api/hosting/iclrpolicymanager-setunhandledexceptionpolicy-method.md) function is used to set the policy for unhandled exceptions.
Copy file name to clipboardExpand all lines: docs/standard/threading/the-managed-thread-pool.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,7 +38,7 @@ The number of operations that can be queued to the thread pool is limited only b
38
38
You can control the maximum number of threads by using the <xref:System.Threading.ThreadPool.GetMaxThreads%2A?displayProperty=nameWithType> and <xref:System.Threading.ThreadPool.SetMaxThreads%2A?displayProperty=nameWithType> methods.
39
39
40
40
> [!NOTE]
41
-
> Code that hosts the common language runtime can set the size using the [`ICorThreadpool::CorSetMaxThreads`](../../core/unmanaged-api/hosting/icorthreadpool-corsetmaxthreads-method.md) method.
41
+
> Code that hosts the common language runtime can set the size using the [`ICorThreadpool::CorSetMaxThreads`](../../framework/unmanaged-api/hosting/icorthreadpool-corsetmaxthreads-method.md) method.
42
42
43
43
### Thread pool minimums
44
44
@@ -56,7 +56,7 @@ When a minimum is reached, the thread pool can create additional threads or wait
56
56
57
57
The easiest way to use the thread pool is to use the [Task Parallel Library (TPL)](../parallel-programming/task-parallel-library-tpl.md). By default, TPL types like <xref:System.Threading.Tasks.Task> and <xref:System.Threading.Tasks.Task%601> use thread pool threads to run tasks.
58
58
59
-
You can also use the thread pool by calling <xref:System.Threading.ThreadPool.QueueUserWorkItem%2A?displayProperty=nameWithType> from managed code (or [`ICorThreadpool::CorQueueUserWorkItem`](../../core/unmanaged-api/hosting/icorthreadpool-corqueueuserworkitem-method.md) from unmanaged code) and passing a <xref:System.Threading.WaitCallback?displayProperty=nameWithType> delegate representing the method that performs the task.
59
+
You can also use the thread pool by calling <xref:System.Threading.ThreadPool.QueueUserWorkItem%2A?displayProperty=nameWithType> from managed code (or [`ICorThreadpool::CorQueueUserWorkItem`](../../framework/unmanaged-api/hosting/icorthreadpool-corqueueuserworkitem-method.md) from unmanaged code) and passing a <xref:System.Threading.WaitCallback?displayProperty=nameWithType> delegate representing the method that performs the task.
60
60
61
61
Another way to use the thread pool is to queue work items that are related to a wait operation by using the <xref:System.Threading.ThreadPool.RegisterWaitForSingleObject%2A?displayProperty=nameWithType> method and passing a <xref:System.Threading.WaitHandle?displayProperty=nameWithType> that, when signaled or when timed out, calls the method represented by the <xref:System.Threading.WaitOrTimerCallback?displayProperty=nameWithType> delegate. Thread pool threads are used to invoke callback methods.
0 commit comments