Aracılığıyla paylaş


task_continuation_context Sınıfı

sınıfı, task_continuation_context devamın yürütülmesini istediğiniz yeri belirtmenize olanak tanır. Bu sınıfı yalnızca bir Windows Çalışma Zamanı uygulamasından kullanmak yararlıdır. Windows Çalışma Zamanı olmayan uygulamalar için görev devamlılığı yürütme bağlamı çalışma zamanı tarafından belirlenir ve yapılandırılamaz.

Sözdizimi

class task_continuation_context : public details::_ContextCallback;

Üyeler

Genel Yöntemler

Veri Akışı Adı Açıklama
get_current_winrt_context Geçerli winrt iş parçacığı bağlamını temsil eden bir görev devamlılığı bağlam nesnesi döndürür.
use_arbitrary Çalışma Zamanının bir devamlılık için yürütme bağlamını seçmesini sağlayan bir görev devamlılığı bağlamı oluşturur.
use_current Geçerli yürütme bağlamını temsil eden bir görev devamlılığı bağlam nesnesi döndürür.
use_default Varsayılan görev devamlılığı bağlamını oluşturur.
use_synchronous_execution Zaman uyumlu yürütme bağlamını temsil eden bir görev devamlılığı bağlam nesnesi döndürür.

Devralma Hiyerarşisi

_ContextCallback

task_continuation_context

Gereksinimler

Üst bilgi: ppltasks.h

Ad alanı: eşzamanlılık

get_current_winrt_context

Geçerli WinRT iş parçacığı bağlamını temsil eden bir görev devamlılığı bağlam nesnesi döndürür.

Sözdizimi

static task_continuation_context get_current_winrt_context();

Dönüş Değeri

Geçerli Windows Çalışma Zamanı iş parçacığı bağlamı. Windows Çalışma Zamanı olmayan bir bağlamdan çağrılırsa boş bir task_continuation_context döndürür.

Açıklamalar

yöntemi, get_current_winrt_context çağıranın Windows Çalışma Zamanı iş parçacığı bağlamını yakalar. Windows Çalışma Zamanı olmayan arayanlara boş bir bağlam döndürür.

tarafından get_current_winrt_context döndürülen değer, çalışma zamanına, öncül görevin daire farkında olup olmadığına bakılmaksızın yakalanan bağlamın (STA vs MTA) daire modelinde devamlılık yürütülmesi gerektiğini belirtmek için kullanılabilir. Daireyi algılayan görev, Windows Çalışma Zamanı IAsyncInfo arabiriminin veya böyle bir görevden gelen bir görevin çiyillerini kaldıran bir görevdir.

Bu yöntem yöntemine use_current benzer, ancak C++/CX uzantısı desteği olmadan yerel C++ kodu için de kullanılabilir. Hem yerel hem de Windows Çalışma Zamanı arayanlar için C++/CX-agnostic kitaplık kodu yazan ileri düzey kullanıcılar tarafından kullanılmak üzere tasarlanmıştır. Bu işleve ihtiyacınız yoksa, yalnızca C++/CX istemcileri tarafından kullanılabilen yöntemini öneririz use_current .

use_arbitrary

Çalışma Zamanının bir devamlılık için yürütme bağlamını seçmesini sağlayan bir görev devamlılığı bağlamı oluşturur.

Sözdizimi

static task_continuation_context use_arbitrary();

Dönüş Değeri

Rastgele bir konumu temsil eden bir görev devamlılığı bağlamı.

Açıklamalar

Bu devamlılık bağlamı kullanıldığında devamlılık, öncül görev dairenin farkında olsa bile çalışma zamanının seçtiği bir bağlamda yürütülür.

use_arbitrary bir STA'da oluşturulan bir daireyi algılayan görevde devam için varsayılan davranışı kapatmak için kullanılabilir.

Bu yöntem yalnızca Windows Çalışma Zamanı uygulamalarda kullanılabilir.

use_current

Geçerli yürütme bağlamını temsil eden bir görev devamlılığı bağlam nesnesi döndürür.

static task_continuation_context use_current();

Dönüş Değeri

Geçerli yürütme bağlamı.

Açıklamalar

Bu yöntem, devamlılıkların doğru dairede yürütülebilmesi için çağıranın Windows Çalışma Zamanı bağlamını yakalar.

tarafından use_current döndürülen değer, çalışma zamanına, öncül görevin daire algılamalı olup olmadığına bakılmaksızın, devamın yakalanan bağlamda (STA vs MTA) yürütülmesi gerektiğini belirtmek için kullanılabilir. Daireyi algılayan görev, Windows Çalışma Zamanı IAsyncInfo arabiriminin veya böyle bir görevden gelen bir görevin çiyillerini kaldıran bir görevdir.

Bu yöntem yalnızca Windows Çalışma Zamanı uygulamalarda kullanılabilir.

use_default

Varsayılan görev devamlılığı bağlamını oluşturur.

static task_continuation_context use_default();

Dönüş Değeri

Varsayılan devamlılık bağlamı.

Açıklamalar

Yöntemini çağırdığınızda then bir devamlılık bağlamı belirtmezseniz varsayılan bağlam kullanılır. Windows 7 ve altı için Windows uygulamalarında ve Windows 8 ve üzeri sürümlerdeki masaüstü uygulamalarında çalışma zamanı, görev devamlılıklarının nerede yürütüleceğini belirler. Ancak, Windows Çalışma Zamanı bir uygulamada, bir daireyi kullanan bir görevde devam etme için varsayılan devamlılık bağlamı çağrılan then dairedir.

Daireyi algılayan görev, Windows Çalışma Zamanı IAsyncInfo arabiriminin veya böyle bir görevden gelen bir görevin çiyillerini kaldıran bir görevdir. Bu nedenle, bir Windows Çalışma Zamanı STA'daki bir daireyi kullanan görevde devamlılık zamanlarsanız, devamlılık bu STA'da yürütülür.

Daire tanımayan bir görevde devam, Çalışma Zamanı'nın seçtiği bir bağlamda yürütülür.

task_continuation_context::use_synchronous_execution

Zaman uyumlu yürütme bağlamını temsil eden bir görev devamlılığı bağlam nesnesi döndürür.

Sözdizimi

static task_continuation_context use_synchronous_execution();

Dönüş Değeri

Zaman uyumlu yürütme bağlamı.

Açıklamalar

yöntemi, use_synchronous_execution devamlılık görevini bağlam üzerinde zaman uyumlu bir şekilde çalıştırmaya zorlar ve bu da öncül görevinin tamamlanmasına neden olur.

Süreklilik eklendiğinde öncül görev zaten tamamlanmışsa, devamlılık, devamlılığı ekleyen bağlamda zaman uyumlu olarak çalışır.

Ayrıca bkz.

Eşzamanlılık Ad Alanı