# TransientTask ## 概述 提供短时任务C接口。 **起始版本:** 13 ## 汇总 ### 文件 | 名称 | 描述 | | -------- | -------- | | [transient_task_api.h](transient__task__api_8h.md) | 提供短时任务申请、查询、取消功能。 | | [transient_task_type.h](transient__task__type_8h.md) | 定义短时任务的错误码和结构体。 | ### 结构体 | 名称 | 描述 | | -------- | -------- | | struct  [TransientTask_DelaySuspendInfo](_transient_task___delay_suspend_info.md) | 定义短时任务返回信息结构体。 | ### 类型定义 | 名称 | 描述 | | -------- | -------- | | typedef enum [TransientTask_ErrorCode](#transienttask_errorcode) [TransientTask_ErrorCode](#transienttask_errorcode) | 定义短时任务错误码。 | | typedef struct [TransientTask_DelaySuspendInfo](_transient_task___delay_suspend_info.md) [TransientTask_DelaySuspendInfo](#transienttask_delaysuspendinfo) | 定义短时任务返回信息结构体。 | | typedef void(\* [TransientTask_Callback](#transienttask_callback)) (void) | 定义短时任务超时回调类型。 | ### 枚举 | 名称 | 描述 | | -------- | -------- | | [TransientTask_ErrorCode](#transienttask_errorcode) {
ERR_TRANSIENT_TASK_OK = 0, ERR_TRANSIENT_TASK_INVALID_PARAM = 401, ERR_TRANSIENT_TASK_PARCEL_FAILED = 9800002, ERR_TRANSIENT_TASK_TRANSACTION_FAILED = 9800003,
ERR_TRANSIENT_TASK_SYS_NOT_READY = 9800004, ERR_TRANSIENT_TASK_CLIENT_INFO_VERIFICATION_FAILED = 9900001, ERR_TRANSIENT_TASK_SERVICE_VERIFICATION_FAILED = 9900002
} | 定义短时任务错误码。 | ### 函数 | 名称 | 描述 | | -------- | -------- | | int32_t [OH_BackgroundTaskManager_RequestSuspendDelay](#oh_backgroundtaskmanager_requestsuspenddelay) (const char \*reason, [TransientTask_Callback](#transienttask_callback) callback, [TransientTask_DelaySuspendInfo](_transient_task___delay_suspend_info.md) \*info) | 申请短时任务。 | | int32_t [OH_BackgroundTaskManager_GetRemainingDelayTime](#oh_backgroundtaskmanager_getremainingdelaytime) (int32_t requestId, int32_t \*delayTime) | 获取本次短时任务的剩余时间。 | | int32_t [OH_BackgroundTaskManager_CancelSuspendDelay](#oh_backgroundtaskmanager_cancelsuspenddelay) (int32_t requestId) | 取消短时任务。 | ## 类型定义说明 ### TransientTask_Callback ``` typedef void(* TransientTask_Callback) (void) ``` **描述** 定义短时任务超时回调类型。 **起始版本:** 13 ### TransientTask_DelaySuspendInfo ``` typedef struct TransientTask_DelaySuspendInfo TransientTask_DelaySuspendInfo ``` **描述** 定义短时任务返回信息结构体。 **起始版本:** 13 ### TransientTask_ErrorCode ``` typedef enum TransientTask_ErrorCode TransientTask_ErrorCode ``` **描述** 定义短时任务错误码。 **起始版本:** 13 ## 枚举类型说明 ### TransientTask_ErrorCode ``` enum TransientTask_ErrorCode ``` **描述** 定义短时任务错误码。 **起始版本:** 13 | 枚举值 | 描述 | | -------- | -------- | | ERR_TRANSIENT_TASK_OK | \@error 成功。   | | ERR_TRANSIENT_TASK_INVALID_PARAM | \@error 入参错误,比如参数空指针。   | | ERR_TRANSIENT_TASK_PARCEL_FAILED | \@error Parcel读写操作失败。   | | ERR_TRANSIENT_TASK_TRANSACTION_FAILED | \@error IPC通信失败。   | | ERR_TRANSIENT_TASK_SYS_NOT_READY | \@error 系统服务失败。   | | ERR_TRANSIENT_TASK_CLIENT_INFO_VERIFICATION_FAILED | \@error 短时任务客户端信息校验失败。   | | ERR_TRANSIENT_TASK_SERVICE_VERIFICATION_FAILED | \@error 短时任务服务端校验失败。   | ## 函数说明 ### OH_BackgroundTaskManager_CancelSuspendDelay() ``` int32_t OH_BackgroundTaskManager_CancelSuspendDelay (int32_t requestId) ``` **描述** 取消短时任务。 **系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask **起始版本:** 13 **参数:** | 名称 | 描述 | | -------- | -------- | | requestId | 短时任务的请求ID。 | **返回:** 返回0,表示取消成功。 返回401,表示入参错误。 返回9800002,表示Parcel读写操作失败。 返回9800003,表示IPC通信失败。 返回9800004,表示系统服务失败。 返回9900001,表示短时任务客户端信息校验失败。 返回9900002,表示短时任务服务端校验失败。 错误码的具体信息请参考[TransientTask_ErrorCode](#transienttask_errorcode)。 ### OH_BackgroundTaskManager_GetRemainingDelayTime() ``` int32_t OH_BackgroundTaskManager_GetRemainingDelayTime (int32_t requestId, int32_t * delayTime ) ``` **描述** 获取本次短时任务的剩余时间。 **系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask **起始版本:** 13 **参数:** | 名称 | 描述 | | -------- | -------- | | requestId | 短时任务的请求ID。 | | time | 短时任务的剩余时间。 | **返回:** 返回0,表示查询成功。 返回401,表示入参错误。 返回9800002,表示Parcel读写操作失败。 返回9800003,表示IPC通信失败。 返回9800004,表示系统服务失败。 返回9900001,表示短时任务客户端信息校验失败。 返回9900002,表示短时任务服务端校验失败。 错误码的具体信息请参考[TransientTask_ErrorCode](#transienttask_errorcode)。 ### OH_BackgroundTaskManager_RequestSuspendDelay() ``` int32_t OH_BackgroundTaskManager_RequestSuspendDelay (const char * reason, TransientTask_Callback callback, TransientTask_DelaySuspendInfo * info ) ``` **描述** 申请短时任务。 **系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask **起始版本:** 13 **参数:** | 名称 | 描述 | | -------- | -------- | | reason | 申请短时任务的原因。 | | callback | 短时任务即将超时的回调,一般在超时前6秒,通过此回调通知应用。 | | delaySuspendInfo | 返回短时任务信息。 | **返回:** 返回0,表示申请成功。 返回401,表示入参错误。 返回9800002,表示Parcel读写操作失败。 返回9800003,表示IPC通信失败。 返回9800004,表示系统服务失败。 返回9900001,表示短时任务客户端信息校验失败。 返回9900002,表示短时任务服务端校验失败。 错误码的具体信息请参考[TransientTask_ErrorCode](#transienttask_errorcode)。