IHostSecurityManager::SetSecurityContext 方法
設定目前執行中執行緒的資訊安全內容。
語法
HRESULT SetSecurityContext (
[in] EContextType eContextType,
[out] IHostSecurityContext** ppSecurityContext
);
參數
eContextType
[in] 其中一個 EContextType 值,指出 Common Language Runtime (CLR) 放置於主機上的內容類型。
ppSecurityContext
[out] 新的 IHostSecurityContext 物件的位址指標。
傳回值
HRESULT | 描述 |
---|---|
S_OK | SetSecurityContext 已成功傳回。 |
HOST_E_CLRNOTAVAILABLE | CLR 尚未載入處理序,或 CLR 處於無法執行受控程式碼或成功處理呼叫的狀態。 |
HOST_E_TIMEOUT | 呼叫逾時。 |
HOST_E_NOT_OWNER | 呼叫端未擁有鎖定。 |
HOST_E_ABANDONED | 封鎖的執行緒或 Fiber 在其上等候時,事件遭到取消。 |
E_FAIL | 發生未知的重大失敗。 如果方法傳回 E_FAIL,則 CLR 就無法再用於處理序。 後續對裝載方法發出的呼叫會傳回 HOST_E_CLRNOTAVAILABLE。 |
備註
CLR 會在數個案例中呼叫 SetSecurityContext
。 在執行類別和模組建構函式與完成項之前,CLR 會呼叫 SetSecurityContext
以保護主機免於執行失敗。 然後,它會另外呼叫 SetSecurityContext
,以在執行建構函式或完成項後,將資訊安全內容重設為其原始狀態。 I/O 完成時會發生類似的模式。 如果主機實作 IHostIoCompletionManager,則 CLR 會在主機呼叫 ICLRIoCompletionManager::OnComplete 之後呼叫 SetSecurityContext
。
在背景工作執行緒中的非同步點上,CLR 會在 ThreadPool.QueueUserWorkItem 內或在 IHostThreadPoolManager::QueueUserWorkItem 內呼叫 SetSecurityContext
(取決於是主機還是 CLR 實作執行緒集區)。
規格需求
平台:請參閱系統需求。
標題: MSCorEE.h
程式庫:包含作為 MSCorEE.dll 中的資源
.NET Framework版本:自 2.0 起提供