1e41f4b71Sopenharmony_ci# @ohos.enterprise.restrictions (Restrictions)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciThis **restrictions** module provides APIs for disallowing general features of devices.
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **NOTE**
6e41f4b71Sopenharmony_ci>
7e41f4b71Sopenharmony_ci> The initial APIs of this module are supported since API version 12. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8e41f4b71Sopenharmony_ci>
9e41f4b71Sopenharmony_ci> The APIs of this module can be used only in the stage model.
10e41f4b71Sopenharmony_ci>
11e41f4b71Sopenharmony_ci> The APIs of this module can be called only by a [device administrator application](../../mdm/mdm-kit-guide.md#introduction) that is enabled.
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci## Modules to Import
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci```ts
16e41f4b71Sopenharmony_ciimport { restrictions } from '@kit.MDMKit';
17e41f4b71Sopenharmony_ci```
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ci## restrictions.setDisallowedPolicy
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_cisetDisallowedPolicy(admin: Want, feature: string, disallow: boolean): void
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ciDisallows a feature.
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ENTERPRISE_MANAGE_RESTRICTIONS
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci**Parameters**
30e41f4b71Sopenharmony_ci
31e41f4b71Sopenharmony_ci| Name  | Type                                                   | Mandatory| Description                                                        |
32e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
33e41f4b71Sopenharmony_ci| admin    | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | Yes  | Device administrator application.                                              |
34e41f4b71Sopenharmony_ci| feature  | string                                                  | Yes  | Feature to set.<br>- **bluetooth**: Bluetooth capability of the device.<br>- **modifyDateTime**: capability of setting the system time of the device.<br>- **printer**: printer capability of the device.<br>- **hdc**: OpenHarmony Device Connector (hdc).<br>- **microphone**: microphone capability of the device.<br>- **fingerprint**: fingerprint authentication capability of the device.<br>- **usb**: USB capability of the device.<br>- **wifi**: Wi-Fi capability of the device. <!--RP1--><!--RP1End--> |
35e41f4b71Sopenharmony_ci| disallow | boolean                                                 | Yes  | Whether to disallow the feature. The value **true** means to disallow the feature; the value **false** means the opposite.                       |
36e41f4b71Sopenharmony_ci
37e41f4b71Sopenharmony_ci**Error codes**
38e41f4b71Sopenharmony_ci
39e41f4b71Sopenharmony_ciFor details about the error codes, see [Enterprise Device Management Error Codes](errorcode-enterpriseDeviceManager.md) and [Universal Error Codes](../errorcode-universal.md).
40e41f4b71Sopenharmony_ci
41e41f4b71Sopenharmony_ci| ID| Error Message                                                    |
42e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
43e41f4b71Sopenharmony_ci| 9200001  | The application is not an administrator application of the device. |
44e41f4b71Sopenharmony_ci| 9200002  | The administrator application does not have permission to manage the device. |
45e41f4b71Sopenharmony_ci| 201      | Permission verification failed. The application does not have the permission required to call the API. |
46e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
47e41f4b71Sopenharmony_ci
48e41f4b71Sopenharmony_ci**Example**
49e41f4b71Sopenharmony_ci
50e41f4b71Sopenharmony_ci```ts
51e41f4b71Sopenharmony_ciimport { Want } from '@kit.AbilityKit';
52e41f4b71Sopenharmony_cilet wantTemp: Want = {
53e41f4b71Sopenharmony_ci  bundleName: 'bundleName',
54e41f4b71Sopenharmony_ci  abilityName: 'abilityName',
55e41f4b71Sopenharmony_ci};
56e41f4b71Sopenharmony_ci
57e41f4b71Sopenharmony_citry {
58e41f4b71Sopenharmony_ci  restrictions.setDisallowedPolicy(wantTemp, 'printer', true);
59e41f4b71Sopenharmony_ci  console.info('Succeeded in setting printer disabled');
60e41f4b71Sopenharmony_ci} catch (err) {
61e41f4b71Sopenharmony_ci  console.error(`Failed to set printer disabled. Code is ${err.code}, message is ${err.message}`);
62e41f4b71Sopenharmony_ci}
63e41f4b71Sopenharmony_ci```
64e41f4b71Sopenharmony_ci
65e41f4b71Sopenharmony_ci## restrictions.getDisallowedPolicy
66e41f4b71Sopenharmony_ci
67e41f4b71Sopenharmony_cigetDisallowedPolicy(admin: Want, feature: string): boolean
68e41f4b71Sopenharmony_ci
69e41f4b71Sopenharmony_ciObtains the status of a feature.
70e41f4b71Sopenharmony_ci
71e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ENTERPRISE_MANAGE_RESTRICTIONS
72e41f4b71Sopenharmony_ci
73e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
74e41f4b71Sopenharmony_ci
75e41f4b71Sopenharmony_ci**Parameters**
76e41f4b71Sopenharmony_ci
77e41f4b71Sopenharmony_ci| Name | Type                                                   | Mandatory| Description                                                        |
78e41f4b71Sopenharmony_ci| ------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
79e41f4b71Sopenharmony_ci| admin   | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | Yes  | Device administrator application.                                              |
80e41f4b71Sopenharmony_ci| feature | string                                                  | Yes  | Name of the feature, whose status is to be obtained.<br>- **bluetooth**: Bluetooth capability of the device.<br>- **modifyDateTime**: capability of setting the system time of the device.<br>- **printer**: printer capability of the device.<br>- **hdc**: OpenHarmony Device Connector (hdc).<br>- **microphone**: microphone capability of the device.<br>- **fingerprint**: fingerprint authentication capability of the device.<br>- **usb**: USB capability of the device.<br>- **wifi**: Wi-Fi capability of the device.<!--RP2--><!--RP2End--> |
81e41f4b71Sopenharmony_ci
82e41f4b71Sopenharmony_ci**Return value**
83e41f4b71Sopenharmony_ci
84e41f4b71Sopenharmony_ci| Type   | Description                                                        |
85e41f4b71Sopenharmony_ci| ------- | ------------------------------------------------------------ |
86e41f4b71Sopenharmony_ci| boolean | Returns **true** if the feature is disallowed; returns **false** otherwise.|
87e41f4b71Sopenharmony_ci
88e41f4b71Sopenharmony_ci**Error codes**
89e41f4b71Sopenharmony_ci
90e41f4b71Sopenharmony_ciFor details about the error codes, see [Enterprise Device Management Error Codes](errorcode-enterpriseDeviceManager.md) and [Universal Error Codes](../errorcode-universal.md).
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_ci| ID| Error Message                                                    |
93e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
94e41f4b71Sopenharmony_ci| 9200001  | The application is not an administrator application of the device. |
95e41f4b71Sopenharmony_ci| 9200002  | The administrator application does not have permission to manage the device. |
96e41f4b71Sopenharmony_ci| 201      | Permission verification failed. The application does not have the permission required to call the API. |
97e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
98e41f4b71Sopenharmony_ci
99e41f4b71Sopenharmony_ci**Example**
100e41f4b71Sopenharmony_ci
101e41f4b71Sopenharmony_ci```ts
102e41f4b71Sopenharmony_ciimport { Want } from '@kit.AbilityKit';
103e41f4b71Sopenharmony_cilet wantTemp: Want = {
104e41f4b71Sopenharmony_ci  bundleName: 'bundleName',
105e41f4b71Sopenharmony_ci  abilityName: 'abilityName',
106e41f4b71Sopenharmony_ci};
107e41f4b71Sopenharmony_ci
108e41f4b71Sopenharmony_citry {
109e41f4b71Sopenharmony_ci  let result: boolean = restrictions.getDisallowedPolicy(wantTemp, 'printer');
110e41f4b71Sopenharmony_ci  console.info(`Succeeded in querying is the printing function disabled : ${result}`);
111e41f4b71Sopenharmony_ci} catch (err) {
112e41f4b71Sopenharmony_ci  console.error(`Failed to set printer disabled. Code is ${err.code}, message is ${err.message}`);
113e41f4b71Sopenharmony_ci}
114e41f4b71Sopenharmony_ci```
115