1# dlp_permission_api.h 2<!--Kit: Data Protection Kit--> 3<!--Subsystem: Security--> 4<!--Owner: @winnieHuYu--> 5<!--Designer: @lucky-jinduo--> 6<!--Tester: @nacyli--> 7<!--Adviser: @zengyawen--> 8 9## 概述 10 11声明用于跨设备的文件的权限管理、加密存储、授权访问等能力的接口。 12 13**库:** libohdlp_permission.so 14 15**引用文件:** <DataProtectionKit/dlp_permission_api.h> 16 17**系统能力:** SystemCapability.Security.DataLossPrevention 18 19**起始版本:** 14 20 21**相关模块:** [DlpPermissionApi](capi-dlppermissionapi.md) 22 23## 汇总 24 25### 枚举 26 27| 名称 | typedef关键字 | 描述 | 28| -- | -- | -- | 29| [DLP_ErrCode](#dlp_errcode) | DLP_ErrCode | DLP错误码的枚举。 | 30| [DLP_FileAccess](#dlp_fileaccess) | DLP_FileAccess | DLP文件授权类型的枚举。 | 31 32### 函数 33 34| 名称 | 描述 | 35| -- | -- | 36| [DLP_ErrCode OH_DLP_GetDlpPermissionInfo(DLP_FileAccess *dlpFileAccess, uint32_t *flags)](#oh_dlp_getdlppermissioninfo) | 查询当前DLP沙箱的权限信息。 | 37| [DLP_ErrCode OH_DLP_GetOriginalFileName(const char *fileName, char *originalFileName)](#oh_dlp_getoriginalfilename) | 获取指定DLP文件名的原始文件名。 | 38| [DLP_ErrCode OH_DLP_IsInSandbox(bool *isInSandbox)](#oh_dlp_isinsandbox) | 查询当前应用是否运行在DLP沙箱环境。 | 39| [DLP_ErrCode OH_DLP_SetSandboxAppConfig(const char *configInfo)](#oh_dlp_setsandboxappconfig) | 设置沙箱应用配置信息。 | 40| [DLP_ErrCode OH_DLP_GetSandboxAppConfig(char *configInfo)](#oh_dlp_getsandboxappconfig) | 获取沙箱应用配置信息。 | 41| [DLP_ErrCode OH_DLP_CleanSandboxAppConfig()](#oh_dlp_cleansandboxappconfig) | 清理沙箱应用配置信息。 | 42 43## 枚举类型说明 44 45### DLP_ErrCode 46 47``` 48enum DLP_ErrCode 49``` 50 51**描述** 52 53DLP错误码的枚举。 54 55**起始版本:** 14 56 57| 枚举项 | 描述 | 58| -- | -- | 59| ERR_OH_SUCCESS = 0 | 表示操作成功。 | 60| ERR_OH_INVALID_PARAMETER = 19100001 | 表示入参错误。 | 61| ERR_OH_API_ONLY_FOR_SANDBOX = 19100006 | 表示非DLP沙箱应用。 | 62| ERR_OH_API_NOT_FOR_SANDBOX = 19100007 | 表示DLP沙箱应用不允许调用此接口。 | 63| ERR_OH_SYSTEM_SERVICE_EXCEPTION = 19100011 | 表示系统服务工作异常。 | 64| ERR_OH_OUT_OF_MEMORY = 19100012 | 表示内存申请失败。 | 65| ERR_OH_APPLICATION_NOT_AUTHORIZED = 19100018 | 表示应用未授权。 | 66 67### DLP_FileAccess 68 69``` 70enum DLP_FileAccess 71``` 72 73**描述** 74 75DLP文件授权类型的枚举。 76 77**起始版本:** 14 78 79| 枚举项 | 描述 | 80| -- | -- | 81| NO_PERMISSION = 0 | 表示无文件权限。 | 82| READ_ONLY = 1 | 表示文件的只读权限。 | 83| CONTENT_EDIT = 2 | 表示文件的编辑权限。 | 84| FULL_CONTROL = 3 | 表示文件的完全控制权限。 | 85 86 87## 函数说明 88 89### OH_DLP_GetDlpPermissionInfo() 90 91``` 92DLP_ErrCode OH_DLP_GetDlpPermissionInfo(DLP_FileAccess *dlpFileAccess, uint32_t *flags) 93``` 94 95**描述** 96 97查询当前DLP沙箱的权限信息。 98 99**起始版本:** 14 100 101 102**参数:** 103 104| 参数项 | 描述 | 105| -- | -- | 106| [DLP_FileAccess](#dlp_fileaccess) *dlpFileAccess | 表示DLP文件针对用户的授权类型,例如:只读。 | 107| uint32_t *flags | 表示DLP文件的详细操作权限,操作权限的具体含义为:<br>0x00000000-表示无文件权限。<br>0x00000001-表示文件的查看权限。<br>0x00000002-表示文件的保存权限。<br>0x00000004-表示文件的另存为权限。<br>0x00000008-表示文件的编辑权限。<br>0x00000010-表示文件的截屏权限。<br>0x00000020-表示文件的共享屏幕权限。<br>0x00000040-表示文件的录屏权限。<br>0x00000080-表示文件的复制权限。<br>0x00000100-表示文件的打印权限。<br>0x00000200-表示文件的导出权限。<br>0x00000400-表示文件的修改文件权限。 | 108 109**返回:** 110 111| 类型 | 说明 | 112| -- | -- | 113| [DLP_ErrCode](#dlp_errcode) | 0 - 操作成功。<br> 19100001 - 入参错误。<br> 19100006 - 非DLP沙箱应用。<br> 19100011 - 系统服务工作异常。<br> 19100012 - 内存申请失败。 | 114 115### OH_DLP_GetOriginalFileName() 116 117``` 118DLP_ErrCode OH_DLP_GetOriginalFileName(const char *fileName, char *originalFileName) 119``` 120 121**描述** 122 123获取指定DLP文件名的原始文件名。 124 125**起始版本:** 14 126 127 128**参数:** 129 130| 参数项 | 描述 | 131| -- | -- | 132| const char *fileName | 指定要查询的文件名。 | 133| char *originalFileName | DLP文件的原始文件名。 | 134 135**返回:** 136 137| 类型 | 说明 | 138| -- | -- | 139| [DLP_ErrCode](#dlp_errcode) | 0 - 操作成功。<br> 19100001 - 入参错误。<br> 19100012 - 内存申请失败。 | 140 141### OH_DLP_IsInSandbox() 142 143``` 144DLP_ErrCode OH_DLP_IsInSandbox(bool *isInSandbox) 145``` 146 147**描述** 148 149查询当前应用是否运行在DLP沙箱环境。 150 151**起始版本:** 14 152 153 154**参数:** 155 156| 参数项 | 描述 | 157| -- | -- | 158| bool *isInSandbox | 当前应用是否运行在DLP沙箱环境。 | 159 160**返回:** 161 162| 类型 | 说明 | 163| -- | -- | 164| [DLP_ErrCode](#dlp_errcode) | 0 - 操作成功。<br> 19100011 - 系统服务工作异常。<br> 19100012 - 内存申请失败。 | 165 166### OH_DLP_SetSandboxAppConfig() 167 168``` 169DLP_ErrCode OH_DLP_SetSandboxAppConfig(const char *configInfo) 170``` 171 172**描述** 173 174设置沙箱应用配置信息。 175 176**起始版本:** 14 177 178 179**参数:** 180 181| 参数项 | 描述 | 182| -- | -- | 183| const char *configInfo | 沙箱应用配置信息。 | 184 185**返回:** 186 187| 类型 | 说明 | 188| -- | -- | 189| [DLP_ErrCode](#dlp_errcode) | 0 - 操作成功。<br> 19100001 - 入参错误。<br> 19100007 - DLP沙箱应用不允许调用此接口。<br> 19100011 - 系统服务工作异常。<br> 19100018 - 应用未授权。 | 190 191### OH_DLP_GetSandboxAppConfig() 192 193``` 194DLP_ErrCode OH_DLP_GetSandboxAppConfig(char *configInfo) 195``` 196 197**描述** 198 199获取沙箱应用配置信息。 200 201**起始版本:** 14 202 203 204**参数:** 205 206| 参数项 | 描述 | 207| -- | -- | 208| char *configInfo | 沙箱应用配置信息。 | 209 210**返回:** 211 212| 类型 | 说明 | 213| -- | -- | 214| [DLP_ErrCode](#dlp_errcode) | 0 - 操作成功。<br> 19100011 - 系统服务工作异常。<br> 19100012 - 内存申请失败。<br> 19100018 - 应用未授权。 | 215 216### OH_DLP_CleanSandboxAppConfig() 217 218``` 219DLP_ErrCode OH_DLP_CleanSandboxAppConfig() 220``` 221 222**描述** 223 224清理沙箱应用配置信息。 225 226**起始版本:** 14 227 228**返回:** 229 230| 类型 | 说明 | 231| -- | -- | 232| [DLP_ErrCode](#dlp_errcode) | 0 - 操作成功。<br> 19100007 - DLP沙箱应用不允许调用此接口。<br> 19100011 - 系统服务工作异常。<br> 19100018 - 应用未授权。 | 233 234 235