Dela via


IHostSecurityManager::SetSecurityContext-metod

Anger säkerhetskontexten för den tråd som körs just nu.

Syntax

HRESULT SetSecurityContext (  
    [in]  EContextType eContextType,  
    [out] IHostSecurityContext** ppSecurityContext  
);  

Parametrar

eContextType
[i] Ett av EContextType-värdena som anger vilken typ av kontext som CLR (Common Language Runtime) placerar på värden.

ppSecurityContext
[ut] En pekare till adressen för ett nytt IHostSecurityContext-objekt .

Returvärde

HRESULT Description
S_OK SetSecurityContext returnerades korrekt.
HOST_E_CLRNOTAVAILABLE CLR har inte lästs in i en process, eller så är CLR i ett tillstånd där den inte kan köra hanterad kod eller bearbeta anropet.
HOST_E_TIMEOUT Samtalets tidsgräns överst.
HOST_E_NOT_OWNER Anroparen äger inte låset.
HOST_E_ABANDONED En händelse avbröts medan en blockerad tråd eller fiber väntade på den.
E_FAIL Ett okänt oåterkalleligt fel inträffade. När en metod returnerar E_FAIL kan CLR inte längre användas i processen. Efterföljande anrop till värdmetoder returnerar HOST_E_CLRNOTAVAILABLE.

Kommentarer

CLR anropar SetSecurityContext i flera scenarier. Innan den kör klass- och modulkonstruktorer och finalizers anropar SetSecurityContext CLR för att skydda värden mot körningsfel. Den återställer sedan säkerhetskontexten till sitt ursprungliga tillstånd efter körningen av konstruktorn eller slutföraren med hjälp av ett annat anrop till SetSecurityContext. Ett liknande mönster uppstår när I/O slutförs. Om värden implementerar IHostIoCompletionManager anropar SetSecurityContext CLR efter att värden anropar ICLRIoCompletionManager::OnComplete.

Vid asynkrona punkter i arbetstrådar anropar SetSecurityContext CLR inom ThreadPool.QueueUserWorkItem eller inom IHostThreadPoolManager::QueueUserWorkItem, beroende på om värden eller CLR implementerar trådpoolen.

Krav

Plattformar: Se Systemkrav.

Huvudet: MSCorEE.h

Bibliotek: Ingår som en resurs i MSCorEE.dll

.NET Framework versioner: Tillgänglig sedan 2.0

Se även