• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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