# ArkUI_AccessibilityProviderCallbacksWithInstance
## 概述
适配多实例场景第三方操作provider回调函数结构定义,需要第三方平台实现的相关函数,通过OH_ArkUI_AccessibilityProviderRegisterCallbackWithInstance注册到系统侧。
**起始版本:** 15
**相关模块:** [ArkUI_Accessibility](capi-arkui-accessibility.md)
**所在头文件:** [native_interface_accessibility.h](capi-native-interface-accessibility-h.md)
## 汇总
### 成员函数
| 名称 | 描述 |
| -- | -- |
| [int32_t (\*findAccessibilityNodeInfosById)(const char* instanceId, int64_t elementId,ArkUI_AccessibilitySearchMode mode, int32_t requestId, ArkUI_AccessibilityElementInfoList* elementList)](#findaccessibilitynodeinfosbyid) | 由接入方平台实现的回调函数,注册给系统侧调用。基于指定的节点,查询所需的节点信息。支持多实例场景。 |
| [int32_t (\*findAccessibilityNodeInfosByText)(const char* instanceId, int64_t elementId, const char* text,int32_t requestId, ArkUI_AccessibilityElementInfoList* elementList)](#findaccessibilitynodeinfosbytext) | 由接入方平台实现的回调函数,注册给系统侧调用。基于指定的节点,查询满足指定组件文本内容的节点信息。支持多实例场景。 |
| [int32_t (\*findFocusedAccessibilityNode)(const char* instanceId, int64_t elementId,ArkUI_AccessibilityFocusType focusType, int32_t requestId, ArkUI_AccessibilityElementInfo* elementInfo)](#findfocusedaccessibilitynode) | 由接入方平台实现的回调函数,注册给系统侧调用。从指定节点查找已经聚焦的节点。支持多实例场景。 |
| [int32_t (\*findNextFocusAccessibilityNode)(const char* instanceId, int64_t elementId, ArkUI_AccessibilityFocusMoveDirection direction,int32_t requestId, ArkUI_AccessibilityElementInfo* elementInfo)](#findnextfocusaccessibilitynode) | 由接入方平台实现的回调函数,注册给系统侧调用。从指定节点查询指定方向的节点。支持多实例场景。 |
| [int32_t (\*executeAccessibilityAction)(const char* instanceId, int64_t elementId,ArkUI_Accessibility_ActionType action, ArkUI_AccessibilityActionArguments *actionArguments, int32_t requestId)](#executeaccessibilityaction) | 由接入方平台实现的回调函数,注册给系统侧调用。对指定节点执行指定的操作。支持多实例场景。 |
| [int32_t (\*clearFocusedFocusAccessibilityNode)(const char* instanceId)](#clearfocusedfocusaccessibilitynode) | 由接入方平台实现的回调函数,注册给系统侧调用。 清除当前获焦的节点。支持多实例场景。 |
| [int32_t (\*getAccessibilityNodeCursorPosition)(const char* instanceId, int64_t elementId,int32_t requestId, int32_t* index)](#getaccessibilitynodecursorposition) | 由接入方平台实现的回调函数,注册给系统侧调用。获取当前组件中(文本组件)光标位置。支持多实例场景。 |
## 成员函数说明
### findAccessibilityNodeInfosById()
```
int32_t (*findAccessibilityNodeInfosById)(const char* instanceId, int64_t elementId,ArkUI_AccessibilitySearchMode mode, int32_t requestId, ArkUI_AccessibilityElementInfoList* elementList)
```
**描述:**
由接入方平台实现的回调函数,注册给系统侧调用。基于指定的节点,查询所需的节点信息。支持多实例场景。
**起始版本:** 15
**参数:**
| 参数项 | 描述 |
|--------------------------------------------------------------------------------| -- |
| const char* instanceId | 第三方框架的实例编码。 |
| int64_t elementId | 无障碍元素的唯一编号。 |
| [ArkUI_AccessibilitySearchMode](capi-native-interface-accessibility-h.md) mode | 无障碍服务的搜索模式。 |
| int32_t requestId | 请求id,用于关联请求过程,方便问题定位。建议日志打印时附带输出该信息,方便定位。 |
| [ArkUI_AccessibilityElementInfoList](capi-arkui-accessibility-arkui-accessibilityelementinfolist.md)* elementList | 本次查询到的所有无障碍元素列表。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int32_t | 成功返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。
参数错误返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。 |
### findAccessibilityNodeInfosByText()
```
int32_t (*findAccessibilityNodeInfosByText)(const char* instanceId, int64_t elementId, const char* text,int32_t requestId, ArkUI_AccessibilityElementInfoList* elementList)
```
**描述:**
由接入方平台实现的回调函数,注册给系统侧调用。基于指定的节点,查询满足指定组件文本内容的节点信息。支持多实例场景。
**起始版本:** 15
**参数:**
| 参数项 | 描述 |
| -- | -- |
| const char* instanceId | 第三方框架的实例编码。 |
| int64_t elementId | 无障碍元素的唯一编号。 |
| const char* text | 组件需要匹配的文本内容。 |
| int32_t requestId | 请求id,用于关联请求过程,方便问题定位。建议日志打印时附带输出该信息,方便定位。 |
| [ArkUI_AccessibilityElementInfoList](capi-arkui-accessibility-arkui-accessibilityelementinfolist.md)* elementList | 本次查询到的所有无障碍元素列表。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int32_t | 成功返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。
参数错误返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。 |
### findFocusedAccessibilityNode()
```
int32_t (*findFocusedAccessibilityNode)(const char* instanceId, int64_t elementId,ArkUI_AccessibilityFocusType focusType, int32_t requestId, ArkUI_AccessibilityElementInfo* elementInfo)
```
**描述:**
由接入方平台实现的回调函数,注册给系统侧调用。从指定节点查找已经聚焦的节点。支持多实例场景。
**起始版本:** 15
**参数:**
| 参数项 | 描述 |
|------------------------------------------------------------------------------------| -- |
| const char* instanceId | 第三方框架的实例编码。 |
| int64_t elementId | 无障碍元素的唯一编号。 |
| [ArkUI_AccessibilityFocusType](capi-native-interface-accessibility-h.md#arkui_accessibilityfocustype) focusType | 焦点类型。 |
| int32_t requestId | 请求id,用于关联请求过程,方便问题定位。建议日志打印时附带输出该信息,方便定位。 |
| [ArkUI_AccessibilityElementInfo](capi-arkui-accessibility-arkui-accessibilityelementinfo.md)* elementInfo | 本次查询到的无障碍元素。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int32_t | 成功返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。
参数错误返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。 |
### findNextFocusAccessibilityNode()
```
int32_t (*findNextFocusAccessibilityNode)(const char* instanceId, int64_t elementId, ArkUI_AccessibilityFocusMoveDirection direction,int32_t requestId, ArkUI_AccessibilityElementInfo* elementInfo)
```
**描述:**
由接入方平台实现的回调函数,注册给系统侧调用。从指定节点查询指定方向的节点。支持多实例场景。
**起始版本:** 15
**参数:**
| 参数项 | 描述 |
|-----------------------------------------------------------------------------------------------------------------------------------| -- |
| const char* instanceId | 第三方框架的实例编码。 |
| int64_t elementId | 无障碍元素的唯一编号。 |
| [ArkUI_AccessibilityFocusMoveDirection](capi-native-interface-accessibility-h.md#arkui_accessibilityfocusmovedirection) direction | 搜索方向。 |
| int32_t requestId | 请求id,用于关联请求过程,方便问题定位。建议日志打印时附带输出该信息,方便定位。 |
| [ArkUI_AccessibilityElementInfo](capi-arkui-accessibility-arkui-accessibilityelementinfo.md)* elementInfo | 本次查询到的无障碍元素。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int32_t | 成功返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。
参数错误返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。 |
### executeAccessibilityAction()
```
int32_t (*executeAccessibilityAction)(const char* instanceId, int64_t elementId,ArkUI_Accessibility_ActionType action, ArkUI_AccessibilityActionArguments *actionArguments, int32_t requestId)
```
**描述:**
由接入方平台实现的回调函数,注册给系统侧调用。对指定节点执行指定的操作。支持多实例场景。
**起始版本:** 15
**参数:**
| 参数项 | 描述 |
|------------------------------------------------------------------------------------------------------------------| -- |
| const char* instanceId | 第三方框架的实例编码。 |
| int64_t elementId | 无障碍元素的唯一编号。 |
| [ArkUI_Accessibility_ActionType](capi-native-interface-accessibility-h.md#arkui_accessibility_actiontype) action | 需要执行的操作,比如聚焦、点击和长按等。 |
| [ArkUI_AccessibilityActionArguments](capi-arkui-accessibility-arkui-accessibilityactionarguments.md) *actionArguments | 控制操作的参数。 |
| int32_t requestId | 请求id,用于关联请求过程,方便问题定位。建议日志打印时附带输出该信息,方便定位。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int32_t | 成功返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。
参数错误返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。 |
### clearFocusedFocusAccessibilityNode()
```
int32_t (*clearFocusedFocusAccessibilityNode)(const char* instanceId)
```
**描述:**
由接入方平台实现的回调函数,注册给系统侧调用。 清除当前获焦的节点。支持多实例场景。
**起始版本:** 15
**参数:**
| 参数项 | 描述 |
| -- | -- |
| const char* instanceId | 第三方框架的实例编码。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int32_t | 成功返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。
参数错误返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。 |
### getAccessibilityNodeCursorPosition()
```
int32_t (*getAccessibilityNodeCursorPosition)(const char* instanceId, int64_t elementId,int32_t requestId, int32_t* index)
```
**描述:**
由接入方平台实现的回调函数,注册给系统侧调用。获取当前组件中(文本组件)光标位置。支持多实例场景。
**起始版本:** 15
**参数:**
| 参数项 | 描述 |
| -- | -- |
| const char* instanceId | 第三方框架的实例编码。 |
| int64_t elementId | 无障碍元素的唯一编号。 |
| int32_t requestId | 请求id,用于关联请求过程,方便问题定位。建议日志打印时附带输出该信息,方便定位。 |
| int32_t* index | 光标的位置结果。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int32_t | 成功返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。
参数错误返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。 |