Freigeben über


IHostTaskManager-Schnittstelle

Aktualisiert: November 2007

Stellt Methoden bereit, die der Common Language Runtime (CLR) die Arbeit mit Aufgaben über den Host ermöglichen, statt die standardmäßigen Threading- oder Fiberfunktionen des Betriebssystems zu verwenden.

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
        );

}

Methoden

Methode

Beschreibung

IHostTaskManager::BeginDelayAbort-Methode

Benachrichtigt den Host, dass verwalteter Code in eine Phase eintritt, in der die aktuelle Aufgabe nicht abgebrochen werden darf.

IHostTaskManager::BeginThreadAffinity-Methode

Benachrichtigt den Host, dass verwalteter Code in eine Phase eintritt, in der die aktuelle Aufgabe nicht in einen anderen Betriebssystemthread verschoben werden darf.

IHostTaskManager::CallNeedsHostHook-Methode

Ermöglicht dem Host, anzugeben, ob die Common Language Runtime den angegebenen Aufruf einer nicht verwalteten Funktion in einen Inlineaufruf umwandeln kann.

IHostTaskManager::CreateTask-Methode

Fordert den Host auf, eine neue Aufgabe zu erstellen.

IHostTaskManager::EndDelayAbort-Methode

Benachrichtigt den Host, dass verwalteter Code nach einem vorhergehenden Aufruf von BeginDelayAbort die Phase verlässt, in der die aktuelle Aufgabe nicht abgebrochen werden darf.

IHostTaskManager::EndThreadAffinity-Methode

Benachrichtigt den Host, dass verwalteter Code nach einem vorhergehenden Aufruf von BeginThreadAffinity die Phase verlässt, in der die aktuelle Aufgabe nicht in einen anderen Betriebssystemthread verschoben werden darf.

IHostTaskManager::EnterRuntime-Methode

Benachrichtigt den Host, dass ein Aufruf einer nicht verwalteten Methode, wie z. B. einer Plattformaufrufmethode, die Steuerung der Ausführung an die CLR zurückgibt.

IHostTaskManager::GetCurrentTask-Methode

Ruft einen Schnittstellenzeiger auf die Aufgabe ab, die aktuell im Betriebssystemthread ausgeführt wird, aus dem der Aufruf vorgenommen wurde.

IHostTaskManager::GetStackGuarantee-Methode

Ruft die Menge an Stapelspeicher ab, die nach einem Stapelvorgang, jedoch noch vor Abschluss eines Prozesses garantiert verfügbar ist.

IHostTaskManager::LeaveRuntime-Methode

Benachrichtigt den Host, dass verwalteter Code im Begriff ist, eine nicht verwaltete Funktion aufzurufen.

IHostTaskManager::ReverseEnterRuntime-Methode

Benachrichtigt den Host, dass die Common Language Runtime (CLR) aus nicht verwaltetem Code aufgerufen wird.

IHostTaskManager::ReverseLeaveRuntime-Methode

Benachrichtigt den Host, dass die Steuerung die CLR verlässt und in eine nicht verwaltete Funktion eintritt, die wiederum von verwaltetem Code aufgerufen wurde.

IHostTaskManager::SetCLRTaskManager-Methode

Stellt für den Host einen Schnittstellenzeiger auf eine ICLRTaskManager-Instanz bereit, die von der CLR implementiert wurde.

IHostTaskManager::SetLocale-Methode

Benachrichtigt den Host, dass das Gebietsschema für die aktuelle Aufgabe von der CLR geändert wurde.

IHostTaskManager::SetStackGuarantee-Methode

Ausschließlich für die interne Verwendung reserviert.

IHostTaskManager::SetUILocale-Methode

Benachrichtigt den Host, dass das Gebietsschema der Benutzeroberfläche in der aktuellen Aufgabe geändert wurde.

IHostTaskManager::Sleep-Methode

Benachrichtigt den Host, dass die aktuelle Aufgabe deaktiviert wird.

IHostTaskManager::SwitchToTask-Methode

Benachrichtigt den Host, dass er die aktuelle Aufgabe beenden soll.

Hinweise

IHostTaskManager ermöglicht der CLR, Aufgaben zu erstellen und zu verwalten, Hooks für den Host bereitzustellen, damit dieser Aktionen durchführen kann, wenn die Steuerung von verwaltetem in nicht verwalteten Code übergeht und umgekehrt, sowie bestimmte Aktionen anzugeben, die der Host bei der Codeausführung durchführen bzw. nicht durchführen darf.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: MSCorEE.idl

Bibliothek: als Ressource in MSCorEE.dll enthalten

.NET Framework-Versionen: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Siehe auch

Referenz

ICLRTask-Schnittstelle

ICLRTaskManager-Schnittstelle

IHostTask-Schnittstelle

Weitere Ressourcen

Hostingschnittstellen