Freigeben über


task_continuation_context-Klasse

Mit der task_continuation_context-Klasse können Sie angeben, an welcher Stelle eine Fortsetzung ausgeführt werden soll. Es ist nur nützlich, diese Klasse aus einer Windows-Runtime-App zu verwenden. Bei Nicht-Windows-Runtime-Apps wird der Ausführungskontext der Aufgabenfortsetzung durch die Laufzeit bestimmt und nicht konfigurierbar.

Syntax

class task_continuation_context : public details::_ContextCallback;

Member

Öffentliche Methoden

Name Beschreibung
get_current_winrt_context Gibt ein Aufgabenfortsetzungskontextobjekt zurück, das den aktuellen Winrt-Threadkontext darstellt.
use_arbitrary Erstellt einen Aufgabenfortsetzungskontext, der er es der Laufzeit ermöglicht, den Ausführungskontext für eine Fortsetzung auszuwählen.
use_current Gibt ein Kontextobjekt für die Aufgabenfortsetzung zurück, das den aktuellen Ausführungskontext darstellt.
use_default Erstellt den standardmäßigen Aufgabenfortsetzungskontext.
use_synchronous_execution Gibt ein Aufgabenfortsetzungskontextobjekt zurück, das den synchronen Ausführungskontext darstellt.

Vererbungshierarchie

_ContextCallback

task_continuation_context

Anforderungen

Kopfzeile: ppltasks.h

Namespace: Parallelität

get_current_winrt_context

Gibt ein Aufgabenfortsetzungskontextobjekt zurück, das den aktuellen WinRT-Threadkontext darstellt.

Syntax

static task_continuation_context get_current_winrt_context();

Rückgabewert

Der aktuelle Windows-Runtime Threadkontext. Gibt eine leere task_continuation_context zurück, wenn sie aus einem Kontext ohne Windows-Runtime aufgerufen wird.

Hinweise

Die get_current_winrt_context Methode erfasst den Windows-Runtime Threadkontext des Aufrufers. Er gibt einen leeren Kontext an Nicht-Windows-Runtime Aufrufer zurück.

Der von get_current_winrt_context diesem Wert zurückgegebene Wert kann verwendet werden, um anzugeben, dass die Fortsetzung im Apartmentmodell des erfassten Kontexts (STA vs MTA) ausgeführt werden soll, unabhängig davon, ob die vorerkennende Aufgabe apartmentfähig ist. Eine apartmentfähige Aufgabe ist eine Aufgabe, die eine IAsyncInfo-Windows-Runtime-Schnittstelle entpackt, oder eine Aufgabe, die von einer solchen Aufgabe abgeleitet wird.

Diese Methode ähnelt der use_current Methode, ist aber auch für systemeigene c++-Code ohne C++/CX-Erweiterungsunterstützung verfügbar. Sie ist für die Verwendung durch erweiterte Benutzer vorgesehen, die C++/CX-agnostischen Bibliothekscode sowohl für systemeigene als auch für Windows-Runtime Aufrufer schreiben. Sofern Sie diese Funktionalität nicht benötigen, empfehlen wir die use_current Methode, die nur für C++/CX-Clients verfügbar ist.

use_arbitrary

Erstellt einen Aufgabenfortsetzungskontext, der er es der Laufzeit ermöglicht, den Ausführungskontext für eine Fortsetzung auszuwählen.

Syntax

static task_continuation_context use_arbitrary();

Rückgabewert

Ein Aufgabenfortsetzungskontext, der einen beliebigen Ort darstellt.

Hinweise

Wenn dieser Fortsetzungskontext verwendet wird, wird die Fortsetzung in einem Kontext ausgeführt, den die Laufzeit selbst auswählt, auch wenn die Vorgängeraufgabe apartmentfähig ist.

use_arbitrary kann verwendet werden, um das Standardverhalten für eine Fortsetzung einer apartmentfähigen Aufgabe zu deaktivieren, die in einem STA erstellt wurde.

Diese Methode ist nur für Windows-Runtime Apps verfügbar.

use_current

Gibt ein Kontextobjekt für die Aufgabenfortsetzung zurück, das den aktuellen Ausführungskontext darstellt.

static task_continuation_context use_current();

Rückgabewert

Der aktuelle Ausführungskontext.

Hinweise

Diese Methode erfasst den Windows-Runtime-Kontext des Aufrufers, sodass Fortsetzungen im richtigen Apartment ausgeführt werden können.

Der Wert, der von use_current zurückgegeben wird, teilt der Runtime mit, dass die Fortsetzung im erfassten Kontext (STA oder MTA) ausgeführt werden soll, unabhängig davon, ob die Vorgängeraufgabe apartmentfähig ist. Eine apartmentfähige Aufgabe ist eine Aufgabe, die eine IAsyncInfo-Windows-Runtime-Schnittstelle entpackt, oder eine Aufgabe, die von einer solchen Aufgabe abgeleitet wird.

Diese Methode ist nur für Windows-Runtime Apps verfügbar.

use_default

Erstellt den standardmäßigen Aufgabenfortsetzungskontext.

static task_continuation_context use_default();

Rückgabewert

Der standardmäßige Fortsetzungskontext.

Hinweise

Der Standardkontext wird verwendet, wenn Sie beim Aufrufen der then Methode keinen Fortsetzungskontext angeben. In Windows-Anwendungen für Windows 7 und älter sowie in Desktopanwendungen für Windows 8 und höher bestimmt die Laufzeit, wo Aufgabenfortsetzungen ausgeführt werden. In einer Windows-Runtime-App ist jedoch der Standardfortsetzungskontext für eine Fortsetzung für eine Aufgabe, die für ein Apartment geeignet ist, die Wohnung, in then der sie aufgerufen wird.

Eine apartmentfähige Aufgabe ist eine Aufgabe, die eine IAsyncInfo-Windows-Runtime-Schnittstelle entpackt, oder eine Aufgabe, die von einer solchen Aufgabe abgeleitet wird. Wenn Sie eine Fortsetzung einer apartmentfähigen Aufgabe in einem Windows-Runtime-STA planen, wird die Fortsetzung daher in diesem STA ausgeführt.

Eine Fortsetzung einer nicht apartmentfähigen Aufgabe wird in einem Kontext ausgeführt, den die Laufzeit auswählt.

task_continuation_context::use_synchronous_execution

Gibt ein Aufgabenfortsetzungskontextobjekt zurück, das den synchronen Ausführungskontext darstellt.

Syntax

static task_continuation_context use_synchronous_execution();

Rückgabewert

Der synchrone Ausführungskontext.

Hinweise

Die use_synchronous_execution Methode erzwingt, dass die Fortsetzungsaufgabe synchron im Kontext ausgeführt wird, was dazu führt, dass der Vorgang abgeschlossen wird.

Wenn die vorerkennte Aufgabe bereits abgeschlossen wurde, wenn die Fortsetzung angefügt wird, wird die Fortsetzung synchron im Kontext ausgeführt, der die Fortsetzung anfügt.

Siehe auch

Concurrency-Namespace