openharmony 鸿蒙 capi-modular-object-extension-manager-h

2026-08-25 浏览 (1)

modular_object_extension_manager.h

概述

声明用于管理ModularObjectExtensionAbility的接口,包括查询ModularObjectExtensionAbility信息、连接与断开连接等能力。开发者可以通过本模块提供的接口查询当前应用内所有已注册的ModularObjectExtensionAbility的信息(包括启动模式、进程模式、线程模式、组件名称及禁用状态等),并根据需要建立或断开与ModularObjectExtensionAbility的通信连接。

引用文件: <AbilityKit/ability_runtime/modular_object_extension_manager.h>

库: libability_runtime.so

系统能力: SystemCapability.Ability.AbilityRuntime.Core

起始版本: 26.0.0

相关模块: AbilityRuntime

汇总

结构体

名称typedef关键字描述
OH_AbilityRuntime_ModularObjectExtensionInfo*OH_AbilityRuntime_ModObjExtensionInfoHandle表示单个ModularObjectExtensionAbility的信息句柄。该句柄指向一个ModularObjectExtensionAbility的完整信息,包含启动模式、进程模式、线程模式、组件名称(AbilityBase_Element)以及禁用状态等属性。
OH_AbilityRuntime_AllModularObjectExtensionInfos*OH_AbilityRuntime_AllModObjExtensionInfosHandle表示当前应用内所有ModularObjectExtensionAbility信息的集合句柄。该句柄指向一个包含多个OH_AbilityRuntime_ModObjExtensionInfoHandle的集合,可通过OH_AbilityRuntime_GetCountFromAllModObjExtensionInfos获取集合中元素的数量,并通过OH_AbilityRuntime_GetModObjExtensionInfoByIndex按索引遍历获取单个ModularObjectExtensionAbility信息。使用完毕后需通过OH_AbilityRuntime_ReleaseAllExtensionInfos释放该集合。

枚举

名称typedef关键字描述
OH_AbilityRuntime_LaunchModeOH_AbilityRuntime_LaunchMode定义ModularObjectExtensionAbility的启动模式。
OH_AbilityRuntime_ProcessModeOH_AbilityRuntime_ProcessMode定义ModularObjectExtensionAbility的进程模式。
OH_AbilityRuntime_ThreadModeOH_AbilityRuntime_ThreadMode定义ModularObjectExtensionAbility的线程模式。

函数

名称描述
AbilityRuntime_ErrorCode OH_AbilityRuntime_GetModularObjectExtensionInfoLaunchMode(OH_AbilityRuntime_ModObjExtensionInfoHandle extensionInfo, OH_AbilityRuntime_LaunchMode *launchMode)从指定的ModularObjectExtensionAbility信息中获取启动模式。
AbilityRuntime_ErrorCode OH_AbilityRuntime_GetModularObjectExtensionInfoProcessMode(OH_AbilityRuntime_ModObjExtensionInfoHandle extensionInfo, OH_AbilityRuntime_ProcessMode *processMode)从指定的ModularObjectExtensionAbility信息中获取进程模式。
AbilityRuntime_ErrorCode OH_AbilityRuntime_GetModularObjectExtensionInfoThreadMode(OH_AbilityRuntime_ModObjExtensionInfoHandle extensionInfo, OH_AbilityRuntime_ThreadMode *threadMode)从指定的ModularObjectExtensionAbility信息中获取线程模式。
AbilityRuntime_ErrorCode OH_AbilityRuntime_GetModularObjectExtensionInfoElementName(OH_AbilityRuntime_ModObjExtensionInfoHandle extensionInfo, AbilityBase_Element *element)从指定的ModularObjectExtensionAbility信息中获取组件名称(AbilityBase_Element)。
AbilityRuntime_ErrorCode OH_AbilityRuntime_GetModularObjectExtensionInfoDisableState(OH_AbilityRuntime_ModObjExtensionInfoHandle extensionInfo, bool *isDisabled)从指定的ModularObjectExtensionAbility信息中获取禁用状态。
AbilityRuntime_ErrorCode OH_AbilityRuntime_AcquireSelfModularObjectExtensionInfos(OH_AbilityRuntime_AllModObjExtensionInfosHandle *outOwnedAllExtensionInfos)获取当前应用所有已注册的ModularObjectExtensionAbility信息。该接口返回一个包含当前应用所有已注册的ModularObjectExtensionAbility信息集合句柄。开发者可通过OH_AbilityRuntime_GetCountFromAllModObjExtensionInfosOH_AbilityRuntime_GetModObjExtensionInfoByIndex遍历集合中的各个ModularObjectExtensionAbility信息,进而获取每个ModularObjectExtensionAbility的启动模式、进程模式、线程模式等属性。
AbilityRuntime_ErrorCode OH_AbilityRuntime_ReleaseAllExtensionInfos(OH_AbilityRuntime_AllModObjExtensionInfosHandle *allExtensionInfos)释放由OH_AbilityRuntime_AcquireSelfModularObjectExtensionInfos获取的ModularObjectExtensionAbility信息集合。当不再需要使用ModularObjectExtensionAbility信息集合时,必须调用此接口释放相关资源,避免内存泄漏。
AbilityRuntime_ErrorCode OH_AbilityRuntime_GetCountFromAllModObjExtensionInfos(OH_AbilityRuntime_AllModObjExtensionInfosHandle allExtensionInfos, size_t *count)获取ModularObjectExtensionAbility信息集合中包含的ModularObjectExtensionAbility信息数量。返回的数量可用于确定遍历集合时的索引上限,配合OH_AbilityRuntime_GetModObjExtensionInfoByIndex逐个访问集合中的ModularObjectExtensionAbility信息。
AbilityRuntime_ErrorCode OH_AbilityRuntime_GetModObjExtensionInfoByIndex(OH_AbilityRuntime_AllModObjExtensionInfosHandle allExtensionInfos, size_t index, OH_AbilityRuntime_ModObjExtensionInfoHandle *extensionInfo)根据索引从ModularObjectExtensionAbility信息集合中获取指定的ModularObjectExtensionAbility信息。索引的有效范围为[0, count),其中count可通过OH_AbilityRuntime_GetCountFromAllModObjExtensionInfos获取。获取到的ModularObjectExtensionAbility信息句柄可用于查询该ModularObjectExtensionAbility的启动模式、进程模式、线程模式等属性。

枚举类型说明

OH_AbilityRuntime_LaunchMode

enum OH_AbilityRuntime_LaunchMode

描述

定义ModularObjectExtensionAbility的启动模式。

起始版本: 26.0.0

枚举项描述
OH_ABILITY_RUNTIME_LAUNCH_MODE_IN_PROCESS = 0表示ModularObjectExtensionAbility将在调用方(客户端)进程中启动。在此模式下,ModularObjectExtensionAbility与调用方共享同一个进程,适用于对进程隔离无要求的场景。
OH_ABILITY_RUNTIME_LAUNCH_MODE_CROSS_PROCESS = 1表示ModularObjectExtensionAbility允许跨进程启动。在此模式下,ModularObjectExtensionAbility运行在独立的进程中,与调用方进程隔离,适用于需要进程级隔离以提高稳定性和安全性的场景。

OH_AbilityRuntime_ProcessMode

enum OH_AbilityRuntime_ProcessMode

描述

定义ModularObjectExtensionAbility的进程模式。

起始版本: 26.0.0

枚举项描述
OH_ABILITY_RUNTIME_PROCESS_MODE_BUNDLE = 0表示同一应用下的所有ModularObjectExtensionAbility实例共享一个进程。所有实例运行在同一进程中,减少系统资源消耗。
OH_ABILITY_RUNTIME_PROCESS_MODE_TYPE = 1表示Ability名称相同的ModularObjectExtensionAbility实例共享一个进程。具有相同Ability名称的Extension实例被分配到同一进程中,不同Ability名称的实例运行在不同进程中。
OH_ABILITY_RUNTIME_PROCESS_MODE_INSTANCE = 2表示每个ModularObjectExtensionAbility实例独占一个进程。每个Extension实例拥有独立的进程空间,实现最大程度的进程隔离,适用于对稳定性和安全性要求极高的场景。

OH_AbilityRuntime_ThreadMode

enum OH_AbilityRuntime_ThreadMode

描述

定义ModularObjectExtensionAbility的线程模式。

起始版本: 26.0.0

枚举项描述
OH_ABILITY_RUNTIME_THREAD_MODE_BUNDLE = 0表示同一应用下的所有ModularObjectExtensionAbility实例共享一个线程。所有实例在同一线程中依次执行,资源开销最小,但需注意避免单实例阻塞影响其他实例。
OH_ABILITY_RUNTIME_THREAD_MODE_TYPE = 1表示Ability名称相同的ModularObjectExtensionAbility实例共享一个线程。具有相同类型的Extension实例共享线程,不同类型的实例使用不同线程,在资源消耗与并发性能之间取得平衡。
OH_ABILITY_RUNTIME_THREAD_MODE_INSTANCE = 2表示每个ModularObjectExtensionAbility实例独占一个线程。每个Extension实例拥有独立的线程,互不干扰,适用于需要高并发或对响应时间有严格要求的场景。

函数说明

OH_AbilityRuntime_GetModularObjectExtensionInfoLaunchMode()

AbilityRuntime_ErrorCode OH_AbilityRuntime_GetModularObjectExtensionInfoLaunchMode(OH_AbilityRuntime_ModObjExtensionInfoHandle extensionInfo, OH_AbilityRuntime_LaunchMode *launchMode)

描述

从指定的ModularObjectExtensionAbility信息中获取启动模式。

起始版本: 26.0.0

参数:

参数项描述
OH_AbilityRuntime_ModObjExtensionInfoHandle extensionInfo目标ModularObjectExtensionAbility的信息句柄。
OH_AbilityRuntime_LaunchMode *launchMode指向OH_AbilityRuntime_LaunchMode的指针,用于接收启动模式。

返回:

类型说明
AbilityRuntime_ErrorCode返回特定的错误码。
ABILITY_RUNTIME_ERROR_CODE_NO_ERROR 接口调用成功。
ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID extensionInfo或launchMode为空。

OH_AbilityRuntime_GetModularObjectExtensionInfoProcessMode()

AbilityRuntime_ErrorCode OH_AbilityRuntime_GetModularObjectExtensionInfoProcessMode(OH_AbilityRuntime_ModObjExtensionInfoHandle extensionInfo, OH_AbilityRuntime_ProcessMode *processMode)

描述

从指定的ModularObjectExtensionAbility信息中获取进程模式。

起始版本: 26.0.0

参数:

参数项描述
OH_AbilityRuntime_ModObjExtensionInfoHandle extensionInfo目标ModularObjectExtensionAbility的信息句柄。
OH_AbilityRuntime_ProcessMode *processMode指向OH_AbilityRuntime_ProcessMode的指针,用于接收进程模式。

返回:

类型说明
AbilityRuntime_ErrorCode返回特定的错误码。
ABILITY_RUNTIME_ERROR_CODE_NO_ERROR 接口调用成功。
ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID extensionInfo或processMode为空。

OH_AbilityRuntime_GetModularObjectExtensionInfoThreadMode()

AbilityRuntime_ErrorCode OH_AbilityRuntime_GetModularObjectExtensionInfoThreadMode(OH_AbilityRuntime_ModObjExtensionInfoHandle extensionInfo, OH_AbilityRuntime_ThreadMode *threadMode)

描述

从指定的ModularObjectExtensionAbility信息中获取线程模式。

起始版本: 26.0.0

参数:

参数项描述
OH_AbilityRuntime_ModObjExtensionInfoHandle extensionInfo目标ModularObjectExtensionAbility的信息句柄。
OH_AbilityRuntime_ThreadMode *threadMode指向OH_AbilityRuntime_ThreadMode的指针,用于接收线程模式。

返回:

类型说明
AbilityRuntime_ErrorCode返回特定的错误码。
ABILITY_RUNTIME_ERROR_CODE_NO_ERROR 接口调用成功。
ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID extensionInfo或threadMode为空。

OH_AbilityRuntime_GetModularObjectExtensionInfoElementName()

AbilityRuntime_ErrorCode OH_AbilityRuntime_GetModularObjectExtensionInfoElementName(OH_AbilityRuntime_ModObjExtensionInfoHandle extensionInfo, AbilityBase_Element *element)

描述

从指定的ModularObjectExtensionAbility信息中获取组件名称(AbilityBase_Element)。

起始版本: 26.0.0

参数:

参数项描述
OH_AbilityRuntime_ModObjExtensionInfoHandle extensionInfo目标ModularObjectExtensionAbility的信息句柄。
AbilityBase_Element *element指向AbilityBase_Element的指针,用于接收组件名称。

返回:

类型说明
AbilityRuntime_ErrorCode返回特定的错误码。
ABILITY_RUNTIME_ERROR_CODE_NO_ERROR 接口调用成功。
ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID extensionInfo或element为空。

OH_AbilityRuntime_GetModularObjectExtensionInfoDisableState()

AbilityRuntime_ErrorCode OH_AbilityRuntime_GetModularObjectExtensionInfoDisableState(OH_AbilityRuntime_ModObjExtensionInfoHandle extensionInfo, bool *isDisabled)

描述

从指定的ModularObjectExtensionAbility信息中获取禁用状态。

起始版本: 26.0.0

参数:

参数项描述
OH_AbilityRuntime_ModObjExtensionInfoHandle extensionInfo目标ModularObjectExtensionAbility的信息句柄。
bool *isDisabled指向布尔值的指针,用于接收禁用状态。true表示已禁用,不允许其他应用连接;false表示未禁用,允许其他应用连接。

返回:

类型说明
AbilityRuntime_ErrorCode返回特定的错误码。
ABILITY_RUNTIME_ERROR_CODE_NO_ERROR 接口调用成功。
ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID extensionInfo或isDisabled为空。

OH_AbilityRuntime_AcquireSelfModularObjectExtensionInfos()

AbilityRuntime_ErrorCode OH_AbilityRuntime_AcquireSelfModularObjectExtensionInfos(OH_AbilityRuntime_AllModObjExtensionInfosHandle *outOwnedAllExtensionInfos)

描述

获取当前应用所有已注册的ModularObjectExtensionAbility信息。该接口返回一个包含当前应用所有已注册的ModularObjectExtensionAbility信息集合句柄。开发者可通过OH_AbilityRuntime_GetCountFromAllModObjExtensionInfosOH_AbilityRuntime_GetModObjExtensionInfoByIndex遍历集合中的各个ModularObjectExtensionAbility信息,进而获取每个ModularObjectExtensionAbility的启动模式、进程模式、线程模式等属性。

起始版本: 26.0.0

设备行为差异:该接口仅在PC/2in1设备中可正常调用,在其他设备中返回ABILITY_RUNTIME_ERROR_CODE_NOT_SUPPORTED错误码。

参数:

参数项描述
OH_AbilityRuntime_AllModObjExtensionInfosHandle *outOwnedAllExtensionInfos指向OH_AbilityRuntime_AllModObjExtensionInfosHandle的指针,用于接收ModularObjectExtensionAbility信息集合。

返回:

类型说明
AbilityRuntime_ErrorCode返回特定的错误码。
ABILITY_RUNTIME_ERROR_CODE_NO_ERROR 接口调用成功。
ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID outOwnedAllExtensionInfos为空。
ABILITY_RUNTIME_ERROR_CODE_NOT_SUPPORTED 设备不支持该操作。

OH_AbilityRuntime_ReleaseAllExtensionInfos()

AbilityRuntime_ErrorCode OH_AbilityRuntime_ReleaseAllExtensionInfos(OH_AbilityRuntime_AllModObjExtensionInfosHandle *allExtensionInfos)

描述

释放由OH_AbilityRuntime_AcquireSelfModularObjectExtensionInfos获取的ModularObjectExtensionAbility信息集合。当不再需要使用ModularObjectExtensionAbility信息集合时,必须调用此接口释放相关资源,避免内存泄漏。

起始版本: 26.0.0

参数:

参数项描述
OH_AbilityRuntime_AllModObjExtensionInfosHandle *allExtensionInfos指向需要释放的ModularObjectExtensionAbility信息集合句柄的指针。释放后该指针将被置空。

返回:

类型说明
AbilityRuntime_ErrorCode返回特定的错误码。
ABILITY_RUNTIME_ERROR_CODE_NO_ERROR 接口调用成功。
ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID allExtensionInfos为空。

参考:

OH_AbilityRuntime_AcquireSelfModularObjectExtensionInfos

OH_AbilityRuntime_GetCountFromAllModObjExtensionInfos()

AbilityRuntime_ErrorCode OH_AbilityRuntime_GetCountFromAllModObjExtensionInfos(OH_AbilityRuntime_AllModObjExtensionInfosHandle allExtensionInfos, size_t *count)

描述

获取ModularObjectExtensionAbility信息集合中包含的ModularObjectExtensionAbility信息数量。返回的数量可用于确定遍历集合时的索引上限,配合OH_AbilityRuntime_GetModObjExtensionInfoByIndex逐个访问集合中的ModularObjectExtensionAbility信息。

起始版本: 26.0.0

参数:

参数项描述
OH_AbilityRuntime_AllModObjExtensionInfosHandle allExtensionInfosModularObjectExtensionAbility信息集合句柄。
size_t *count指向size_t的指针,用于接收ModularObjectExtensionAbility信息的数量。

返回:

类型说明
AbilityRuntime_ErrorCode返回特定的错误码。
ABILITY_RUNTIME_ERROR_CODE_NO_ERROR 接口调用成功。
ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID allExtensionInfos或count为空。

OH_AbilityRuntime_GetModObjExtensionInfoByIndex()

AbilityRuntime_ErrorCode OH_AbilityRuntime_GetModObjExtensionInfoByIndex(OH_AbilityRuntime_AllModObjExtensionInfosHandle allExtensionInfos, size_t index, OH_AbilityRuntime_ModObjExtensionInfoHandle *extensionInfo)

描述

根据索引从ModularObjectExtensionAbility信息集合中获取指定的ModularObjectExtensionAbility信息。索引的有效范围为[0, count),其中count可通过OH_AbilityRuntime_GetCountFromAllModObjExtensionInfos获取。获取到的ModularObjectExtensionAbility信息句柄可用于查询该ModularObjectExtensionAbility的启动模式、进程模式、线程模式等属性。

起始版本: 26.0.0

参数:

参数项描述
OH_AbilityRuntime_AllModObjExtensionInfosHandle allExtensionInfosModularObjectExtensionAbility信息集合句柄。
size_t index目标ModularObjectExtensionAbility信息在集合中的索引,必须小于集合包含的ModularObjectExtensionAbility信息数量。
OH_AbilityRuntime_ModObjExtensionInfoHandle *extensionInfo指向OH_AbilityRuntime_ModObjExtensionInfoHandle的指针,用于接收指定索引处的ModularObjectExtensionAbility信息句柄。

返回:

类型说明
AbilityRuntime_ErrorCode返回特定的错误码。
ABILITY_RUNTIME_ERROR_CODE_NO_ERROR 接口调用成功。
ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID allExtensionInfos或extensionInfo为空,
或index大于等于集合中ModularObjectExtensionAbility信息数量。

你可能感兴趣的鸿蒙文章

openharmony 鸿蒙 js-apis-app-ability-appServiceExtensionAbility

openharmony 鸿蒙 js-apis-inner-wantAgent-triggerInfo-sys

openharmony 鸿蒙 js-apis-inner-wantAgent-wantAgentInfo-sys

openharmony 鸿蒙 js-apis-appControl-sys

openharmony 鸿蒙 js-apis-app-ability-environmentCallback

openharmony 鸿蒙 js-apis-inner-application-missionInfo-sys

openharmony 鸿蒙 js-apis-bundleManager-sharedBundleInfo-sys

openharmony 鸿蒙 js-apis-inner-application-continueMissionInfo-sys

openharmony 鸿蒙 js-apis-inner-application-appServiceExtensionContext

openharmony 鸿蒙 js-apis-bundleManager-businessAbilityInfo-sys

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/iPzT6JQj