STLdoc
STLdocumentation
|
The task_continuation_context
class allows you to specify where you would like a continuation to be executed. It is only useful to use this class from a Windows Store app. For non-Windows Store apps, the task continuation's execution context is determined by the runtime, and not configurable.
More...
#include <ppltasks.h>
Public Member Functions | |
bool | _ForceInline () const |
Public Member Functions inherited from Concurrency::details::_ContextCallback | |
~_ContextCallback () | |
_ContextCallback (bool _DeferCapture=false) | |
void | _Resolve (bool _CaptureCurrent) |
_ContextCallback (const _ContextCallback &_Src) | |
_ContextCallback (_ContextCallback &&_Src) | |
_ContextCallback & | operator= (const _ContextCallback &_Src) |
_ContextCallback & | operator= (_ContextCallback &&_Src) |
bool | _HasCapturedContext () const |
bool | operator== (const _ContextCallback &_Rhs) const |
bool | operator!= (const _ContextCallback &_Rhs) const |
_CRTIMP2 void __thiscall | _CallInContext (_CallbackFunction _Func, bool _IgnoreDisconnect) const |
void | _CallInContext (_CallbackFunction _Func) const |
Static Public Member Functions | |
static task_continuation_context | use_default () |
Creates the default task continuation context. More... | |
static task_continuation_context | get_current_winrt_context () |
Returns a task continuation context object that represents the current winrt thread context. More... | |
static task_continuation_context | use_synchronous_execution () |
Returns a task continuation context object that represents the synchronous execution context. More... | |
Static Public Member Functions inherited from Concurrency::details::_ContextCallback | |
static _ContextCallback | _CaptureCurrent () |
Private Member Functions | |
_CRTIMP2 __thiscall | task_continuation_context () |
Private Attributes | |
bool | _M_RunInline |
The task_continuation_context
class allows you to specify where you would like a continuation to be executed. It is only useful to use this class from a Windows Store app. For non-Windows Store apps, the task continuation's execution context is determined by the runtime, and not configurable.
|
private |
|
inline |
|
inlinestatic |
Returns a task continuation context object that represents the current winrt thread context.
This method captures the current caller's Windows Runtime thread context. It is very similar to what task_continuation_context::use_current()
is doing except it is also available without C++/Cx extension support. Please approach this method with caution as it is designed for advanced users writing C++/Cx agnostic library code. task_continuation_context::use_current()
will give you more protection from mistakes.
This method is only available to Windows Store apps.
|
inlinestatic |
Creates the default task continuation context.
The default context is used if you don't specify a continuation context when you call the then
method. In Windows applications for Windows 7 and below, as well as desktop applications on Windows 8 and higher, the runtime determines where task continuations will execute. However, in a Windows Store app, the default continuation context for a continuation on an apartment aware task is the apartment where then
is invoked.
An apartment aware task is a task that unwraps a Windows Runtime IAsyncInfo
interface, or a task that is descended from such a task. Therefore, if you schedule a continuation on an apartment aware task in a Windows Runtime STA, the continuation will execute in that STA.
A continuation on a non-apartment aware task will execute in a context the Runtime chooses.
|
inlinestatic |
Returns a task continuation context object that represents the synchronous execution context.
This method will force the continuation task synchronously running on the context causing its antecedent task's completion; if the antecedent task has completed when the continuation is attached, the continuation will synchronously run on the context that attaches the continuation.
|
private |