Delen via


Methode IHostSecurityManager::SetSecurityContext

Hiermee stelt u de beveiligingscontext van de momenteel uitgevoerde thread in.

Syntaxis

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

Parameterwaarden

eContextType [in] Een van de EContextType-waarden die aangeven welk type context de COMMON Language Runtime (CLR) op de host plaatst.

ppSecurityContext [uit] Een aanwijzer naar het adres van een nieuw IHostSecurityContext-object .

Retourwaarde

HRESULT Beschrijving
S_OK SetSecurityContext is geretourneerd.
HOST_E_CLRNOTAVAILABLE De CLR is niet geladen in een proces of de CLR heeft een status waarin de beheerde code niet kan worden uitgevoerd of de aanroep kan worden verwerkt.
HOST_E_TIMEOUT Er is een time-out opgetreden voor het gesprek.
HOST_E_NOT_OWNER De beller is niet eigenaar van het slot.
HOST_E_ABANDONED Er is een gebeurtenis geannuleerd terwijl een geblokkeerde thread of glasvezel erop wachtte.
E_FAIL Er is een onbekende onherstelbare fout opgetreden. Wanneer een methode E_FAIL retourneert, is de CLR niet meer bruikbaar binnen het proces. Volgende aanroepen naar hostingmethoden retourneren HOST_E_CLRNOTAVAILABLE.

Opmerkingen

De CLR roept SetSecurityContext in verschillende scenario's aan. Voordat klasse- en moduleconstructors en -finalizers worden uitgevoerd, roept de CLR SetSecurityContext aan om de host te beschermen tegen uitvoeringsfouten. Vervolgens wordt de beveiligingscontext opnieuw ingesteld op de oorspronkelijke status na de uitvoering van de constructor of finalizer, met behulp van een andere aanroep naar SetSecurityContext. Een vergelijkbaar patroon treedt op bij I/O-voltooiing. Als de host IHostIoCompletionManager implementeert, roept de CLR-aanroepen SetSecurityContext na de host ICLRIoCompletionManager::OnComplete aan.

Op asynchrone punten in werkthreads worden de CLR-aanroepen SetSecurityContext binnen ThreadPool.QueueUserWorkItem of binnen IHostThreadPoolManager::QueueUserWorkItem, afhankelijk van of de host of de CLR de threadgroep implementeert.

Requirements

Platformen: Zie Systeemvereisten.

Rubriek: MSCorEE.h

Bibliotheek: Opgenomen als een resource in MSCorEE.dll

.NET Framework-versies: Beschikbaar sinds 2.0

Zie ook