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