設定目前執行執行緒的安全上下文。
語法
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 起可用