EApiCategories Enumeration
Describes the categories of capabilities that the host can block from running in partially trusted code.
Syntax
typedef enum {
eNoCategory = 0,
eSynchronization = 0x1,
eSharedState = 0x2,
eExternalProcessMgmt = 0x4,
eSelfAffectingProcessMgmt = 0x8,
eExternalThreading = 0x10,
eSelfAffectingThreading = 0x20,
eSecurityInfrastructure = 0x40,
eUI = 0x80,
eMayLeakOnAbort = 0x100,
eAll = 0x1ff
} EHostProtectionCategories;
Members
Member | Description |
---|---|
eAll |
Specifies that all managed classes and members that are covered by other EApiCategories fields be blocked from running in partially trusted code. |
eExternalProcessMgmt |
Specifies that managed classes and members that allow the creation, manipulation, and destruction of external processes be blocked from running in partially trusted code. |
eExternalThreading |
Specifies that managed classes and members that allow the creation, manipulation, and destruction of external threads be blocked from running in partially trusted code. |
eMayLeakOnAbort |
Specifies that managed types and members that could potentially leak memory on abort be blocked from running in partially trusted code. |
eNoCategory |
Specifies that no managed code categories be blocked from running in partially trusted code. |
eSecurityInfrastructure |
Specifies that the common language runtime (CLR) security infrastructure be blocked from being used by partially trusted code. |
eSelfAffectingProcessMgmt |
Specifies that managed classes and members whose capabilities can affect the hosted process be blocked from running in partially trusted code. |
eSelfAffectingThreading |
Specifies that managed classes and members whose capabilities can affect threads in the hosted process be blocked from running in partially trusted code. |
eSharedState |
Specifies that managed classes and members that expose shared state be blocked from running in partially trusted code. |
eSynchronization |
Specifies that common language runtime classes and members that allow user code to hold locks be blocked from running in partially trusted code. |
eUI |
Specifies that managed classes and members that allow or require human interaction be blocked from running in partially trusted code. |
Remarks
The ICLRHostProtectionManager::SetProtectedCategories method takes a parameter of type EApiCategories
.
The EApiCategories
enumeration and the SetProtectedCategories
method are directly related to the managed System.Security.Permissions.HostProtectionAttribute class. The managed class is used with the System.Security.Permissions.HostProtectionResource enumeration, whose values correspond directly to the EApiCategories
values, to mark managed types and members that expose capabilities corresponding to the categories described by EApiCategories
.
Requirements
Platforms: See System Requirements.
Header: MSCorEE.h
Library: MSCorEE.dll
.NET Framework Versions: Available since 2.0