現在実行中のスレッドのセキュリティ コンテキストを設定します。
構文
HRESULT SetSecurityContext (
[in] EContextType eContextType,
[out] IHostSecurityContext** ppSecurityContext
);
パラメーター
eContextType [in]共通言語ランタイム (CLR) がホストに配置しているコンテキストの種類を示す EContextType 値の 1 つ。
ppSecurityContext [out]新しい 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 を実装している場合、ホストが ICLRIoCompletionManager::OnComplete を呼び出した後、CLR はSetSecurityContextを呼び出します。
ワーカー スレッド内の非同期ポイントでは、ホストまたは CLR がスレッド プールを実装しているかどうかに応じて、CLR はThreadPool.QueueUserWorkItem内または IHostThreadPoolManager::QueueUserWorkItem 内でSetSecurityContextを呼び出します。
必要条件
:「システム要件」を参照してください。
ヘッダ: MSCorEE.h
図書館: MSCorEE.dll にリソースとして含まれる
.NET Framework のバージョン: 2.0 以降で利用可能
こちらも参照ください
.NET