Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Imposta il contesto di sicurezza del thread attualmente in esecuzione.
Sintassi
HRESULT SetSecurityContext (
[in] EContextType eContextType,
[out] IHostSecurityContext** ppSecurityContext
);
Parametri
eContextType [in] Uno dei valori EContextType , che indica il tipo di contesto in cui Common Language Runtime (CLR) viene posizionato nell'host.
ppSecurityContext [out] Puntatore all'indirizzo di un nuovo oggetto IHostSecurityContext .
Valore restituito
| HRESULT | Descrizione |
|---|---|
| S_OK |
SetSecurityContext restituito correttamente. |
| HOST_E_CLRNOTAVAILABLE | CLR non è stato caricato in un processo oppure CLR si trova in uno stato in cui non può eseguire codice gestito o elaborare correttamente la chiamata. |
| HOST_E_TIMEOUT | Timeout della chiamata. |
| HOST_E_NOT_OWNER | Il chiamante non possiede il blocco. |
| HOST_E_ABANDONED | Un evento è stato annullato mentre un thread bloccato o una fibra era in attesa su di esso. |
| E_FAIL | Si è verificato un errore irreversibile sconosciuto. Quando un metodo restituisce E_FAIL, CLR non è più utilizzabile all'interno del processo. Le chiamate successive ai metodi di hosting restituiscono HOST_E_CLRNOTAVAILABLE. |
Osservazioni:
ClR chiama SetSecurityContext in diversi scenari. Prima di eseguire costruttori di classi e moduli e finalizzatori, CLR chiama SetSecurityContext per proteggere l'host da errori di esecuzione. Reimposta quindi il contesto di sicurezza sullo stato originale dopo l'esecuzione del costruttore o del finalizzatore, usando un'altra chiamata a SetSecurityContext. Un modello simile si verifica con il completamento di I/O. Se l'host implementa IHostIoCompletionManager, CLR chiama SetSecurityContext dopo che l'host chiama ICLRIoCompletionManager::OnComplete.
Nei punti asincroni nei thread di lavoro, CLR chiama SetSecurityContext all'interno o all'interno ThreadPool.QueueUserWorkItemdi IHostThreadPoolManager::QueueUserWorkItem, a seconda che l'host o CLR stia implementando il pool di thread.
Requisiti
Piattaforme: Vedere Requisiti di sistema.
Intestazione: MSCorEE.h
Biblioteca: Incluso come risorsa in MSCorEE.dll
Versioni di .NET Framework: Disponibile dalla versione 2.0