• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.enterprise.usbManager(USB管理)
2<!--Kit: MDM Kit-->
3<!--Subsystem: Customization-->
4<!--Owner: @huanleima-->
5<!--Designer: @liuzuming-->
6<!--Tester: @lpw_work-->
7<!--Adviser: @Brilliantry_Rui-->
8
9本模块提供USB管理能力。
10
11> **说明**:
12>
13> 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
14>
15> 本模块接口仅可在Stage模型下使用。
16>
17> 本模块接口仅对设备管理应用开放,且调用接口前需激活设备管理应用,具体请参考[MDM Kit开发指南](../../mdm/mdm-kit-guide.md)。
18>
19> 全局通用限制类策略由restrictions统一提供,若要全局禁用USB,请参考[@ohos.enterprise.restrictions(限制类策略)](js-apis-enterprise-restrictions.md)。
20
21## 导入模块
22
23```ts
24import { usbManager } from '@kit.MDMKit';
25```
26
27## usbManager.addAllowedUsbDevices
28
29addAllowedUsbDevices(admin: Want, usbDeviceIds: Array\<UsbDeviceId>): void
30
31添加USB设备可用名单。
32
33以下情况下,调用本接口会报策略冲突:
34
351. 已经通过[setDisallowedPolicy](js-apis-enterprise-restrictions.md#restrictionssetdisallowedpolicy)接口禁用了设备USB能力。
362. 已经通过[setUsbStorageDeviceAccessPolicy](#usbmanagersetusbstoragedeviceaccesspolicy)接口设置了USB存储设备访问策略为禁用。
373. 已经通过[addDisallowedUsbDevices](#usbmanageradddisallowedusbdevices14)接口添加了禁止使用的USB设备类型。
38
39**需要权限:** ohos.permission.ENTERPRISE_MANAGE_USB
40
41**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
42
43**模型约束:** 此接口仅可在Stage模型下使用。
44
45
46**参数:**
47
48| 参数名       | 类型                                                    | 必填 | 说明                                                         |
49| ------------ | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
50| admin        | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。                                       |
51| usbDeviceIds | Array<[UsbDeviceId](#usbdeviceid)>                      | 是   | USB设备ID数组,UsbDeviceId信息可以通过[getDevices](../apis-basic-services-kit/js-apis-usbManager.md#usbmanagergetdevices)接口获取。USB设备可用名单数组长度上限为1000,若当前允许名单中已有300个USB设备ID,则只允许再添加700个。 |
52
53**错误码**:
54
55以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
56
57| 错误码ID | 错误信息                                                     |
58| -------- | ------------------------------------------------------------ |
59| 9200001  | The application is not an administrator application of the device. |
60| 9200002  | The administrator application does not have permission to manage the device. |
61| 9200010  | A conflict policy has been configured.                       |
62| 201      | Permission verification failed. The application does not have the permission required to call the API. |
63| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
64
65**示例:**
66
67```ts
68import { usbManager } from '@kit.MDMKit';
69import { Want } from '@kit.AbilityKit';
70
71let wantTemp: Want = {
72  // 需根据实际情况进行替换
73  bundleName: 'com.example.myapplication',
74  abilityName: 'EntryAbility'
75};
76try {
77  let usbDeviceIds: Array<usbManager.UsbDeviceId> = [{
78      vendorId: 1,
79      productId: 1
80  }];
81  usbManager.addAllowedUsbDevices(wantTemp, usbDeviceIds);
82  console.info(`Succeeded in adding allowed USB devices.`);
83} catch (err) {
84  console.error(`Failed to add allowed USB devices. Code: ${err.code}, message: ${err.message}`);
85}
86```
87
88## usbManager.removeAllowedUsbDevices
89
90removeAllowedUsbDevices(admin: Want, usbDeviceIds: Array\<UsbDeviceId>): void
91
92移除USB设备可用名单。
93
94**需要权限:** ohos.permission.ENTERPRISE_MANAGE_USB
95
96**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
97
98**模型约束:** 此接口仅可在Stage模型下使用。
99
100
101**参数:**
102
103| 参数名       | 类型                                                    | 必填 | 说明                                                         |
104| ------------ | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
105| admin        | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。                                       |
106| usbDeviceIds | Array<[UsbDeviceId](#usbdeviceid)>                      | 是   | USB设备ID数组,UsbDeviceId信息可以通过[getDevices](../apis-basic-services-kit/js-apis-usbManager.md#usbmanagergetdevices)接口获取。 |
107
108**错误码**:
109
110以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
111
112| 错误码ID | 错误信息                                                     |
113| -------- | ------------------------------------------------------------ |
114| 9200001  | The application is not an administrator application of the device. |
115| 9200002  | The administrator application does not have permission to manage the device. |
116| 201      | Permission verification failed. The application does not have the permission required to call the API. |
117| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
118
119**示例:**
120
121```ts
122import { usbManager } from '@kit.MDMKit';
123import { Want } from '@kit.AbilityKit';
124
125let wantTemp: Want = {
126  // 需根据实际情况进行替换
127  bundleName: 'com.example.myapplication',
128  abilityName: 'EntryAbility'
129};
130try {
131  let usbDeviceIds: Array<usbManager.UsbDeviceId> = [{
132      vendorId: 1,
133      productId: 1
134  }];
135  usbManager.removeAllowedUsbDevices(wantTemp, usbDeviceIds);
136  console.info(`Succeeded in removing allowed USB devices.`);
137} catch (err) {
138  console.error(`Failed to remove allowed USB devices. Code: ${err.code}, message: ${err.message}`);
139}
140```
141
142## usbManager.getAllowedUsbDevices
143
144getAllowedUsbDevices(admin: Want): Array\<UsbDeviceId>
145
146获取USB设备可用名单。
147
148**需要权限:** ohos.permission.ENTERPRISE_MANAGE_USB
149
150**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
151
152**模型约束:** 此接口仅可在Stage模型下使用。
153
154
155**参数:**
156
157| 参数名 | 类型                                                    | 必填 | 说明                                   |
158| ------ | ------------------------------------------------------- | ---- | -------------------------------------- |
159| admin  | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。 |
160
161**返回值:**
162
163| 类型                               | 说明                      |
164| ---------------------------------- | ------------------------- |
165| Array<[UsbDeviceId](#usbdeviceid)> | 可用USB允许名单设备ID数组。 |
166
167**错误码**:
168
169以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
170
171| 错误码ID | 错误信息                                                     |
172| -------- | ------------------------------------------------------------ |
173| 9200001  | The application is not an administrator application of the device. |
174| 9200002  | The administrator application does not have permission to manage the device. |
175| 201      | Permission verification failed. The application does not have the permission required to call the API. |
176| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
177
178**示例:**
179
180```ts
181import { usbManager } from '@kit.MDMKit';
182import { Want } from '@kit.AbilityKit';
183
184let wantTemp: Want = {
185  // 需根据实际情况进行替换
186  bundleName: 'com.example.myapplication',
187  abilityName: 'EntryAbility'
188};
189try {
190  let result: Array<usbManager.UsbDeviceId> = usbManager.getAllowedUsbDevices(wantTemp);
191  console.info(`Succeeded in getting allowed USB devices. Result: ${JSON.stringify(result)}`);
192} catch (err) {
193  console.error(`Failed to get allowed USB devices. Code: ${err.code}, message: ${err.message}`);
194}
195```
196
197## usbManager.setUsbStorageDeviceAccessPolicy
198
199setUsbStorageDeviceAccessPolicy(admin: Want, usbPolicy: UsbPolicy): void
200
201设置USB存储设备访问策略。
202
203以下情况下,通过本接口设置USB存储设备访问策略为可读可写/只读,会报策略冲突:
204
2051. 已经通过[setDisallowedPolicy](js-apis-enterprise-restrictions.md#restrictionssetdisallowedpolicy)接口禁用了设备USB能力。
2062. 已经通过[addDisallowedUsbDevices](#usbmanageradddisallowedusbdevices14)接口将存储类型的USB设备添加为禁止使用的USB设备类型。
2073. 已经通过[setDisallowedPolicyForAccount](js-apis-enterprise-restrictions.md#restrictionssetdisallowedpolicyforaccount14)接口禁用了某用户USB存储设备写入能力。
208
209以下情况下,通过本接口设置USB存储设备访问策略为禁用,会报策略冲突:
210
2111. 已经通过[setDisallowedPolicy](js-apis-enterprise-restrictions.md#restrictionssetdisallowedpolicy)接口禁用了设备USB能力。
2122. 已经通过[addAllowedUsbDevices](#usbmanageraddallowedusbdevices)接口添加了USB设备可用名单。
2133. 已经通过[setDisallowedPolicyForAccount](js-apis-enterprise-restrictions.md#restrictionssetdisallowedpolicyforaccount14)接口禁用了某用户USB存储设备写入能力。
214
215通过本接口设置,或者通过[addDisallowedUsbDevices](#usbmanageradddisallowedusbdevices14)接口添加存储类型的USB设备,均可禁用USB存储设备。推荐使用后者。
216
217**需要权限:** ohos.permission.ENTERPRISE_MANAGE_USB
218
219**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
220
221**模型约束:** 此接口仅可在Stage模型下使用。
222
223
224**参数:**
225
226| 参数名    | 类型                                                    | 必填 | 说明                                   |
227| --------- | ------------------------------------------------------- | ---- | -------------------------------------- |
228| admin     | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。 |
229| usbPolicy | [UsbPolicy](#usbpolicy)                                 | 是   | USB存储设备访问策略。                  |
230
231**错误码**:
232
233以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
234
235| 错误码ID | 错误信息                                                     |
236| -------- | ------------------------------------------------------------ |
237| 9200001  | The application is not an administrator application of the device. |
238| 9200002  | The administrator application does not have permission to manage the device. |
239| 9200010  | A conflict policy has been configured.                       |
240| 201      | Permission verification failed. The application does not have the permission required to call the API. |
241| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
242
243**示例:**
244
245```ts
246import { usbManager } from '@kit.MDMKit';
247import { Want } from '@kit.AbilityKit';
248
249let wantTemp: Want = {
250  // 需根据实际情况进行替换
251  bundleName: 'com.example.myapplication',
252  abilityName: 'EntryAbility'
253};
254try {
255  let policy: usbManager.UsbPolicy = usbManager.UsbPolicy.DISABLED;
256  usbManager.setUsbStorageDeviceAccessPolicy(wantTemp, policy);
257  console.info(`Succeeded in setting USB storage device access policy.`);
258} catch (err) {
259  console.error(`Failed to set USB storage device access policy. Code: ${err.code}, message: ${err.message}`);
260}
261```
262
263## usbManager.getUsbStorageDeviceAccessPolicy
264
265getUsbStorageDeviceAccessPolicy(admin: Want): UsbPolicy
266
267获取USB存储设备访问策略。
268
269**需要权限:** ohos.permission.ENTERPRISE_MANAGE_USB
270
271**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
272
273**模型约束:** 此接口仅可在Stage模型下使用。
274
275
276**参数:**
277
278| 参数名 | 类型                                                    | 必填 | 说明                                   |
279| ------ | ------------------------------------------------------- | ---- | -------------------------------------- |
280| admin  | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。 |
281
282**返回值:**
283
284| 类型                    | 说明                  |
285| ----------------------- | --------------------- |
286| [UsbPolicy](#usbpolicy) | USB存储设备访问策略。 |
287
288**错误码**:
289
290以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
291
292| 错误码ID | 错误信息                                                     |
293| -------- | ------------------------------------------------------------ |
294| 9200001  | The application is not an administrator application of the device. |
295| 9200002  | The administrator application does not have permission to manage the device. |
296| 201      | Permission verification failed. The application does not have the permission required to call the API. |
297| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
298
299**示例:**
300
301```ts
302import { usbManager } from '@kit.MDMKit';
303import { Want } from '@kit.AbilityKit';
304
305let wantTemp: Want = {
306  // 需根据实际情况进行替换
307  bundleName: 'com.example.myapplication',
308  abilityName: 'EntryAbility'
309};
310try {
311  let result: usbManager.UsbPolicy = usbManager.getUsbStorageDeviceAccessPolicy(wantTemp);
312  console.info(`Succeeded in getting USB storage device access policy. Result: ${JSON.stringify(result)}`);
313} catch (err) {
314  console.error(`Failed to get USB storage device access policy. Code: ${err.code}, message: ${err.message}`);
315}
316```
317
318## usbManager.addDisallowedUsbDevices<sup>14+</sup>
319
320addDisallowedUsbDevices(admin: Want, usbDevices: Array\<UsbDeviceType>): void
321
322添加禁止使用的USB设备类型。
323
324以下情况下,调用本接口会报策略冲突:
325
3261. 已经通过[setDisallowedPolicy](js-apis-enterprise-restrictions.md#restrictionssetdisallowedpolicy)接口禁用了设备USB能力。
3272. 已经通过[addAllowedUsbDevices](#usbmanageraddallowedusbdevices)接口添加了USB设备可用名单。
3283. 已经通过[setDisallowedPolicyForAccount](js-apis-enterprise-restrictions.md#restrictionssetdisallowedpolicyforaccount14)接口禁用了某用户USB存储设备写入能力。
329
330**需要权限:** ohos.permission.ENTERPRISE_MANAGE_USB
331
332**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
333
334**模型约束:** 此接口仅可在Stage模型下使用。
335
336
337**参数:**
338
339| 参数名     | 类型                                                    | 必填 | 说明                                                         |
340| ---------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
341| admin      | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。                                       |
342| usbDevices | Array<[UsbDeviceType](#usbdevicetype14)>                | 是   | 要添加的USB设备类型的数组,UsbDeviceType信息可以通过[getDevices](../apis-basic-services-kit/js-apis-usbManager.md#usbmanagergetdevices)接口获取。USB设备禁用名单数组长度上限为200,若当前禁用名单中已有100个USB设备ID,则只允许再添加100个。 |
343
344**错误码**:
345
346以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
347
348| 错误码ID | 错误信息                                                     |
349| -------- | ------------------------------------------------------------ |
350| 9200001  | The application is not an administrator application of the device. |
351| 9200002  | The administrator application does not have permission to manage the device. |
352| 9200010  | A conflict policy has been configured.                       |
353| 201      | Permission verification failed. The application does not have the permission required to call the API. |
354| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
355
356**示例:**
357
358```ts
359import { usbManager } from '@kit.MDMKit';
360import { Want } from '@kit.AbilityKit';
361
362let wantTemp: Want = {
363  // 需根据实际情况进行替换
364  bundleName: 'com.example.myapplication',
365  abilityName: 'EntryAbility'
366};
367try {
368  let usbDevices: Array<usbManager.UsbDeviceType> = [{
369      baseClass: 8,
370      subClass: 0,
371      protocol: 0,
372      descriptor: usbManager.Descriptor.INTERFACE
373  }];
374  usbManager.addDisallowedUsbDevices(wantTemp, usbDevices);
375  console.info(`Succeeded in adding disallowed USB devices.`);
376} catch (err) {
377  console.error(`Failed to add disallowed USB devices. Code: ${err.code}, message: ${err.message}`);
378}
379```
380
381## usbManager.removeDisallowedUsbDevices<sup>14+</sup>
382
383removeDisallowedUsbDevices(admin: Want, usbDevices: Array\<UsbDeviceType>): void
384
385移除禁止使用的USB设备类型。
386
387**需要权限:** ohos.permission.ENTERPRISE_MANAGE_USB
388
389**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
390
391**模型约束:** 此接口仅可在Stage模型下使用。
392
393
394**参数:**
395
396| 参数名     | 类型                                                    | 必填 | 说明                                                         |
397| ---------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
398| admin      | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。                                       |
399| usbDevices | Array<[UsbDeviceType](#usbdevicetype14)>                | 是   | 要移除的USB设备类型的数组,UsbDeviceType信息可以通过[getDevices](../apis-basic-services-kit/js-apis-usbManager.md#usbmanagergetdevices)接口获取。 |
400
401**错误码**:
402
403以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
404
405| 错误码ID | 错误信息                                                     |
406| -------- | ------------------------------------------------------------ |
407| 9200001  | The application is not an administrator application of the device. |
408| 9200002  | The administrator application does not have permission to manage the device. |
409| 201      | Permission verification failed. The application does not have the permission required to call the API. |
410| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
411
412**示例:**
413
414```ts
415import { usbManager } from '@kit.MDMKit';
416import { Want } from '@kit.AbilityKit';
417
418let wantTemp: Want = {
419  // 需根据实际情况进行替换
420  bundleName: 'com.example.myapplication',
421  abilityName: 'EntryAbility'
422};
423try {
424  let usbDevices: Array<usbManager.UsbDeviceType> = [{
425      baseClass: 8,
426      subClass: 0,
427      protocol: 0,
428      descriptor: usbManager.Descriptor.INTERFACE
429  }];
430  usbManager.removeDisallowedUsbDevices(wantTemp, usbDevices);
431  console.info(`Succeeded in removing disallowed USB devices.`);
432} catch (err) {
433  console.error(`Failed to remove disallowed USB devices. Code: ${err.code}, message: ${err.message}`);
434}
435```
436
437## usbManager.getDisallowedUsbDevices<sup>14+</sup>
438
439getDisallowedUsbDevices(admin: Want): Array\<UsbDeviceType>
440
441获取禁止使用的USB设备类型。
442
443**需要权限:** ohos.permission.ENTERPRISE_MANAGE_USB
444
445**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
446
447**模型约束:** 此接口仅可在Stage模型下使用。
448
449
450**参数:**
451
452| 参数名 | 类型                                                    | 必填 | 说明                                   |
453| ------ | ------------------------------------------------------- | ---- | -------------------------------------- |
454| admin  | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。 |
455
456**返回值:**
457
458| 类型                                     | 说明                    |
459| ---------------------------------------- | ----------------------- |
460| Array<[UsbDeviceType](#usbdevicetype14)> | 禁止使用的USB设备类型。 |
461
462**错误码**:
463
464以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
465
466| 错误码ID | 错误信息                                                     |
467| -------- | ------------------------------------------------------------ |
468| 9200001  | The application is not an administrator application of the device. |
469| 9200002  | The administrator application does not have permission to manage the device. |
470| 201      | Permission verification failed. The application does not have the permission required to call the API. |
471| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
472
473**示例:**
474
475```ts
476import { usbManager } from '@kit.MDMKit';
477import { Want } from '@kit.AbilityKit';
478
479let wantTemp: Want = {
480  // 需根据实际情况进行替换
481  bundleName: 'com.example.myapplication',
482  abilityName: 'EntryAbility'
483};
484try {
485  let result: Array<usbManager.UsbDeviceType> = usbManager.getDisallowedUsbDevices(wantTemp);
486  console.info(`Succeeded in getting disallowed USB devices. Result: ${JSON.stringify(result)}`);
487} catch (err) {
488  console.error(`Failed to get disallowed USB devices. Code: ${err.code}, message: ${err.message}`);
489}
490```
491
492## UsbDeviceId
493
494USB设备ID信息。
495
496**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
497
498| 名称      | 类型   | 只读 | 可选 | 说明     |
499| --------- | ------ | ---- | ---- | -------- |
500| vendorId  | number | 否   | 否 | 厂商ID。 |
501| productId | number | 否   | 否 | 产品ID。 |
502
503## UsbDeviceType<sup>14+</sup>
504
505USB设备类型信息。其中具体编号可查询:[defined-class-codes](https://www.usb.org/defined-class-codes)506
507**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
508
509| 名称       | 类型                        | 只读 | 可选 | 说明                                                         |
510| ---------- | --------------------------- | ---- | ---- | ------------------------------------------------------------ |
511| baseClass  | number                      | 否   | 否 | 类型编号,可通过[getDevices](../apis-basic-services-kit/js-apis-usbManager.md#usbmanagergetdevices)接口获取。若descriptor为DEVICE,则取返回值中的USBDevice.clazz字段,若descriptor为INTERFACE,则取返回值中的USBDevice.configs.interfaces.clazz字段。 |
512| subClass   | number                      | 否   | 否 | 子类型编号,可通过[getDevices](../apis-basic-services-kit/js-apis-usbManager.md#usbmanagergetdevices)接口获取。若descriptor为DEVICE,则取返回值中的USBDevice.subClass字段,若descriptor为INTERFACE,则取返回值中的USBDevice.configs.interfaces.subClass字段。 |
513| protocol   | number                      | 否   | 否 | 协议编号,可通过[getDevices](../apis-basic-services-kit/js-apis-usbManager.md#usbmanagergetdevices)接口获取。若descriptor为DEVICE,则取返回值中的USBDevice.protocol字段,若descriptor为INTERFACE,则取返回值中的USBDevice.configs.interfaces.protocol字段。 |
514| descriptor | [Descriptor](#descriptor14) | 否   | 否 | USB描述符。须按照[defined-class-codes](https://www.usb.org/defined-class-codes),取baseClass对应的Descriptor Usage值作为参数传入,若Descriptor Usage为Both,则设备级禁用时传入DEVICE、接口级禁用时传入INTERFACE。 |
515
516## UsbPolicy
517
518USB读写策略的枚举。
519
520**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
521
522| 名称       | 值   | 说明       |
523| ---------- | ---- | ---------- |
524| READ_WRITE | 0    | 可读可写。 |
525| READ_ONLY  | 1    | 只读。     |
526| DISABLED   | 2    | 禁用。     |
527
528## Descriptor<sup>14+</sup>
529
530USB描述符的枚举。
531
532**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
533
534| 名称      | 值   | 说明         |
535| --------- | ---- | ------------ |
536| INTERFACE | 0    | 接口描述符。 |
537| DEVICE    | 1    | 设备描述符。 |
538