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