# Volume Management
>  **NOTE**
>
> - The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.
> - The APIs of this module are system APIs and cannot be called by third-party applications.
## Modules to Import
```js
import volumemanager from "@ohos.volumeManager";
```
## volumemanager.getAllVolumes
getAllVolumes(): Promise<Array<Volume>>
Asynchronously obtains information about all available volumes. This method uses a promise to return the result.
**System capability**: SystemCapability.FileManagement.StorageService.Volume
- Return value
| Type | Description |
| ---------------------------------- | -------------------------- |
| Promise<[Volume](#volume)[]> | Promise used to return the execution result.|
- Example
```js
volumemanager.getAllVolumes().then(function(volumes){
// do something
});
```
## volumemanager.getAllVolumes9+
getAllVolumes(callback: AsyncCallback<Array<Volume>>): void
Asynchronously obtains information about all available volumes. This method uses a callback to return the result.
**System capability**: SystemCapability.FileManagement.StorageService.Volume
- Parameters
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------------------- | ---- | ------------------------------------ |
| callback | callback:AsyncCallback<[Volume](#volume)[]> | Yes | Callback invoked to return the volume information obtained.|
- Example
```js
let uuid = "";
volumemanager.getAllVolumes(uuid, function(error, volumes){
// do something
});
```
## volumemanager.mount
mount(volumeId: string): Promise<boolean>
Asynchronously mounts a volume. This method uses a promise to return the result.
**System capability**: SystemCapability.FileManagement.StorageService.Volume
- Parameters
| Name | Type | Mandatory| Description|
| -------- | ------ | ---- | ---- |
| volumeId | string | Yes | Volume ID.|
- Return value
| Type | Description |
| ---------------------- | ---------- |
| Promise<boolean> | Promise used to return the execution result.|
- Example
```js
let volumeId = "";
volumemanager.mount(volumeId).then(function(flag){
// do something
});
```
## volumemanager.mount
mount(volumeId: string, callback:AsyncCallback<boolean>):void
Asynchronously obtains the available space of the specified volume. This method uses a callback to return the result.
**System capability**: SystemCapability.FileManagement.StorageService.Volume
- Parameters
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------- | ---- | -------------------- |
| volumeId | string | Yes | Volume ID. |
| callback | callback:AsyncCallback<boolean> | Yes | Callback invoked to return the execution result.|
- Example
```js
let volumeId = "";
volumemanager.mount(volumeId, function(error, flag){
// do something
});
```
## volumemanager.unmount
unmount(volumeId: string): Promise<boolean>
Asynchronously unmounts a volume. This method uses a promise to return the result.
**System capability**: SystemCapability.FileManagement.StorageService.Volume
- Parameters
| Name | Type | Mandatory| Description|
| -------- | ------ | ---- | ---- |
| volumeId | string | Yes | Volume ID.|
- Return value
| Type | Description |
| ---------------------- | ---------- |
| Promise<boolean> | Promise used to return the execution result.|
- Example
```js
let volumeId = "";
volumemanager.unmount(volumeId).then(function(flag){
// do something
});
```
## volumemanager.unmount
unmount(volumeId: string, callback:AsyncCallback<boolean>):void
Asynchronously unmounts a volume. This method uses a callback to return the result.
**System capability**: SystemCapability.FileManagement.StorageService.Volume
- Parameters
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------- | ---- | -------------------- |
| volumeId | string | Yes | Volume ID. |
| callback | callback:AsyncCallback<boolean> | Yes | Callback invoked to return the execution result.|
- Example
```js
let volumeId = "";
volumemanager.unmount(volumeId, function(error, flag){
// do something
});
```
## Volume
**System capability**: SystemCapability.FileManagement.StorageService.Volume
### Attributes
| Name | Type | Description |
| ----------- | ------- | -------------------- |
| id9+ | number | Volume ID. |
| uuid9+ | string | Universally unique identifier (UUID) of the volume. |
| description9+ | string | Description of the volume. |
| removable9+ | boolean | Whether the volume is a removable storage device.|
| state9+ | int | Current volume status. |
| path9+ | string | Mount address of the volume. |