次の方法で共有


IHostTaskManager

更新 : 2007 年 11 月

共通言語ランタイム (CLR: Common Language Runtime) が、標準のオペレーティング システムのスレッド処理またはファイバ関数の代わりに、ホストを通じてタスクを処理できるようにするメソッドを提供します。

interface IHostTaskManager : IUnknown
{
    HRESULT GetCurrentTask (
                [out] IHostTask **pTask
        );

    HRESULT CreateTask (
                [in] DWORD dwStackSize,
        [in] LPTHREAD_START_ROUTINE pStartAddress,
        [in] PVOID pParameter,
        [out] IHostTask **ppTask
        );

    HRESULT Sleep (
                [in] DWORD dwMilliseconds,
        [in] DWORD option
        );

    HRESULT SwitchToTask (
                [in] DWORD option
        );

    HRESULT SetUILocale (
                [in] LCID lcid
        );

    HRESULT SetLocale (
                [in] LCID lcid
        );

    HRESULT CallNeedsHostHook (
                [in] SIZE_T target,
        [out] BOOL *pbCallNeedsHostHook
        );

    HRESULT LeaveRuntime (
                [in] SIZE_T target
        );

    HRESULT EnterRuntime ();

    HRESULT ReverseLeaveRuntime ();

    HRESULT ReverseEnterRuntime ();

    HRESULT BeginDelayAbort ();

    HRESULT EndDelayAbort ();

    HRESULT BeginThreadAffinity ();

    HRESULT EndThreadAffinity ();

    HRESULT SetStackGuarantee (
                [in] ULONG guarantee
        );

    HRESULT GetStackGuarantee (
                [out] ULONG *pGuarantee
        );

    HRESULT SetCLRTaskManager (
        [in] ICLRTaskManager *ppManager
        );

}

メソッド

メソッド

説明

IHostTaskManager::BeginDelayAbort メソッド

マネージ コードが現在のタスクを中止できない期間に入ることをホストに通知します。

IHostTaskManager::BeginThreadAffinity メソッド

マネージ コードが現在のタスクを別のオペレーティング システム スレッドに移動できない期間に入ることをホストに通知します。

IHostTaskManager::CallNeedsHostHook メソッド

指定されたアンマネージ関数呼び出しを共通言語ランタイムがインライン展開できるかどうかを、ホストが指定できるようにします。

IHostTaskManager::CreateTask メソッド

新しいタスクの作成をホストに要求します。

IHostTaskManager::EndDelayAbort メソッド

マネージ コードが、前に呼び出した BeginDelayAbort から続いていた、現在のタスクを中止できない期間を終了することをホストに通知します。

IHostTaskManager::EndThreadAffinity メソッド

マネージ コードが、前に呼び出した BeginThreadAffinity から続いていた、現在のタスクを別のオペレーティング システム スレッドに移動できない期間を終了することをホストに通知します。

IHostTaskManager::EnterRuntime メソッド

プラットフォーム呼び出しメソッドなどのアンマネージ メソッドの呼び出しが実行制御を CLR に返すことをホストに通知します。

IHostTaskManager::GetCurrentTask メソッド

この呼び出しが行われるオペレーティング システム スレッドで現在実行中のタスクへのインターフェイス ポインタを取得します。

IHostTaskManager::GetStackGuarantee メソッド

スタック操作の完了後、プロセスの終了前に使用できることが保証されているスタック領域の量を取得します。

IHostTaskManager::LeaveRuntime メソッド

マネージ コードがアンマネージ関数を呼び出そうとしていることをホストに通知します。

IHostTaskManager::ReverseEnterRuntime メソッド

アンマネージ コードから共通言語ランタイム (CLR) 内に呼び出しが作成されていることをホストに通知します。

IHostTaskManager::ReverseLeaveRuntime メソッド

制御が CLR を出て、マネージ コードから呼び出されていたアンマネージ関数に入ることをホストに通知します。

IHostTaskManager::SetCLRTaskManager メソッド

CLR によって実装されている ICLRTaskManager インスタンスへのインターフェイス ポインタをホストに提供します。

IHostTaskManager::SetLocale メソッド

CLR が現在のタスクのロケールを変更したことをホストに通知します。

IHostTaskManager::SetStackGuarantee メソッド

内部使用専用に予約されています。

IHostTaskManager::SetUILocale メソッド

現在のタスクでユーザー インターフェイスのロケールが変更されたことをホストに通知します。

IHostTaskManager::Sleep メソッド

現在のタスクがこれからスリープすることをホストに通知します。

IHostTaskManager::SwitchToTask メソッド

現在のタスクから切り離すことをホストに通知します。

解説

IHostTaskManager を使用すると、CLR が、タスクを作成および管理したり、マネージ コードとアンマネージ コード間で制御が移るときにホストがアクションを実行するためのフックを提供したりできます。また、コードの実行中にホストが実行できる、または実行できない特定のアクションを指定することもできます。

必要条件

プラットフォーム : 「.NET Framework システム要件」を参照

ヘッダー : MSCorEE.idl

ライブラリ : MSCorEE.dll にリソースとして格納されていること

.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

参照

参照

ICLRTask

ICLRTaskManager

IHostTask

その他の技術情報

ホスト インターフェイス