# extension_ability.h

#### 概述

提供ExtensionAbility回调函数类型声明和入口函数名称声明。

**引用文件：** <AbilityKit/ability\_runtime/extension\_ability.h>

**库：** libability\_runtime.so

**系统能力：** SystemCapability.Ability.AbilityRuntime.Core

**起始版本：** 24

**相关模块：** AbilityRuntime

#### 汇总

#### 结构体

| 名称 | typedef关键字 | 描述 |
| --- | --- | --- |
| AbilityRuntime_ExtensionInstance | - | 定义AbilityRuntime_ExtensionInstance结构体类型。 |
| AbilityRuntime_ExtensionInstance* | AbilityRuntime_ExtensionInstanceHandle | 定义AbilityRuntime_ExtensionInstance对象指针。 |

#### 函数

| 名称 | typedef关键字 | 描述 |
| --- | --- | --- |
| typedef void AbilityRuntime_Extension_CreateFunc(AbilityRuntime_ExtensionInstanceHandle handle, const char *abilityName); | AbilityRuntime_Extension_CreateFunc | ExtensionAbility创建回调函数类型。ExtensionAbility中必须实现的回调函数类型，用于实例化ExtensionAbility。 |

#### 变量

| 名称 | 类型 | 描述 |
| --- | --- | --- |
| OH_AbilityRuntime_OnNativeExtensionCreate | AbilityRuntime_Extension_CreateFunc | ExtensionAbility入口函数名称声明。开发者需要实现一个类型为AbilityRuntime_Extension_CreateFunc的函数，并将其命名为OH_AbilityRuntime_OnNativeExtensionCreate。系统会自动查找并调用此函数来完成ExtensionAbility实例的初始化。 起始版本： 24 |

#### 函数说明

#### AbilityRuntime\_Extension\_CreateFunc()

```
typedef void AbilityRuntime_Extension_CreateFunc(AbilityRuntime_ExtensionInstanceHandle handle, const char *abilityName)
```

**描述**

ExtensionAbility创建回调函数类型。ExtensionAbility中必须实现的回调函数类型，用于实例化ExtensionAbility。

**起始版本：** 24

**参数：**

| 参数名 | 描述 |
| --- | --- |
| AbilityRuntime_ExtensionInstanceHandle handle | 回调函数传入AbilityRuntime_ExtensionInstanceHandle实例的指针。 |
| const char *abilityName | 回调函数传入的ExtensionAbility的名称。 |

#### 变量说明

#### OH\_AbilityRuntime\_OnNativeExtensionCreate

```
AbilityRuntime_Extension_CreateFunc OH_AbilityRuntime_OnNativeExtensionCreate
```

**描述**

ExtensionAbility入口函数名称声明。开发者需要实现一个类型为AbilityRuntime\_Extension\_CreateFunc的函数，并将其命名为OH\_AbilityRuntime\_OnNativeExtensionCreate。系统会自动查找并调用此函数来完成ExtensionAbility实例的初始化。

**起始版本：** 24

**示例代码：**

```
#include <AbilityKit/ability_runtime/extension_ability.h>

extern "C" void OH_AbilityRuntime_OnNativeExtensionCreate(AbilityRuntime_ExtensionInstance *instance,
                                                          const char *abilityName) {
    if (!instance) {
        // 记录错误日志以及其他业务处理
        return;
    }
    // ExtensionAbility 初始化工作
}
```