1# DlpPermissionApi 2 3 4## 概述 5 6数据防泄漏(DLP)是系统提供的系统级的数据防泄漏解决方案,提供跨设备的文件的权限管理、加密存储、授权访问等能力。 7 8**起始版本:** 14 9 10 11## 汇总 12 13 14### 文件 15 16| 名称 | 描述 | 17| -------- | -------- | 18| [dlp_permission_api.h](dlp__permission__api_8h.md) | 声明用于跨设备的文件的权限管理、加密存储、授权访问等能力的接口。 | 19 20 21### 枚举 22 23| 名称 | 描述 | 24| -------- | -------- | 25| [DLP_ErrCode](#dlp_errcode) {<br/>ERR_OH_SUCCESS = 0,<br/>ERR_OH_INVALID_PARAMETER = 19100001,<br/>ERR_OH_API_ONLY_FOR_SANDBOX = 19100006,<br/>ERR_OH_API_NOT_FOR_SANDBOX = 19100007,<br/>ERR_OH_SYSTEM_SERVICE_EXCEPTION = 19100011,<br/>ERR_OH_OUT_OF_MEMORY = 19100012,<br/>ERR_OH_APPLICATION_NOT_AUTHORIZED = 19100018<br/>} | DLP错误码的枚举。 | 26| [DLP_FileAccess](#dlp_fileaccess) {<br/>NO_PERMISSION = 0,<br/>READ_ONLY = 1,<br/>CONTENT_EDIT = 2,<br/>FULL_CONTROL = 3<br/>} | DLP文件授权类型的枚举。 | 27 28 29### 函数 30 31| 名称 | 描述 | 32| -------- | -------- | 33| [DLP_ErrCode](#dlp_errcode) [OH_DLP_GetDlpPermissionInfo](#oh_dlp_getdlppermissioninfo) ([DLP_FileAccess](#dlp_fileaccess) \*dlpFileAccess, uint32_t \*flags) | 查询当前DLP沙箱的权限信息。 | 34| [DLP_ErrCode](#dlp_errcode) [OH_DLP_GetOriginalFileName](#oh_dlp_getoriginalfilename) (const char \*fileName, char \*\*originalFileName) | 获取指定DLP文件名的原始文件名。 | 35| [DLP_ErrCode](#dlp_errcode) [OH_DLP_IsInSandbox](#oh_dlp_isinsandbox) (bool \*isInSandbox) | 查询当前应用是否运行在DLP沙箱环境。 | 36| [DLP_ErrCode](#dlp_errcode) [OH_DLP_SetSandboxAppConfig](#oh_dlp_setsandboxappconfig) (const char \*configInfo) | 设置沙箱应用配置信息。 | 37| [DLP_ErrCode](#dlp_errcode) [OH_DLP_GetSandboxAppConfig](#oh_dlp_getsandboxappconfig) (char \*\*configInfo) | 获取沙箱应用配置信息。 | 38| [DLP_ErrCode](#dlp_errcode) [OH_DLP_CleanSandboxAppConfig](#oh_dlp_cleansandboxappconfig) () | 清理沙箱应用配置信息。 | 39 40 41## 枚举类型说明 42 43 44### DLP_ErrCode 45 46``` 47enum DLP_ErrCode 48``` 49 50**描述** 51 52DLP错误码的枚举。 53 54**起始版本:** 14 55 56| 枚举值 | 描述 | 57| -------- | -------- | 58| ERR_OH_SUCCESS | 表示操作成功。 | 59| ERR_OH_INVALID_PARAMETER | 表示入参错误。 | 60| ERR_OH_API_ONLY_FOR_SANDBOX | 表示非DLP沙箱应用。 | 61| ERR_OH_API_NOT_FOR_SANDBOX | 表示DLP沙箱应用不允许调用此接口。 | 62| ERR_OH_SYSTEM_SERVICE_EXCEPTION | 表示系统服务工作异常。 | 63| ERR_OH_OUT_OF_MEMORY | 表示内存申请失败。 | 64| ERR_OH_APPLICATION_NOT_AUTHORIZED | 表示应用未授权。 | 65 66 67### DLP_FileAccess 68 69``` 70enum DLP_FileAccess 71``` 72 73**描述** 74 75DLP文件授权类型的枚举。 76 77**起始版本:** 14 78 79| 枚举值 | 描述 | 80| -------- | -------- | 81| NO_PERMISSION | 表示无文件权限。 | 82| READ_ONLY | 表示文件的只读权限。 | 83| CONTENT_EDIT | 表示文件的编辑权限。 | 84| FULL_CONTROL | 表示文件的完全控制权限。 | 85 86 87## 函数说明 88 89 90### OH_DLP_GetDlpPermissionInfo() 91 92``` 93DLP_ErrCode OH_DLP_GetDlpPermissionInfo(DLP_FileAccess *dlpFileAccess, uint32_t *flags) 94``` 95 96**描述** 97 98查询当前DLP沙箱的权限信息。 99 100**起始版本:** 14 101 102**参数:** 103 104| 名称 | 描述 | 105| -------- | -------- | 106| dlpFileAccess | 表示DLP文件针对用户的授权类型,授权类型的具体含义参考[DLP_FileAccess](#dlp_fileaccess)。 | 107| 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[DLP_ErrCode](#dlp_errcode): 112 1130 - 操作成功。 114 11519100001 - 入参错误。 116 11719100006 - 非DLP沙箱应用。 118 11919100011 - 系统服务工作异常。 120 12119100012 - 内存申请失败。 122 123 124### OH_DLP_GetOriginalFileName() 125 126``` 127DLP_ErrCode OH_DLP_GetOriginalFileName(const char *fileName, char **originalFileName) 128``` 129 130**描述** 131 132获取指定DLP文件名的原始文件名。 133 134**起始版本:** 14 135 136**参数:** 137 138| 名称 | 描述 | 139| -------- | -------- | 140| fileName | 指定要查询的文件名。 | 141| originalFileName | DLP文件的原始文件名。 | 142 143**返回:** 144 145[DLP_ErrCode](#dlp_errcode): 146 1470 - 操作成功。 148 14919100001 - 入参错误。 150 15119100012 - 内存申请失败。 152 153 154### OH_DLP_IsInSandbox() 155 156``` 157DLP_ErrCode OH_DLP_IsInSandbox(bool *isInSandbox) 158``` 159 160**描述** 161 162查询当前应用是否运行在DLP沙箱环境。 163 164**起始版本:** 14 165 166**参数:** 167 168| 名称 | 描述 | 169| -------- | -------- | 170| isInSandbox | 当前应用是否运行在DLP沙箱环境。 | 171 172**返回:** 173 174[DLP_ErrCode](#dlp_errcode): 175 1760 - 操作成功。 177 17819100011 - 系统服务工作异常。 179 18019100012 - 内存申请失败。 181 182 183### OH_DLP_SetSandboxAppConfig() 184 185``` 186DLP_ErrCode OH_DLP_SetSandboxAppConfig(const char *configInfo) 187``` 188 189**描述** 190 191设置沙箱应用配置信息。 192 193**起始版本:** 14 194 195**参数:** 196 197| 名称 | 描述 | 198| -------- | -------- | 199| configInfo | 沙箱应用配置信息。 | 200 201**返回:** 202 203[DLP_ErrCode](#dlp_errcode): 204 2050 - 操作成功。 206 20719100001 - 入参错误。 208 20919100007 - DLP沙箱应用不允许调用此接口。 210 21119100011 - 系统服务工作异常。 212 21319100018 - 应用未授权。 214 215 216### OH_DLP_GetSandboxAppConfig() 217 218``` 219DLP_ErrCode OH_DLP_GetSandboxAppConfig(char **configInfo) 220``` 221 222**描述** 223 224获取沙箱应用配置信息。 225 226**起始版本:** 14 227 228**参数:** 229 230| 名称 | 描述 | 231| -------- | -------- | 232| configInfo | 沙箱应用配置信息。 | 233 234**返回:** 235 236[DLP_ErrCode](#dlp_errcode): 237 2380 - 操作成功。 239 24019100011 - 系统服务工作异常。 241 24219100012 - 内存申请失败。 243 24419100018 - 应用未授权。 245 246 247### OH_DLP_CleanSandboxAppConfig() 248 249``` 250DLP_ErrCode OH_DLP_CleanSandboxAppConfig() 251``` 252 253**描述** 254 255清理沙箱应用配置信息。 256 257**起始版本:** 14 258 259**返回:** 260 261[DLP_ErrCode](#dlp_errcode): 262 2630 - 操作成功。 264 26519100007 - DLP沙箱应用不允许调用此接口。 266 26719100011 - 系统服务工作异常。 268 26919100018 - 应用未授权。 270