XAsync 库概述

XAsync 库提供用于定义异步任务及其回调的方法和数据。 此库中定义了主要的异步基元 XAsyncBlock, 这是所有异步任务所必需的。

除了异步块,此库还提供了启动基本异步调用获取异步任务状态尝试取消任务的方法。

XAsyncBlock

XAsyncBlock 是主要的异步基元,包含用于实施完成回调、向完成回调提供数据并选择要在其上运行的任务队列的成员。

异步块还包含系统在内部用于运行时行为的专用数据。 因此,此块不能在多个活动任务之间共享。 当异步调用处于活动状态时,系统将使用此数据来识别异步调用。

struct XAsyncBlock
{
    /// <summary>
    /// The queue to queue the call on.
    /// </summary>
    XTaskQueueHandle queue;
    
    /// <summary>
    /// Optional context pointer to pass to the callback.
    /// </summary>
    void* context;
    
    /// <summary>
    /// Optional callback that is invoked when the call completes.
    /// </summary>
    XAsyncCompletionRoutine* callback;
    
    /// <summary>
    /// Internal use only.
    /// </summary>
    unsigned char internal[sizeof(void*) * 4];
};

另请参阅

设置异步任务
运行简单任务
运行 Microsoft 游戏开发工具包 API 任务
XAsync 系统 API 内容