XTaskQueueCallback

A callback that is invoked by the task queue.

Syntax

void XTaskQueueCallback(  
         void* context,  
         bool canceled  
)  

Parameters

context   _In_opt_
Type: void*

Optional. A context pointer passed when calling XTaskQueueSubmitCallback.

canceled   _In_
Type: bool

If true, the callback is being canceled because the task queue is terminating.

Return value

Type: void

Remarks

The XTaskQueueCallback callback is implemented to perform work on a task queue. Callbacks can be submitted to either the work port or completion port of a task queue by invoking XTaskQueueSubmitCallback or XTaskQueueSubmitDelayedCallback. The work port and completion port of a task queue can have independent dispatch modes, and XTaskQueueCallback callbacks can be submitted to either port. Typically, a callback submitted to a work port in turn submits a corresponding callback to the completion port upon completing its work.

The purpose of the canceled parameter is to ensure that any resources allocated by a callback can be properly released if a callback is canceled. If an XTaskQueueCallback callback is called and canceled is set to true, then the task queue for that callback has been terminated by calling XTaskQueueTerminate and the callback has been canceled. The callback should release any allocated resources, including the memory allocated in context, and perform no other work.

For an example, see Submitting callbacks.

Requirements

Header: XTaskQueue.h

Library: xgameruntime.lib

Supported platforms: Windows, Xbox One family consoles and Xbox Series consoles

See also

XTaskQueue members
Asynchronous Programming Model
Async Task Queue Design