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