Třída task_continuation_context

Třída task_continuation_context umožňuje určit, kde se má pokračování provést. Tato třída je užitečná pouze v aplikaci prostředí Windows Runtime. U aplikací, které nejsou prostředí Windows Runtime, je kontext spuštění úlohy určen modulem runtime a nelze ho konfigurovat.

Syntaxe

class task_continuation_context : public details::_ContextCallback;

Členové

Veřejné metody

Název Popis
get_current_winrt_context Vrátí kontextový objekt pokračování úkolu, který představuje aktuální kontext vlákna winrt.
use_arbitrary (použití_náhodného) Vytvoří kontext pokračování úlohy, který modulu runtime umožňuje zvolit kontext spuštění pro pokračování.
použít_aktuální Vrátí kontextový objekt pokračování úkolu, který představuje aktuální kontext spuštění.
use_default Vytvoří výchozí kontext pokračování úkolu.
use_synchronous_execution Vrátí objekt kontextu pokračování úkolu, který představuje synchronní kontext spuštění.

Hierarchie dědičnosti

_ContextCallback

task_continuation_context

Požadavky

Hlavička: ppltasks.h

Obor názvů: souběžnost

get_current_winrt_context

Vrátí objekt kontextu pokračování úkolu, který představuje aktuální kontext vlákna WinRT.

Syntaxe

static task_continuation_context get_current_winrt_context();

Návratová hodnota

Aktuální kontext vlákna prostředí Windows Runtime. Vrátí prázdnou task_continuation_context, pokud je volána z kontextu, který není prostředí Windows Runtime.

Poznámky

Metoda get_current_winrt_context zachycuje kontext vlákna prostředí Windows Runtime iniciovaného volajícím. Vrátí prázdný kontext volajícím mimo systém Windows Runtime.

Hodnotu vrácenou get_current_winrt_context lze použít k označení Runtime, že pokračování by se mělo provést v modelu apartmánu zachyceného kontextu (STA vs. MTA), bez ohledu na to, zda je úloha si vědoma apartmánového modelu. Úkol s podporou apartment je úkol, který rozbalí rozhraní Windows Runtime IAsyncInfo, nebo úkol pocházející z takového úkolu.

Tato metoda je podobná use_current metodě, ale je také k dispozici nativnímu kódu C++ bez podpory rozšíření C++/CX. Je určen pro pokročilé uživatele, kteří zapisují kód knihovny nezávislý na C++/CX jak pro nativní volající, tak pro volající prostředí Windows Runtime. Pokud tuto funkci nepotřebujete, doporučujeme metodu use_current , která je k dispozici pouze pro klienty C++/CX.

používej_libovolně

Vytvoří kontext pokračování úlohy, který modulu runtime umožňuje zvolit kontext spuštění pro pokračování.

Syntaxe

static task_continuation_context use_arbitrary();

Návratová hodnota

Kontext pokračování úkolu, který představuje libovolné umístění.

Poznámky

Pokud se tento kontext pokračování použije, pokračování se spustí v kontextu, který modul runtime zvolí i v případě, že úloha typu antecedent je vědoma bytu.

use_arbitrary lze použít k vypnutí výchozího chování pro pokračování úkolu s povědomím o apartmánu vytvořeného ve STA.

Tato metoda je dostupná pouze pro prostředí Windows Runtime aplikace.

použít_aktuální

Vrátí kontextový objekt pokračování úkolu, který představuje aktuální kontext spuštění.

static task_continuation_context use_current();

Návratová hodnota

Aktuální kontext spuštění.

Poznámky

Tato metoda zachycuje kontext volajícího prostředí Windows Runtime, aby bylo možné pokračovat v pravém bytě.

Hodnota vrácená use_current může být použita k indikaci pro Runtime, že pokračování by mělo být provedeno v zachyceném kontextu (STA vs MTA), bez ohledu na to, zda je předcházející úloha schopna pracovat s apartment mode. Úkol s podporou apartment je úkol, který rozbalí rozhraní Windows Runtime IAsyncInfo, nebo úkol pocházející z takového úkolu.

Tato metoda je dostupná pouze pro prostředí Windows Runtime aplikace.

použít_výchozí

Vytvoří výchozí kontext pokračování úkolu.

static task_continuation_context use_default();

Návratová hodnota

Výchozí kontext pokračování.

Poznámky

Výchozí kontext se použije, pokud při volání then metody nezadáte kontext pokračování. V aplikacích pro Windows pro Windows 7 a novějších i desktopových aplikacích ve Windows 8 a novějších určuje modul runtime, kde se budou spouštět pokračování úloh. V aplikaci prostředí Windows Runtime ale výchozí kontext pokračování pro pokračování úkolu s informacemi o apartmánu je byt, ve kterém then je vyvolán.

Úkol s podporou apartment je úkol, který rozbalí rozhraní Windows Runtime IAsyncInfo, nebo úkol pocházející z takového úkolu. Proto pokud plánujete pokračování na úkolu s povědomím o apartmánu v prostředí Windows Runtime STA, pokračování proběhne v tomto STA.

Pokračování úlohy neznající apartmány bude provedeno v kontextu, který prostředí runtime zvolí.

task_continuation_context::use_synchronous_execution

Vrátí objekt kontextu pokračování úkolu, který představuje synchronní kontext spuštění.

Syntaxe

static task_continuation_context use_synchronous_execution();

Návratová hodnota

Synchronní kontext spuštění.

Poznámky

Metoda use_synchronous_execution vynutí, aby pokračování úkolu běželo synchronně v kontextu, čímž způsobí dokončení předchozího úkolu.

Pokud je úloha antecedentu již dokončena, když je pokračování připojeno, pokračování se spustí synchronně v kontextu, ve kterém je připojeno.

Viz také

concurrency – obor názvů