Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 mevcut görev devam bağlamı nesnesini döndürür. |
| rastgele_kullan | Ç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 | Mevcut yürütme bağlamını temsil eden bir görev devamı bağlam nesnesi döndürür. |
| varsayılanı_kullan | Varsayılan görev devamlılığı bağlamını oluşturur. |
| use_synchronous_execution | Eşzamanlı yürütme bağlamını temsil eden bir görev devam 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 sürekliliği bağlamı nesnesi döndürür.
Sözdizimi
static task_continuation_context get_current_winrt_context();
Dönüş Değeri
Geçerli Windows Runtime 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
get_current_winrt_context yöntemi, çağıranın Windows Runtime thread bağlamını yakalar. Windows Runtime olmayan çağrıcılara 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. Apartman farkındalığı olan görev, bir Windows Çalışma Zamanı IAsyncInfo arabirimini açan veya bu tür bir görevden türemiş 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. İleri düzey kullanıcıların hem yerel hem Windows Çalışma Zamanı çağrıcıları için C++/CX-uyumsuz kütüphane kodu yazabilmesi amacıyla 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ı ortamının bir devam görevi 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.
mevcut_kullan
Geçerli yürütme bağlamını temsil eden bir görev sürdürme bağlam nesnesi döndürür.
static task_continuation_context use_current();
Dönüş Değeri
Mevcut yürütme bağlamı.
Açıklamalar
Bu yöntem, devamlılıkların doğru apartmanda yürütülebilmesi için çağıranın Windows Runtime 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. Daire farkındalığı olan görev, bir Windows Çalışma Zamanı IAsyncInfo arabirimini çözen veya böyle bir görevden türeyen bir görevdir.
Bu yöntem yalnızca Windows Çalışma Zamanı uygulamalarda kullanılabilir.
varsayılanı kullan
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ı uygulamasında, apartman farkındalığı olan bir görevdeki devam için varsayılan devam bağlamı, devamın then çağrısının yapıldığı dairedir.
Apartman farkındalığı olan görev, bir Windows Çalışma Zamanı IAsyncInfo arabirimini açan veya bu tür bir görevden türemiş bir görevdir. Bu nedenle, bir Windows Çalışma Zamanı STA'sında apartment ile uyumlu bir görevde bir devam görevini planlarsanız, devam görevini 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 (senkron yürütme kullanımı)
Eşzamanlı yürütme bağlamını temsil eden bir görev devam 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
use_synchronous_execution yöntemi, devamlılık görevini bağlam üzerinde eşzamanlı olarak çalıştırmayı zorlar, böylece öncül görevin tamamlanması sağlanır.
Öncül görev, süreklilik eklendiğinde zaten tamamlanmışsa, devam, sürekliliği ekleyen bağlamda eşzamanlı olarak çalışır.