共用方式為


IHostSecurityManager::SetSecurityContext 方法

設定目前執行執行緒的安全上下文。

語法

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

參數

eContextType [在]其中一個 EContextType 值,表示公共語言執行時(CLR)在主機上放置的上下文類型。

ppSecurityContext [出]一個指向新 IHostSecurityContext 物件位址的指標。

傳回值

HRESULT 說明
S_OK SetSecurityContext 成功返回。
HOST_E_CLRNOTAVAILABLE CLR 尚未被載入程序,或 CLR 處於無法執行受管程式碼或成功處理呼叫的狀態。
HOST_E_TIMEOUT 通話時間過了。
HOST_E_NOT_OWNER 來電者並不擁有鎖具。
HOST_E_ABANDONED 事件在阻塞的執行緒或光纖等待時被取消。
E_FAIL 發生了一場未知的災難性故障。 當方法返回E_FAIL時,CLR 在程序中不再可用。 後續呼叫主機方法時會返回HOST_E_CLRNOTAVAILABLE。

備註

CLR 在幾種情境下呼叫 SetSecurityContext 。 在執行類別與模組建構子及終結子之前,CLR 會呼叫 SetSecurityContext 保護主機免於執行失敗。 接著在構造子或終結子執行後,透過另一個呼叫將 SetSecurityContext安全上下文重設至原始狀態。 I/O 完成時也有類似的模式。 若主機實作 IHostIoCompletionManager,則 CLR SetSecurityContext 會在主機呼叫 ICLRIoCompletionManager::OnCompletion 後呼叫。

在工作執行緒的非同步點,CLR 會呼叫 SetSecurityContextThreadPool.QueueUserWorkItemIHostThreadPoolManager::QueueUserWorkItem,視執行緒池是主機還是 CLR 實作而定。

要求

平台:請參閱系統需求

標題: MSCorEE.h

圖書館: MSCorEE.dll 中納入資源

.NET Framework 版本: 自 2.0 起可用

另請參閱