This documentation is archived and is not being maintained.
HostProtectionResource Enumeration
Visual Studio 2010
Specifies categories of functionality potentially harmful to the host if invoked by a method or class.
This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.
Namespace: System.Security.PermissionsAssembly: mscorlib (in mscorlib.dll)
| Member name | Description | |
|---|---|---|
| None | Exposes no host resources. | |
| Synchronization | Exposes synchronization. | |
| SharedState | Exposes state that might be shared between threads. | |
| ExternalProcessMgmt | Might create or destroy other processes. | |
| SelfAffectingProcessMgmt | Might exit the current process, terminating the server. | |
| ExternalThreading | Creates or manipulates threads other than its own, which might be harmful to the host. | |
| SelfAffectingThreading | Manipulates threads in a way that only affects user code. | |
| SecurityInfrastructure | Exposes the security infrastructure. | |
| UI | Exposes the user interface. | |
| MayLeakOnAbort | Might cause a resource leak on termination, if not protected by a safe handle or some other means of ensuring the release of resources. | |
| All | Exposes all host resources. |
This enumeration is used by the HostProtectionAttribute attribute.
The following code example shows the use of the HostProtectionResource enumeration with the HostProtectionAttribute attribute. This example is part of a larger example provided for the HostProtectionAttribute class.
// Use the enumeration flags to indicate that this method exposes shared state and // self-affecting process management. // Either of the following attribute statements can be used to set the // resource flags. // Exit the sample when an exception is thrown. [HostProtection(SharedState=true,SelfAffectingProcessMgmt=true)] [HostProtection(Resources=HostProtectionResource::SharedState| HostProtectionResource::SelfAffectingProcessMgmt)] static void Exit( String^ Message, int Code ) { Console::WriteLine( "\nFAILED: {0} {1}", Message, Code ); Environment::ExitCode = Code; Environment::Exit( Code ); }
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show: