共用方式為


task_continuation_context 類別

task_continuation_context 類別可讓您指定您想要執行接續的位置。 只有從 Windows 執行階段 應用程式使用此類別才有用。 對於非 Windows 執行階段 應用程式,工作接續的執行內容是由運行時間決定,且無法設定。

語法

class task_continuation_context : public details::_ContextCallback;

成員

公用方法

名稱 描述
get_current_winrt_context 會傳回代表目前 winrt 線程內容的工作接續內容物件。
use_arbitrary 建立可讓執行階段選擇接續執行內容的工作接續內容。
use_current 傳回表示目前執行內容的工作接續內容物件。
use_default 建立預設工作接續內容。
use_synchronous_execution 傳回代表同步執行內容的工作接續內容物件。

繼承階層架構

_ContextCallback

task_continuation_context

需求

標頭: ppltasks.h

命名空間: concurrency

get_current_winrt_context

會傳回代表目前 WinRT 線程內容的工作接續內容物件。

語法

static task_continuation_context get_current_winrt_context();

傳回值

目前 Windows 執行階段 線程內容。 如果從非 Windows 執行階段 內容呼叫,則傳回空白task_continuation_context。

備註

方法get_current_winrt_context會擷取呼叫者的 Windows 執行階段 線程內容。 它會將空的內容傳回給非 Windows 執行階段呼叫端。

get_current_winrt_context 回的值可用來向運行時間指出,不論前項工作是否知道 Apartment 感知,接續應該在所擷取內容 (STA 與 MTA) 的 Apartment 模型中執行。 Apartment 感知工作是解除包裝 Windows 執行階段 IAsyncInfo 介面的工作,或從這類工作遞減的工作。

這個方法與 use_current 方法類似,但它也適用於原生C++程序代碼,而不需要C++/CX 擴充功能支援。 它適用於撰寫原生和 Windows 執行階段呼叫端C++/CX 無關的連結庫程式碼的進階使用者使用。 除非您需要這項功能,否則建議您 use_current 使用 方法,此方法僅適用於C++/CX 用戶端。

use_arbitrary

建立可讓執行階段選擇接續執行內容的工作接續內容。

語法

static task_continuation_context use_arbitrary();

傳回值

代表任意位置的工作接續內容。

備註

當使用此接續內容時,即使前項工作知道Apartment,運行時間仍會在內容中執行接續。

use_arbitrary 可用來關閉 STA 中建立之 Apartment 感知工作上接續的預設行為。

這個方法僅適用於 Windows 執行階段 應用程式。

use_current

傳回表示目前執行內容的工作接續內容物件。

static task_continuation_context use_current();

傳回值

目前執行內容。

備註

這個方法會擷取呼叫者的 Windows 執行階段 內容,以便在正確的 Apartment 中執行接續。

use_current 回的值可用來向運行時間指出接續應該在擷取的內容中執行(STA 與 MTA),不論前項工作是否為 Apartment 感知。 Apartment 感知工作是解除包裝 Windows 執行階段 IAsyncInfo 介面的工作,或從這類工作遞減的工作。

這個方法僅適用於 Windows 執行階段 應用程式。

use_default

建立預設工作接續內容。

static task_continuation_context use_default();

傳回值

默認接續內容。

備註

如果您在呼叫 then 方法時未指定接續內容,則會使用預設內容。 在適用於 Windows 7 和更新版本的 Windows 應用程式中,以及 Windows 8 和更新版本的傳統型應用程式,運行時間會決定工作接續的執行位置。 不過,在 Windows 執行階段 應用程式中,在 Apartment 感知工作上接續的預設接續內容是叫用 Apartment then 的位置。

Apartment 感知工作是解除包裝 Windows 執行階段 IAsyncInfo 介面的工作,或從這類工作遞減的工作。 因此,如果您在 Windows 執行階段 STA 中排程 Apartment 感知工作的接續,接續將會在該 STA 中執行。

非 Apartment 感知工作的接續會在運行時間選擇的內容中執行。

task_continuation_context::use_synchronous_execution

傳回代表同步執行內容的工作接續內容物件。

語法

static task_continuation_context use_synchronous_execution();

傳回值

同步執行內容。

備註

方法 use_synchronous_execution 會強制接續工作在內容上同步執行,導致其前項工作的完成。

如果附加接續時,前項工作已經完成,接續會在附加接續的內容上同步執行。

另請參閱

concurrency 命名空間