1# HapModuleInfo 2 3The **HapModuleInfo** module defines the HAP module information. A system application can obtain its own or others' HAP module information through [bundleManager.getBundleInfo](js-apis-bundleManager.md#bundlemanagergetbundleinfo). A third-party application can obtain its own HAP module information through [getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself). The input parameter [bundleFlags](js-apis-bundleManager.md#bundleflag) must be set to **GET_BUNDLE_INFO_WITH_HAP_MODULE**. 4 5> **NOTE** 6> 7> 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. 8 9## HapModuleInfo 10 11**System capability**: SystemCapability.BundleManager.BundleFramework.Core 12 13| Name | Type | Readable| Writable| Description | 14| --------------------------------- | ------------------------------------------------------------ | ---- | ---- | -------------------- | 15| name | string | Yes | No | Module name. | 16| icon | string | Yes | No | Module icon. | 17| iconId | number | Yes | No | ID of the module icon. | 18| label | string | Yes | No | Module label. | 19| labelId | number | Yes | No | ID of the module label. | 20| description | string | Yes | No | Module description. | 21| descriptionId | number | Yes | No | ID of the module description. | 22| mainElementName | string | Yes | No | Name of the main ability. | 23| abilitiesInfo | Array\<[AbilityInfo](js-apis-bundleManager-abilityInfo.md)> | Yes | No | Ability information. | 24| extensionAbilitiesInfo | Array\<[ExtensionAbilityInfo](js-apis-bundleManager-extensionAbilityInfo.md)> | Yes | No | ExtensionAbility information.| 25| metadata | Array\<[Metadata](js-apis-bundleManager-metadata.md)> | Yes | No | Metadata of the ability. | 26| deviceTypes | Array\<string> | Yes | No | Types of devices where the module can run. | 27| installationFree | boolean | Yes | No | Whether installation-free is supported. | 28| hashValue | string | Yes | No | Hash value of the module. | 29| moduleType | [ModuleType](js-apis-bundleManager.md#moduletype) | Yes | No | Type of the module. | 30| preloads | Array\<[PreloadItem](#preloaditem)> | Yes | No | Preloaded modules in the atomic service.| 31| dependencies | Array\<[Dependency](#dependency)> | Yes | No | Dynamic shared libraries on which the module depends. | 32 33## PreloadItem 34 35Describes the preloaded module information in the atomic service. 36 37 **System capability**: SystemCapability.BundleManager.BundleFramework.Core 38 39| Name | Type | Readable| Writable| Description | 40| --------- | -------------- | ---- | ---- | --------------------------- | 41|moduleName | string | Yes | No | Name of the module automatically preloaded by the system.| 42 43## Dependency 44 45Describes the information about the dynamic shared library on which the module depends. 46 47 **System capability**: SystemCapability.BundleManager.BundleFramework.Core 48 49| Name | Type | Readable| Writable| Description | 50| ----------- | ------ | ---- | ---- | ---------------------- | 51| moduleName | string | Yes | No | Module name of the shared bundle on which the current module depends.| 52