summaryrefslogtreecommitdiff
path: root/src/vm/hostexecutioncontext.h
blob: 721c8953ad45629c293c45123a2488302f50d289 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.



#ifndef __hostexecutioncontext_h__
#define __hostexecutioncontext_h__

#ifdef FEATURE_CAS_POLICY

class HostExecutionContextManager
{
public:
#ifdef FEATURE_INCLUDE_ALL_INTERFACES
    static IHostSecurityContext*  m_pRestrictedHostContext;
#endif // FEATURE_INCLUDE_ALL_INTERFACES
    static void InitializeRestrictedContext();
    static void SetHostRestrictedContext();
    	
    static FCDECL0(FC_BOOL_RET, HostPresent);	
    static FCDECL1(HRESULT, ReleaseSecurityContext, LPVOID handle);
    static FCDECL1(HRESULT, CaptureSecurityContext, SafeHandle* hTokenUNSAFE);	
    static FCDECL2(HRESULT, CloneSecurityContext, SafeHandle* hTokenUNSAFE, SafeHandle* hTokenClonedUNSAFE);	
    static FCDECL3(HRESULT, SetSecurityContext, SafeHandle* hTokenUNSAFE, CLR_BOOL fReturnPrevious, SafeHandle* hTokenPreviousUNSAFE);	    
};
#endif // #ifdef FEATURE_CAS_POLICY
#endif // __hostexecutioncontext_h__