Metodo IHostSecurityManager::SetSecurityContext
Imposta il contesto di sicurezza del thread attualmente in esecuzione.
HRESULT SetSecurityContext (
[in] EContextType eContextType,
[out] IHostSecurityContext** ppSecurityContext
);
Parametri
eContextType
[in] Uno dei valori di EContextType, che indica il tipo di contesto che Common Language Runtime (CLR) inserisce sull'host.ppSecurityContext
[out] Puntatore all'indirizzo di un nuovo oggetto IHostSecurityContext.
Valore restituito
HRESULT |
Oggetto di descrizione |
---|---|
S_OK |
SetSecurityContext ha restituito correttamente un valore. |
HOST_E_CLRNOTAVAILABLE |
Common Language Runtime non è stato caricato in un processo oppure si trova in uno stato in cui non è possibile eseguire codice gestito né elaborare correttamente la chiamata. |
HOST_E_TIMEOUT |
Timeout della chiamata. |
HOST_E_NOT_OWNER |
Il chiamante non è il proprietario del blocco. |
HOST_E_ABANDONED |
Un evento è stato annullato mentre un thread o un fiber bloccato era in attesa di tale evento. |
E_FAIL |
Si è verificato un errore irreversibile sconosciuto. Se un metodo restituisce E_FAIL, CLR non sarà più utilizzabile all'interno del processo. Le successive chiamate ai metodi di hosting restituiranno HOST_E_CLRNOTAVAILABLE. |
Note
CLR chiama SetSecurityContext in diversi scenari. Prima di eseguire costruttori e finalizzatori di classi e moduli, Common Language Runtime (CLR) chiama SetSecurityContext per proteggere l'host da errori di esecuzione. Dopo l'esecuzione del costruttore o finalizzatore, Common Language Runtime reimposta lo stato originale del contesto di sicurezza mediante un'altra chiamata a SetSecurityContext. Un processo simile avviene per il completamento I/O. Se l’host implementa IHostIoCompletionManager, CLR chiama SetSecurityContext dopo che l’host ha chiamato ICLRIoCompletionManager::OnComplete.
In punti asincroni di thread di lavoro CLR chiama SetSecurityContext all'interno di ThreadPool.QueueUserWorkItem o di IHostThreadPoolManager::QueueUserWorkItem, a seconda che l'implementazione del pool di thread sia eseguita dall'host o da CLR.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: MSCorEE.h
Libreria: inclusa come risorsa in MSCorEE.dll
Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0
Vedere anche
Riferimenti
Interfaccia ICLRIoCompletionManager
Interfaccia IHostIoCompletionManager
Interfaccia IHostSecurityContext
Interfaccia IHostSecurityManager