Condividi tramite


Metodo IHostSecurityManager::SetSecurityContext

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 viene inserito common language runtime (CLR).

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 è possibile 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 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.

Commenti

ClR chiama SetSecurityContext in diversi scenari. Prima di eseguire costruttori di classi e moduli e finalizzatori, il CLR chiama SetSecurityContext per proteggere l'host da errori di esecuzione. Reimposta quindi il contesto di sicurezza allo stato originale dopo l'esecuzione del costruttore o del finalizzatore usando un'altra chiamata a SetSecurityContext. Un modello simile si verifica con il completamento dell'I/O. Se l'host implementa IHostIoCompletionManager, CLR chiama SetSecurityContextICLRIoCompletionManager::OnComplete.

In punti asincroni nei thread di lavoro, clR chiama SetSecurityContext all'interno o all'interno ThreadPool.QueueUserWorkItem di IHostThreadPoolManager::QueueUserWorkItem, a seconda che l'host o clR implementi il pool di thread.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MSCorEE.h

Libreria: Incluso come risorsa in MSCorEE.dll

Versioni di .NET Framework: Disponibile da 2.0

Vedi anche