• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# IMediaKeySystem
2
3
4## 概述
5
6DRM实例功能接口,判断是否支持特定DRM方案,创建DRM实例。
7
8**起始版本:** 4.1
9
10**相关模块:**[HdiDrm](_hdi_drm.md)
11
12
13## 汇总
14
15
16### Public 成员函数
17
18| 名称 | 描述 |
19| -------- | -------- |
20| [GetConfigurationString](#getconfigurationstring) ([in] String name, [out] String value) | 获取特定名称属性的字符串值(字符串)。  |
21| [SetConfigurationString](#setconfigurationstring) ([in] String name, [in] String value) | 设置特定名称属性的值(字符串)。  |
22| [GetConfigurationByteArray](#getconfigurationbytearray) ([in] String name, [out] unsigned char[] value) | 获取特定名称属性的值(字节数组)。  |
23| [SetConfigurationByteArray](#setconfigurationbytearray) ([in] String name, [in] unsigned char[] value) | 设置特定名称属性的值(字节数组)。  |
24| [GetStatistics](#getstatistics) ([out] Map< String, String > statistics) | 获取度量统计数据。  |
25| [GetMaxContentProtectionLevel](#getmaxcontentprotectionlevel) ([out] enum [ContentProtectionLevel](_hdi_drm.md#contentprotectionlevel) level) | 获取DRM方案支持的最大内容保护级别。  |
26| [GenerateKeySystemRequest](#generatekeysystemrequest) ([out] String defaultUrl, [out] unsigned char[] request) | 产生证书下载请求。  |
27| [ProcessKeySystemResponse](#processkeysystemresponse) ([in] unsigned char[] response) | 处理下载的证书。  |
28| [GetOemCertificateStatus](#getoemcertificatestatus) ([out] enum [CertificateStatus](_hdi_drm.md#certificatestatus) status) | 获取证书状态。  |
29| [SetCallback](#setcallback) ([in] [IMediaKeySystemCallback](interface_i_media_key_system_callback.md) systemCallback) | 设置DRM实例事件通知接口。  |
30| [CreateMediaKeySession](#createmediakeysession) ([in] enum [ContentProtectionLevel](_hdi_drm.md#contentprotectionlevel) level, [out] [IMediaKeySession](interface_i_media_key_session.md) keySession) | 创建DRM会话。  |
31| [GetOfflineMediaKeyIds](#getofflinemediakeyids) ([out] unsigned char[][] mediaKeyIds) | 获取离线许可证索引(数组)。  |
32| [GetOfflineMediaKeyStatus](#getofflinemediakeystatus) ([in] unsigned char[] mediaKeyId, [out] enum [OfflineMediaKeyStatus](_hdi_drm.md#offlinemediakeystatus) mediaKeyStatus) | 获取离线许可证状态。  |
33| [ClearOfflineMediaKeys](#clearofflinemediakeys) ([in] unsigned char[] mediaKeyId) | 删除离线许可证。  |
34| [GetOemCertificate](#getoemcertificate) ([out] [IOemCertificate](interface_i_oem_certificate.md) oemCert) | 获取证书下载接口。  |
35| [Destroy](#destroy) () | 销毁DRM实例。  |
36
37
38## 成员函数说明
39
40
41### ClearOfflineMediaKeys()
42
43```
44IMediaKeySystem::ClearOfflineMediaKeys ([in] unsigned char[] mediaKeyId)
45```
46**描述**
47删除离线许可证。
48
49**起始版本:** 4.1
50
51**参数:**
52
53| 名称 | 描述 |
54| -------- | -------- |
55| mediaKeyId | 离线许可证索引。 |
56
57**返回:**
58
590 表示执行成功。
60
61其他值表示执行失败。
62
63
64### CreateMediaKeySession()
65
66```
67IMediaKeySystem::CreateMediaKeySession ([in] enum ContentProtectionLevel level, [out] IMediaKeySession keySession )
68```
69**描述**
70创建DRM会话。
71
72**起始版本:** 4.1
73
74**参数:**
75
76| 名称 | 描述 |
77| -------- | -------- |
78| level | 待创建会话的内容保护等级。  |
79| keySession | 创建的DRM会话。 |
80
81**返回:**
82
830 表示执行成功。
84
85其他值表示执行失败。
86
87
88### Destroy()
89
90```
91IMediaKeySystem::Destroy ()
92```
93**描述**
94销毁DRM实例。
95
96**起始版本:** 4.1
97
98**返回:**
99
1000 表示执行成功。
101
102其他值表示执行失败。
103
104
105### GenerateKeySystemRequest()
106
107```
108IMediaKeySystem::GenerateKeySystemRequest ([out] String defaultUrl, [out] unsigned char[] request )
109```
110**描述**
111产生证书下载请求。
112
113**起始版本:** 4.1
114
115**参数:**
116
117| 名称 | 描述 |
118| -------- | -------- |
119| defaultUrl | 默认的证书服务器URL地址。  |
120| request | 证书下载请求报文,以字节数组定义。 |
121
122**返回:**
123
1240 表示执行成功。
125
126其他值表示执行失败。
127
128
129### GetConfigurationByteArray()
130
131```
132IMediaKeySystem::GetConfigurationByteArray ([in] String name, [out] unsigned char[] value )
133```
134**描述**
135获取特定名称属性的值(字节数组)。
136
137**起始版本:** 4.1
138
139**参数:**
140
141| 名称 | 描述 |
142| -------- | -------- |
143| name | 属性名。  |
144| value | 返回值。 |
145
146**返回:**
147
1480 表示执行成功。
149
150其他值表示执行失败。
151
152
153### GetConfigurationString()
154
155```
156IMediaKeySystem::GetConfigurationString ([in] String name, [out] String value )
157```
158**描述**
159获取特定名称属性的字符串值(字符串)。
160
161**起始版本:** 4.1
162
163**参数:**
164
165| 名称 | 描述 |
166| -------- | -------- |
167| name | 属性名。  |
168| value | 返回值。 |
169
170**返回:**
171
1720 表示执行成功。
173
174其他值表示执行失败。
175
176
177### GetMaxContentProtectionLevel()
178
179```
180IMediaKeySystem::GetMaxContentProtectionLevel ([out] enum ContentProtectionLevel level)
181```
182**描述**
183获取DRM方案支持的最大内容保护级别。
184
185**起始版本:** 4.1
186
187**参数:**
188
189| 名称 | 描述 |
190| -------- | -------- |
191| level | 内容保护级别。 |
192
193**返回:**
194
1950 表示执行成功。
196
197其他值表示执行失败。
198
199
200### GetOemCertificate()
201
202```
203IMediaKeySystem::GetOemCertificate ([out] IOemCertificate oemCert)
204```
205**描述**
206获取证书下载接口。
207
208**起始版本:** 4.1
209
210**参数:**
211
212| 名称 | 描述 |
213| -------- | -------- |
214| oemCert | 证书下载接口,参见IOemCertificate。 |
215
216**返回:**
217
2180 表示执行成功。
219
220其他值表示执行失败。
221
222
223### GetOemCertificateStatus()
224
225```
226IMediaKeySystem::GetOemCertificateStatus ([out] enum CertificateStatus status)
227```
228**描述**
229获取证书状态。
230
231**起始版本:** 4.1
232
233**参数:**
234
235| 名称 | 描述 |
236| -------- | -------- |
237| status | 证书状态。 |
238
239**返回:**
240
2410 表示执行成功。
242
243其他值表示执行失败。
244
245
246### GetOfflineMediaKeyIds()
247
248```
249IMediaKeySystem::GetOfflineMediaKeyIds ([out] unsigned char mediaKeyIds[][])
250```
251**描述**
252获取离线许可证索引(数组)。
253
254**起始版本:** 4.1
255
256**参数:**
257
258| 名称 | 描述 |
259| -------- | -------- |
260| mediaKeyIds | 离线许可证索引数组。 |
261
262**返回:**
263
2640 表示执行成功。
265
266其他值表示执行失败。
267
268
269### GetOfflineMediaKeyStatus()
270
271```
272IMediaKeySystem::GetOfflineMediaKeyStatus ([in] unsigned char[] mediaKeyId, [out] enum OfflineMediaKeyStatus mediaKeyStatus )
273```
274**描述**
275获取离线许可证状态。
276
277**起始版本:** 4.1
278
279**参数:**
280
281| 名称 | 描述 |
282| -------- | -------- |
283| mediaKeyId | 离线许可证索引。  |
284| mediaKeyStatus | 离线许可证状态。 |
285
286**返回:**
287
2880 表示执行成功。
289
290其他值表示执行失败。
291
292
293### GetStatistics()
294
295```
296IMediaKeySystem::GetStatistics ([out] Map< String, String > statistics)
297```
298**描述**
299获取度量统计数据。
300
301**起始版本:** 4.1
302
303**参数:**
304
305| 名称 | 描述 |
306| -------- | -------- |
307| statistics | DRM驱动自定义的度量统计数据,以字符串对形式表达。 |
308
309**返回:**
310
3110 表示执行成功。
312
313其他值表示执行失败。
314
315
316### ProcessKeySystemResponse()
317
318```
319IMediaKeySystem::ProcessKeySystemResponse ([in] unsigned char[] response)
320```
321**描述**
322处理下载的证书。
323
324**起始版本:** 4.1
325
326**参数:**
327
328| 名称 | 描述 |
329| -------- | -------- |
330| response | 下载的证书报文。 |
331
332**返回:**
333
3340 表示执行成功。
335
336其他值表示执行失败。
337
338
339### SetCallback()
340
341```
342IMediaKeySystem::SetCallback ([in] IMediaKeySystemCallback systemCallback)
343```
344**描述**
345设置DRM实例事件通知接口。
346
347**起始版本:** 4.1
348
349**参数:**
350
351| 名称 | 描述 |
352| -------- | -------- |
353| systemCallback | DRM实例事件通知接口。 |
354
355**返回:**
356
3570 表示执行成功。
358
359其他值表示执行失败。
360
361
362### SetConfigurationByteArray()
363
364```
365IMediaKeySystem::SetConfigurationByteArray ([in] String name, [in] unsigned char[] value )
366```
367**描述**
368设置特定名称属性的值(字节数组)。
369
370**起始版本:** 4.1
371
372**参数:**
373
374| 名称 | 描述 |
375| -------- | -------- |
376| name | 属性名。  |
377| value | 待设置字节数组。 |
378
379**返回:**
380
3810 表示执行成功。
382
383其他值表示执行失败。
384
385
386### SetConfigurationString()
387
388```
389IMediaKeySystem::SetConfigurationString ([in] String name, [in] String value )
390```
391**描述**
392设置特定名称属性的值(字符串)。
393
394**起始版本:** 4.1
395
396**参数:**
397
398| 名称 | 描述 |
399| -------- | -------- |
400| name | 属性名。  |
401| value | 待设置字符串。 |
402
403**返回:**
404
4050 表示执行成功。
406
407其他值表示执行失败。
408