HostProtectionResource Enumeration

 

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.Permissions
Assembly:  mscorlib (in mscorlib.dll)

<SerializableAttribute>
<FlagsAttribute>
<ComVisibleAttribute(True)>
Public Enumeration HostProtectionResource

Member nameDescription
All

Exposes all host resources.

ExternalProcessMgmt

Might create or destroy other processes.

ExternalThreading

Creates or manipulates threads other than its own, which might be harmful to the host.

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.

None

Exposes no host resources.

SecurityInfrastructure

Exposes the security infrastructure.

SelfAffectingProcessMgmt

Might exit the current process, terminating the server.

SelfAffectingThreading

Manipulates threads in a way that only affects user code.

SharedState

Exposes state that might be shared between threads.

Synchronization

Exposes synchronization.

UI

Exposes the user interface.

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.
<HostProtectionAttribute(SharedState := True, _
    SelfAffectingProcessMgmt := True), _
    HostProtectionAttribute( _
    Resources := HostProtectionResource.SharedState Or _
    HostProtectionResource.SelfAffectingProcessMgmt)> _
Private Shared Sub [Exit](ByVal Message As String, ByVal Code As Integer)

    ' Exit the sample when an exception is thrown.
    Console.WriteLine((ControlChars.Lf & "FAILED: " & Message & " " & _
        Code.ToString()))
    Environment.ExitCode = Code
    Environment.Exit(Code)
End Sub 'Exit

.NET Framework
Available since 2.0
Return to top
Show: