Skip to content

Commit 8aee3b6

Browse files
authored
Move unmanaged APIs for Metadata to /core folder (#46991)
1 parent 9665c12 commit 8aee3b6

File tree

492 files changed

+17131
-17159
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

492 files changed

+17131
-17159
lines changed

.openpublishing.redirection.framework.json

Lines changed: 1164 additions & 0 deletions
Large diffs are not rendered by default.

docs/core/unmanaged-api/index.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
description: "Learn more about unmanaged APIs for .NET"
3+
title: .NET unmanaged API reference
4+
ms.date: 09/19/2023
5+
---
6+
# .NET unmanaged API reference
7+
8+
This section includes information on unmanaged APIs that can be used by managed-code-related applications, such as runtime hosts, compilers, disassemblers, obfuscators, debuggers, and profilers.
9+
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.
11+
12+
For .NET Framework-specific unmanaged APIs, see [.NET Framework unmanaged API reference](../../framework/unmanaged-api/index.md).
13+
14+
## In this section
15+
16+
[Debugging](./debugging/index.md)\
17+
Describes the debugging API, which enables a debugger to debug code that runs in the common language runtime (CLR) environment.
18+
19+
[Metadata](./metadata/interfaces/metadata-interfaces.md)\
20+
Describes the metadata interfaces, which enable a client such as a compiler to generate or access a component's metadata without the types being loaded by the CLR.
21+
22+
[Profiling](./profiling/index.md)\
23+
Describes the profiling API, which enables a profiler to monitor a program's execution by the CLR.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
description: "Learn more about: AssemblyRefFlags Enumeration"
3+
title: "AssemblyRefFlags Enumeration"
4+
ms.date: "03/30/2017"
5+
api_name:
6+
- "AssemblyRefFlags"
7+
api_location:
8+
- "mscoree.dll"
9+
api_type:
10+
- "COM"
11+
f1_keywords:
12+
- "AssemblyRefFlags"
13+
topic_type:
14+
- "apiref"
15+
---
16+
# AssemblyRefFlags Enumeration
17+
18+
Contains values that describe features of an assembly reference.
19+
20+
## Syntax
21+
22+
```cpp
23+
typedef enum {
24+
arfFullOriginator = 0x0001
25+
} AssemblyRefFlags;
26+
```
27+
28+
## Members
29+
30+
|Member|Description|
31+
|------------|-----------------|
32+
|`arfFullOriginator`|Specifies that the assembly reference contains full, unhashed information about the publisher of the assembly.|
33+
34+
## Requirements
35+
36+
**Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
37+
38+
**Header:** Cor.h
39+
40+
## See also
41+
42+
- [IMetaDataAssemblyEmit Interface](../interfaces/imetadataassemblyemit-interface.md)
43+
- [DefineAssemblyRef Method](../interfaces/imetadataassemblyemit-defineassemblyref-method.md)
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
---
2+
description: "Learn more about: CorAssemblyFlags Enumeration"
3+
title: "CorAssemblyFlags Enumeration"
4+
ms.date: "03/30/2017"
5+
api_name:
6+
- "CorAssemblyFlags"
7+
api_location:
8+
- "mscoree.dll"
9+
api_type:
10+
- "COM"
11+
f1_keywords:
12+
- "CorAssemblyFlags"
13+
topic_type:
14+
- "apiref"
15+
---
16+
# CorAssemblyFlags Enumeration
17+
18+
Contains values that describe the metadata applied to an assembly compilation.
19+
20+
## Syntax
21+
22+
```cpp
23+
typedef enum CorAssemblyFlags {
24+
25+
afPublicKey = 0x0001,
26+
afPA_None = 0x0000,
27+
afPA_MSIL = 0x0010,
28+
afPA_x86 = 0x0020,
29+
afPA_IA64 = 0x0030,
30+
afPA_AMD64 = 0x0040,
31+
afPA_ARM = 0x0050,
32+
afPA_ARM64 = 0x0060,
33+
afPA_NoPlatform = 0x0070,
34+
afPA_Specified = 0x0080,
35+
afPA_Mask = 0x0070,
36+
afPA_FullMask = 0x00F0,
37+
afPA_Shift = 0x0004,
38+
39+
afEnableJITcompileTracking = 0x8000,
40+
afDisableJITcompileOptimizer= 0x4000,
41+
42+
afRetargetable = 0x0100,
43+
afContentType_Default = 0x0000,
44+
afContentType_WindowsRuntime = 0x0200,
45+
afContentType_Mask = 0x0E00,
46+
47+
} CorAssemblyFlags;
48+
```
49+
50+
## Members
51+
52+
| Member | Description |
53+
|---------------|----------------------------------------------------------------------------|
54+
| `afPublicKey` | Indicates that the assembly reference holds the full, unhashed public key. |
55+
| `afPA_None` | Indicates that the processor architecture is unspecified. |
56+
| `afPA_MSIL` | Indicates that the processor architecture is neutral (PE32). |
57+
| `afPA_x86` | Indicates that the processor architecture is x86 (PE32). |
58+
| `afPA_IA64` | Indicates that the processor architecture is Itanium (PE32+). |
59+
| `afPA_AMD64` | Indicates that the processor architecture is x86-64 (PE32+). |
60+
| `afPA_ARM` | Indicates that the processor architecture is ARM (PE32). |
61+
| `afPA_ARM64` | Indicates that the processor architecture is ARM64 (PE32+). |
62+
|`afPA_NoPlatform`|Indicates that the assembly is a reference assembly; that is, it applies to any architecture but cannot run on any architecture. Thus, the flag is the same as `afPA_Mask`.|
63+
|`afPA_Specified`|Indicates that the processor architecture flags should be propagated to the `AssemblyRef` record.|
64+
|`afPA_Mask`|A mask that describes the processor architecture.|
65+
|`afPA_FullMask`|Specifies that the processor architecture description is included.|
66+
|`afPA_Shift`|Indicates a shift count in the processor architecture flags to and from the index.|
67+
|`afEnableJITcompileTracking`|Indicates the corresponding value from the <xref:System.Diagnostics.DebuggableAttribute.DebuggingModes> of the <xref:System.Diagnostics.DebuggableAttribute>.|
68+
|`afDisableJITcompileOptimizer`|Indicates the corresponding value from the <xref:System.Diagnostics.DebuggableAttribute.DebuggingModes> of the <xref:System.Diagnostics.DebuggableAttribute>.|
69+
|`afRetargetable`|Indicates that the assembly can be retargeted at run time to an assembly from a different publisher.|
70+
|`afContentType_Mask`|A mask that describes the content type.|
71+
|`afContentType_Default`|Indicates the default content type.|
72+
|`afContentType_WindowsRuntime`|Indicates the Windows Runtime content type.|
73+
74+
## Requirements
75+
76+
**Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
77+
78+
**Header:** CorHdr.h
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
---
2+
description: "Learn more about: CorCheckDuplicatesFor Enumeration"
3+
title: "CorCheckDuplicatesFor Enumeration"
4+
ms.date: "03/30/2017"
5+
api_name:
6+
- "CorCheckDuplicatesFor"
7+
api_location:
8+
- "mscoree.dll"
9+
api_type:
10+
- "COM"
11+
f1_keywords:
12+
- "CorCheckDuplicatesFor"
13+
topic_type:
14+
- "apiref"
15+
---
16+
# CorCheckDuplicatesFor Enumeration
17+
18+
Specifies the metadata tokens that will be checked for duplicates.
19+
20+
## Syntax
21+
22+
```cpp
23+
typedef enum CorCheckDuplicatesFor {
24+
25+
MDDupAll = 0xffffffff,
26+
MDDupENC = MDDupAll,
27+
MDNoDupChecks = 0x00000000,
28+
MDDupTypeDef = 0x00000001,
29+
MDDupInterfaceImpl = 0x00000002,
30+
MDDupMethodDef = 0x00000004,
31+
MDDupTypeRef = 0x00000008,
32+
MDDupMemberRef = 0x00000010,
33+
MDDupCustomAttribute = 0x00000020,
34+
MDDupParamDef = 0x00000040,
35+
MDDupPermission = 0x00000080,
36+
MDDupProperty = 0x00000100,
37+
MDDupEvent = 0x00000200,
38+
MDDupFieldDef = 0x00000400,
39+
MDDupSignature = 0x00000800,
40+
MDDupModuleRef = 0x00001000,
41+
MDDupTypeSpec = 0x00002000,
42+
MDDupImplMap = 0x00004000,
43+
MDDupAssemblyRef = 0x00008000,
44+
MDDupFile = 0x00010000,
45+
MDDupExportedType = 0x00020000,
46+
MDDupManifestResource = 0x00040000,
47+
MDDupGenericParam = 0x00080000,
48+
MDDupMethodSpec = 0x00100000,
49+
MDDupGenericParamConstraint = 0x00200000,
50+
51+
MDDupAssembly = 0x10000000,
52+
53+
MDDupDefault =
54+
MDNoDupChecks | MDDupTypeRef | MDDupMemberRef |
55+
MDDupSignature | MDDupTypeSpec | MDDupMethodSpec
56+
57+
} CorCheckDuplicatesFor;
58+
```
59+
60+
## Members
61+
62+
| Member | Description |
63+
|-------------------------------|------------------------------------------------------------|
64+
| `MDDupAll` | Check all metadata tokens for duplicates. |
65+
| `MDDupENC` | Not used. |
66+
| `MDNoDupChecks` | Do not check metadata tokens for duplicates. |
67+
| `MDDupTypeDef` | Check for duplicates of `mdTypeDef` tokens. |
68+
| `MDDupInterfaceImpl` | Check for duplicates of `mdInterfaceImpl` tokens. |
69+
| `MDDupMethodDef` | Check for duplicates of `mdMethodDef` tokens. |
70+
| `MDDupTypeRef` | Check for duplicates of `mdTypeRef` tokens. |
71+
| `MDDupMemberRef` | Check for duplicates of `mdMemberRef` tokens. |
72+
| `MDDupCustomAttribute` | Check for duplicates of `mdCustomAttribute` tokens. |
73+
| `MDDupParamDef` | Check for duplicates of `mdParamDef` tokens. |
74+
| `MDDupPermission` | Check for duplicates of `mdPermission` tokens. |
75+
| `MDDupProperty` | Check for duplicates of `mdProperty` tokens. |
76+
| `MDDupEvent` | Check for duplicates of `mdEvent` tokens. |
77+
| `MDDupFieldDef` | Check for duplicates of `mdFieldDef` tokens. |
78+
| `MDDupSignature` | Check for duplicates of `mdSignature` tokens. |
79+
| `MDDupModuleRef` | Check for duplicates of `mdModuleRef` tokens. |
80+
| `MDDupTypeSpec` | Check for duplicates of `mdTypeSpec` tokens. |
81+
| `MDDupImplMap` | Check for duplicates of `mdImplMap` tokens. |
82+
| `MDDupAssemblyRef` | Check for duplicates of `mdAssemblyRef` tokens. |
83+
| `MDDupFile` | Check for duplicates of `mdFile` tokens. |
84+
| `MDDupExportedType` | Check for duplicates of `mdExportedType` tokens. |
85+
| `MDDupManifestResource` | Check for duplicates of `mdManifestResource` tokens. |
86+
| `MDDupGenericParam` | Check for duplicates of `mdGenericParam` tokens. |
87+
| `MDDupMethodSpec` | Check for duplicates of `mdMethodSpec` tokens. |
88+
| `MDDupGenericParamConstraint` | Check for duplicates of `mdGenericParamConstraint` tokens. |
89+
| `MDDupAssembly` | Check for duplicates of `mdAssembly` tokens. |
90+
| `MDDupDefault` | Check for duplicates of `mdMemberRef`, `mdTypeRef`, `mdSignature`, `mdTypeSpec`, and `mdMethodSpec` tokens. |
91+
92+
## Requirements
93+
94+
**Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
95+
96+
**Header:** CorHdr.h
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
---
2+
description: "Learn more about: CorDeclSecurity Enumeration"
3+
title: "CorDeclSecurity Enumeration"
4+
ms.date: "03/30/2017"
5+
api_name:
6+
- "CorDeclSecurity"
7+
api_location:
8+
- "mscoree.dll"
9+
api_type:
10+
- "COM"
11+
f1_keywords:
12+
- "CorDeclSecurity"
13+
topic_type:
14+
- "apiref"
15+
---
16+
# CorDeclSecurity Enumeration
17+
18+
Specifies the security actions that can be performed using declarative security.
19+
20+
## Syntax
21+
22+
```cpp
23+
typedef enum CorDeclSecurity {
24+
25+
dclActionMask = 0x001f,
26+
dclActionNil = 0x0000,
27+
dclRequest = 0x0001,
28+
dclDemand = 0x0002,
29+
dclAssert = 0x0003,
30+
dclDeny = 0x0004,
31+
dclPermitOnly = 0x0005,
32+
dclLinktimeCheck = 0x0006,
33+
dclInheritanceCheck = 0x0007,
34+
dclRequestMinimum = 0x0008,
35+
dclRequestOptional = 0x0009,
36+
dclRequestRefuse = 0x000a,
37+
dclPrejitGrant = 0x000b,
38+
dclPrejitDenied = 0x000c,
39+
dclNonCasDemand = 0x000d,
40+
dclNonCasLinkDemand = 0x000e,
41+
dclNonCasInheritance = 0x000f,
42+
dclLinkDemandChoice = 0x0010,
43+
dclInheritanceDemandChoice = 0x0011,
44+
dclDemandChoice = 0x0012,
45+
dclMaximumValue = 0x0012
46+
47+
} CorDeclSecurity;
48+
```
49+
50+
## Members
51+
52+
|Member|Description|
53+
|------------|-----------------|
54+
|`dclActionMask`|Reserved.|
55+
|`dclActionNil`|Reserved.|
56+
|`dclRequest`|Reserved.|
57+
|`dclDemand`|All callers higher in the call stack are required to have been granted the permission specified by the current permission object.|
58+
|`dclAssert`|The calling code can access the resource identified by the current permission object, even if callers higher in the stack have not been granted permission to access the resource|
59+
|`dclDeny`|The ability to access the resource specified by the current permission object is denied to callers, even if they have been granted permission to access it.|
60+
|`dclPermitOnly`|Only the resources specified by this permission object can be accessed, even if the code has been granted permission to access other resources.|
61+
|`dclLinktimeCheck`|The immediate caller is required to have been granted the specified permission for a given period of time.|
62+
|`dclInheritanceCheck`|The derived class inheriting another class or overriding a method is required to have been granted the specified permission.|
63+
|`dclRequestMinimum`|The caller can request for the minimum permissions required for code to run. This action can only be used within the scope of the assembly.|
64+
|`dclRequestOptional`|The caller can request for additional permissions that are optional (not required to run). This request implicitly refuses all other permissions not specifically requested. This action can only be used within the scope of the assembly.|
65+
|`dclRequestRefuse`|The caller's request for permissions that might be misused will not be granted. This action can only be used within the scope of the assembly.|
66+
|`dclPrejitGrant`|Reserved.|
67+
|`dclPrejitDenied`|Reserved.|
68+
|`dclNonCasDemand`|Reserved.|
69+
|`dclNonCasLinkDemand`|The immediate caller is required to have been granted the specified permission.|
70+
|`dclNonCasInheritance`|Reserved.|
71+
|`dclLinkDemandChoice`|Reserved.|
72+
|`dclInheritanceDemandChoice`|Reserved.|
73+
|`dclDemandChoice`|Reserved.|
74+
|`dclMaximumValue`|Reserved.|
75+
76+
## Requirements
77+
78+
**Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
79+
80+
**Header:** CorHdr.h
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
description: "Learn more about: CorErrorIfEmitOutOfOrder Enumeration"
3+
title: "CorErrorIfEmitOutOfOrder Enumeration"
4+
ms.date: "03/30/2017"
5+
api_name:
6+
- "CorErrorIfEmitOutOfOrder"
7+
api_location:
8+
- "mscoree.dll"
9+
api_type:
10+
- "COM"
11+
f1_keywords:
12+
- "CorErrorIfEmitOutOfOrder"
13+
topic_type:
14+
- "apiref"
15+
---
16+
# CorErrorIfEmitOutOfOrder Enumeration
17+
18+
Contains flag values that indicate the conditions under which an error message should be generated when metadata is emitted out of order.
19+
20+
## Syntax
21+
22+
```cpp
23+
typedef enum CorErrorIfEmitOutOfOrder {
24+
25+
MDErrorOutOfOrderDefault = 0x00000000,
26+
MDErrorOutOfOrderNone = 0x00000000,
27+
MDErrorOutOfOrderAll = 0xffffffff,
28+
MDMethodOutOfOrder = 0x00000001,
29+
MDFieldOutOfOrder = 0x00000002,
30+
MDParamOutOfOrder = 0x00000004,
31+
MDPropertyOutOfOrder = 0x00000008,
32+
MDEventOutOfOrder = 0x00000010
33+
34+
} CorErrorIfEmitOutOfOrder;
35+
```
36+
37+
## Members
38+
39+
|Member|Description|
40+
|------------|-----------------|
41+
|`MDErrorOutOfOrderDefault`|Indicates the default behavior, which does not generate error messages.|
42+
|`MDErrorOutOfOrderNone`|Indicates that the compiler should not generate error messages.|
43+
|`MDErrorOutOfOrderAll`|Indicates that the compiler should generate an error message when a field, property, event, method, or parameter is emitted out of order.|
44+
|`MDMethodOutOfOrder`|Indicates that the compiler should generate an error message when a method is emitted out of order.|
45+
|`MDFieldOutOfOrder`|Indicates that the compiler should generate an error message when a field is emitted out of order.|
46+
|`MDParamOutOfOrder`|Indicates that the compiler should generate an error message when a parameter is emitted out of order.|
47+
|`MDPropertyOutOfOrder`|Indicates that the compiler should generate an error message when a property is emitted out of order.|
48+
|`MDEventOutOfOrder`|Indicates that the compiler should generate an error message when an event is emitted out of order.|
49+
50+
## Requirements
51+
52+
**Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
53+
54+
**Header:** CorHdr.h

0 commit comments

Comments
 (0)