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.