更新 : 2007 年 11 月
現在実行しているスレッドにアクセスし、そのセキュリティ コンテキストを制御できるようにするメソッドを提供します。
interface IHostSecurityManager : IUnknown {
HRESULT GetSecurityContext (
[in] EContextType eContextType,
[out] IHostSecurityContext** ppSecurityContext
);
HRESULT ImpersonateLoggedOnUser (
[in] HANDLE hToken
);
HRESULT OpenThreadToken (
[in] DWORD dwDesiredAccess,
[in] BOOL bOpenAsSelf,
[out] HANDLE *phThreadToken
);
HRESULT RevertToSelf ();
HRESULT SetSecurityContext (
[in] EContextType eContextType,
[in] IHostSecurityContext* pSecurityContext
);
HRESULT SetThreadToken (
[in] HANDLE hToken
);
};
メソッド
メソッド |
説明 |
---|---|
要求された IHostSecurityContext をホストから取得します。 |
|
現在のユーザー ID の資格情報を使用してコードを実行することを要求します。 |
|
現在のスレッドに関連付けられている随意アクセス トークンを開きます。 |
|
現在のユーザー ID の偽装を終了し、元のスレッド トークンに戻ります。 |
|
現在実行しているスレッドのセキュリティ コンテキストを設定します。 |
|
現在実行しているスレッドのハンドルを設定します。 |
解説
ホストは、共通言語ランタイム (CLR: Common Language Runtime) およびユーザー コードを使用して、スレッド トークンへのすべてのコード アクセスを制御できます。また、コード アクセスが制約されている非同期操作またはコード ポイント全体にセキュリティ コンテキスト情報が完全に渡されるようにします。IHostSecurityContext は、CLR に対して非透過であるこのセキュリティ コンテキスト情報をカプセル化します。
CLR マネージ スレッドのコンテキストを内部で処理します。次の場合には、プロセス固有の IHostSecurityManager を照会します。
ファイナライザのスレッドの場合は、ファイナライザの実行中。
クラスおよびモジュール コンストラクタの実行中。
IHostThreadPoolManager::QueueUserWorkItem メソッドへの呼び出しでのワーカー スレッドの非同期ポイント。
I/O 完了ポートの使用中。
必要条件
プラットフォーム : 「.NET Framework システム要件」を参照
ヘッダー : MSCorEE.idl
ライブラリ : MSCorEE.dll にリソースとして格納されていること
.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0