다음을 통해 공유


IHostTaskManager

업데이트: 2007년 11월

CLR(공용 언어 런타임)에서 표준 운영 체제 스레드 또는 파이버 함수를 사용하는 대신 호스트를 통해 작업을 사용할 수 있도록 하는 메서드를 제공합니다.

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

기타 리소스

호스팅 인터페이스