1# TransientTask 2 3## 概述 4 5提供短时任务C接口。 6 7**起始版本:** 13 8 9## 汇总 10 11 12### 文件 13 14| 名称 | 描述 | 15| -------- | -------- | 16| [transient_task_api.h](transient__task__api_8h.md) | 提供短时任务申请、查询、取消功能。 | 17| [transient_task_type.h](transient__task__type_8h.md) | 定义短时任务的错误码和结构体。 | 18 19 20### 结构体 21 22| 名称 | 描述 | 23| -------- | -------- | 24| struct [TransientTask_DelaySuspendInfo](_transient_task___delay_suspend_info.md) | 定义短时任务返回信息结构体。 | 25 26 27### 类型定义 28 29| 名称 | 描述 | 30| -------- | -------- | 31| typedef enum [TransientTask_ErrorCode](#transienttask_errorcode) [TransientTask_ErrorCode](#transienttask_errorcode) | 定义短时任务错误码。 | 32| typedef struct [TransientTask_DelaySuspendInfo](_transient_task___delay_suspend_info.md) [TransientTask_DelaySuspendInfo](#transienttask_delaysuspendinfo) | 定义短时任务返回信息结构体。 | 33| typedef void(\* [TransientTask_Callback](#transienttask_callback)) (void) | 定义短时任务超时回调类型。 | 34 35 36### 枚举 37 38| 名称 | 描述 | 39| -------- | -------- | 40| [TransientTask_ErrorCode](#transienttask_errorcode) {<br/>ERR_TRANSIENT_TASK_OK = 0, ERR_TRANSIENT_TASK_INVALID_PARAM = 401, ERR_TRANSIENT_TASK_PARCEL_FAILED = 9800002, ERR_TRANSIENT_TASK_TRANSACTION_FAILED = 9800003,<br/>ERR_TRANSIENT_TASK_SYS_NOT_READY = 9800004, ERR_TRANSIENT_TASK_CLIENT_INFO_VERIFICATION_FAILED = 9900001, ERR_TRANSIENT_TASK_SERVICE_VERIFICATION_FAILED = 9900002<br/>} | 定义短时任务错误码。 | 41 42 43### 函数 44 45| 名称 | 描述 | 46| -------- | -------- | 47| 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) | 申请短时任务。 | 48| int32_t [OH_BackgroundTaskManager_GetRemainingDelayTime](#oh_backgroundtaskmanager_getremainingdelaytime) (int32_t requestId, int32_t \*delayTime) | 获取本次短时任务的剩余时间。 | 49| int32_t [OH_BackgroundTaskManager_CancelSuspendDelay](#oh_backgroundtaskmanager_cancelsuspenddelay) (int32_t requestId) | 取消短时任务。 | 50 51 52## 类型定义说明 53 54 55### TransientTask_Callback 56 57``` 58typedef void(* TransientTask_Callback) (void) 59``` 60**描述** 61定义短时任务超时回调类型。 62 63**起始版本:** 13 64 65 66### TransientTask_DelaySuspendInfo 67 68``` 69typedef struct TransientTask_DelaySuspendInfo TransientTask_DelaySuspendInfo 70``` 71**描述** 72定义短时任务返回信息结构体。 73 74**起始版本:** 13 75 76 77### TransientTask_ErrorCode 78 79``` 80typedef enum TransientTask_ErrorCode TransientTask_ErrorCode 81``` 82**描述** 83定义短时任务错误码。 84 85**起始版本:** 13 86 87 88## 枚举类型说明 89 90 91### TransientTask_ErrorCode 92 93``` 94enum TransientTask_ErrorCode 95``` 96**描述** 97定义短时任务错误码。 98 99**起始版本:** 13 100 101| 枚举值 | 描述 | 102| -------- | -------- | 103| ERR_TRANSIENT_TASK_OK | \@error 成功。 | 104| ERR_TRANSIENT_TASK_INVALID_PARAM | \@error 入参错误,比如参数空指针。 | 105| ERR_TRANSIENT_TASK_PARCEL_FAILED | \@error Parcel读写操作失败。 | 106| ERR_TRANSIENT_TASK_TRANSACTION_FAILED | \@error IPC通信失败。 | 107| ERR_TRANSIENT_TASK_SYS_NOT_READY | \@error 系统服务失败。 | 108| ERR_TRANSIENT_TASK_CLIENT_INFO_VERIFICATION_FAILED | \@error 短时任务客户端信息校验失败。 | 109| ERR_TRANSIENT_TASK_SERVICE_VERIFICATION_FAILED | \@error 短时任务服务端校验失败。 | 110 111 112## 函数说明 113 114 115### OH_BackgroundTaskManager_CancelSuspendDelay() 116 117``` 118int32_t OH_BackgroundTaskManager_CancelSuspendDelay (int32_t requestId) 119``` 120**描述** 121取消短时任务。 122 123**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask 124 125**起始版本:** 13 126 127**参数:** 128 129| 名称 | 描述 | 130| -------- | -------- | 131| requestId | 短时任务的请求ID。 | 132 133**返回:** 134 135返回0,表示取消成功。 返回401,表示入参错误。 返回9800002,表示Parcel读写操作失败。 返回9800003,表示IPC通信失败。 返回9800004,表示系统服务失败。 返回9900001,表示短时任务客户端信息校验失败。 返回9900002,表示短时任务服务端校验失败。 错误码的具体信息请参考[TransientTask_ErrorCode](#transienttask_errorcode)。 136 137 138### OH_BackgroundTaskManager_GetRemainingDelayTime() 139 140``` 141int32_t OH_BackgroundTaskManager_GetRemainingDelayTime (int32_t requestId, int32_t * delayTime ) 142``` 143**描述** 144获取本次短时任务的剩余时间。 145 146**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask 147 148**起始版本:** 13 149 150**参数:** 151 152| 名称 | 描述 | 153| -------- | -------- | 154| requestId | 短时任务的请求ID。 | 155| time | 短时任务的剩余时间。 | 156 157**返回:** 158 159返回0,表示查询成功。 返回401,表示入参错误。 返回9800002,表示Parcel读写操作失败。 返回9800003,表示IPC通信失败。 返回9800004,表示系统服务失败。 返回9900001,表示短时任务客户端信息校验失败。 返回9900002,表示短时任务服务端校验失败。 错误码的具体信息请参考[TransientTask_ErrorCode](#transienttask_errorcode)。 160 161 162### OH_BackgroundTaskManager_RequestSuspendDelay() 163 164``` 165int32_t OH_BackgroundTaskManager_RequestSuspendDelay (const char * reason, TransientTask_Callback callback, TransientTask_DelaySuspendInfo * info ) 166``` 167**描述** 168申请短时任务。 169 170**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask 171 172**起始版本:** 13 173 174**参数:** 175 176| 名称 | 描述 | 177| -------- | -------- | 178| reason | 申请短时任务的原因。 | 179| callback | 短时任务即将超时的回调,一般在超时前6秒,通过此回调通知应用。 | 180| delaySuspendInfo | 返回短时任务信息。 | 181 182**返回:** 183 184返回0,表示申请成功。 返回401,表示入参错误。 返回9800002,表示Parcel读写操作失败。 返回9800003,表示IPC通信失败。 返回9800004,表示系统服务失败。 返回9900001,表示短时任务客户端信息校验失败。 返回9900002,表示短时任务服务端校验失败。 错误码的具体信息请参考[TransientTask_ErrorCode](#transienttask_errorcode)。 185