已合并
NativeImage新增接口&NativeWindow、NativeBuffer补充错误码说明 #2805
NativeImage新增接口&NativeWindow、NativeBuffer补充错误码说明 #2805
已合并
dingpy创建于 2025年11月26日
dingpy
2025年11月26日

一、内容说明(相关的Issue)

1、6.1需求NativeImage新增接口;
2、6.1需求NativeWindow、NativeBuffer修改错误码;

二、建议测试周期和提测地址

建议测试完成时间:xxxx.xx.xx
投产上线时间:xxxx.xx.xx
提测地址:CI环境/压测环境
测试账号:

三、变更内容

  • 3.1 关联PR列表

  • 3.2 数据库和部署说明

    1. 常规更新
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:无
    5. rake脚本:无
  • 3.4 其他技术优化内容(做了什么,变更了什么)
    不涉及

  • 3.5 废弃通知(什么字段、方法弃用?)

    不涉及

  • 3.6 后向不兼容变更(是否有无法向后兼容的变更?)
    否

四、研发自测点(自测哪些?冒烟用例全部自测?)

自测测试结论:模块用例PASS

五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)

检查点:

需求名称 是否影响xx公共模块 是否需要xx功能 需求升级是否依赖其他子产品
xxx 否 需要 不需要

接口测试:

性能测试:

并发测试:

其他:

likedislike
Pull Request已成功合入, 合并人@openharmony_ci
(感谢 dingpy 的贡献)
openharmony_ci
openharmony_ci成员
2025年11月26日 评论:

感谢提交 Pull Requests!
Thanks for submitting a pull request.

likedislike
openharmony_ciopenharmony_ci成员
2025年11月26日 添加了label:dco检查成功
Ddingpy
2025年11月26日 强制推送  1 个提交:efcbec03-修改错误码说明
openharmony_ci
openharmony_ci成员
2025年11月26日 评论:

感谢提交 Pull Requests!
Thanks for submitting a pull request.

likedislike
Ddingpy
2025年11月29日 修改标题为 “NativeImage新增接口&NativeWindow、NativeBuffer补充错误码说明”,原标题为“修改错误码说明”
Ddingpy
2025年12月1日 强制推送  1 个提交:a1225935-修改错误码说明
openharmony_ci
openharmony_ci成员
2025年12月1日 评论:

感谢提交 Pull Requests!
Thanks for submitting a pull request.

likedislike
Ddingpy
2025年12月1日 修改了pull request 的描述
Ddingpy
2025年12月1日 强制推送  1 个提交:5855a8db-修改错误码说明
openharmony_ci
openharmony_ci成员
2025年12月1日 评论:

感谢提交 Pull Requests!
Thanks for submitting a pull request.

likedislike
李珍
李珍2025年12月1日进行代码检视1
zh-cn/native_sdk/graphic/graphic_2d/native_buffer/native_buffer.h
@@ -434,2 +435,3 @@
434435 * @return 执行成功时返回SURFACE_ERROR_OK。\n
435- * parcel或buffer为空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。
436+ * parcel或buffer为空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。\n
437+ * parcel反序列化失败返回SURFACE_ERROR_ERROR。
李珍
李珍2025年12月1日评论:
  当前建议代码无改动

不是反序列化失败吗?parcel是什么意思

likedislike
李珍
李珍2025年12月1日进行代码检视2
zh-cn/native_sdk/graphic/graphic_2d/native_image/native_image.h
已过期
@@ -466,0 +468,4 @@
468+ * @syscap SystemCapability.Graphic.Graphic2D.NativeImage
469+ * @param image 指向{@link OH_NativeImage}实例的指针。
470+ * @return 执行成功时返回NATIVE_ERROR_OK。\n
471+ * image或isReleased是空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。
李珍
李珍2025年12月1日评论:
改动建议
471
- * image或isReleased是空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。
471
+ * image或isReleased为空指针时,返回NATIVE_ERROR_INVALID_ARGUMENTS。
应用建议
likedislike
System
系统消息系统
2025年12月1日 评论:

changed this line on cb989d1d view diff detail

李珍
李珍2025年12月1日进行代码检视2
zh-cn/native_sdk/graphic/graphic_2d/native_image/native_image.h
已过期
@@ -466,0 +481,4 @@
481+ * @syscap SystemCapability.Graphic.Graphic2D.NativeImage
482+ * @param image 指向{@link OH_NativeImage}实例的指针。
483+ * @return 执行成功时返回NATIVE_ERROR_OK。\n
484+ * image是空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。
李珍
李珍2025年12月1日评论:
改动建议
484
- * image是空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。
484
+ * image为空指针时,返回NATIVE_ERROR_INVALID_ARGUMENTS。
应用建议
likedislike
System
系统消息系统
2025年12月1日 评论:

changed this line on cb989d1d view diff detail

李珍
李珍2025年12月1日进行代码检视2
zh-cn/native_sdk/graphic/graphic_2d/native_window/external_window.h
已过期
@@ -912,2 +912,3 @@
912912 * @param buffer 一个指向OHNativeWindowBuffer的二级指针。
913- * @return 返回值为0表示执行成功,其他返回值可参考{@link OHNativeErrorCode}。
913+ * @return 执行成功时返回SURFACE_ERROR_OK。\n
914+ * window是空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。\n
李珍
李珍2025年12月1日评论:
改动建议
914
- * window是空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。\n
914
+ * window或buffer为空指针时,返回NATIVE_ERROR_INVALID_ARGUMENTS。\n
应用建议
likedislike
System
系统消息系统
2025年12月1日 评论:

changed this line on cb989d1d view diff detail

李珍
李珍2025年12月1日进行代码检视2
zh-cn/native_sdk/graphic/graphic_2d/native_window/external_window.h
已过期
@@ -925,2 +927,4 @@
925927 * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
926928 * @param window 一个指向OHNativeWindow的结构体实例的指针。
929+ * @return 执行成功时返回SURFACE_ERROR_OK。\n
930+ * window是空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。\n
李珍
李珍2025年12月1日评论:
改动建议
930
- * window是空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。\n
930
+ * window为空指针时,返回NATIVE_ERROR_INVALID_ARGUMENTS。\n
应用建议
likedislike
System
系统消息系统
2025年12月1日 评论:

changed this line on cb989d1d view diff detail

李珍
李珍2025年12月1日进行代码检视2
zh-cn/native_sdk/graphic/graphic_2d/native_image/native_image.h
已过期
@@ -466,0 +466,4 @@
466+ * 本接口为非线程安全类型接口。
467+ *
468+ * @syscap SystemCapability.Graphic.Graphic2D.NativeImage
469+ * @param image 指向{@link OH_NativeImage}实例的指针。
李珍
李珍2025年12月1日评论:

另外一个参数呢bool* isReleased怎么没写

likedislike
System
系统消息系统
2025年12月3日 评论:

changed this line on 6ab2f779 view diff detail

Ddingpy
2025年12月1日 强制推送  1 个提交:cb989d1d-修改错误码说明
openharmony_ci
openharmony_ci成员
2025年12月1日 评论:

感谢提交 Pull Requests!
Thanks for submitting a pull request.

likedislike
李珍
李珍2025年12月1日进行代码检视2
zh-cn/native_sdk/graphic/graphic_2d/native_window/external_window.h
已过期
@@ -912,2 +912,3 @@
912912 * @param buffer 一个指向OHNativeWindowBuffer的二级指针。
913- * @return 返回值为0表示执行成功,其他返回值可参考{@link OHNativeErrorCode}。
913+ * @return 执行成功时返回SURFACE_ERROR_OK。\n
914+ * window为空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。\n
李珍
李珍2025年12月1日评论:

image.png

这不是或者buffer,为啥中文没有buffer

likedislike
System
系统消息系统
2025年12月1日 评论:

changed this line on 0b336a67 view diff detail

李珍
李珍2025年12月1日进行代码检视2
zh-cn/native_sdk/graphic/graphic_2d/native_image/native_image.h
已过期
@@ -466,0 +467,4 @@
467+ *
468+ * @syscap SystemCapability.Graphic.Graphic2D.NativeImage
469+ * @param image 指向{@link OH_NativeImage}实例的指针。
470+ * @param isReleased 纹理是否已释放。true表示设置纹理已释放,false表示纹理未释放。
李珍
李珍2025年12月1日评论:
改动建议
470
- * @param isReleased 纹理是否已释放。true表示设置纹理已释放,false表示纹理未释放。
470
+ * @param isReleased 纹理是否已释放。true表示纹理已释放,false表示纹理未释放。
应用建议
likedislike
System
系统消息系统
2025年12月1日 评论:

changed this line on 0b336a67 view diff detail

Ddingpy
2025年12月1日 强制推送  1 个提交:0b336a67-修改错误码说明
openharmony_ci
openharmony_ci成员
2025年12月1日 评论:

感谢提交 Pull Requests!
Thanks for submitting a pull request.

likedislike
葛亚芳
葛亚芳2025年12月3日进行代码检视2
zh-cn/native_sdk/graphic/graphic_2d/native_image/native_image.h
已过期
@@ -466,0 +467,4 @@
467+ *
468+ * @syscap SystemCapability.Graphic.Graphic2D.NativeImage
469+ * @param image 指向{@link OH_NativeImage}实例的指针。
470+ * @param isReleased 纹理是否已释放。true表示纹理已释放,false表示纹理未释放。
葛亚芳
葛亚芳2025年12月3日评论:

作为出参使用要明确,后续提交都注意这点

likedislike
System
系统消息系统
2025年12月3日 评论:

changed this line on 6ab2f779 view diff detail

葛亚芳
葛亚芳2025年12月3日进行代码检视2
zh-cn/native_sdk/graphic/graphic_2d/native_image/native_image.h
已过期
@@ -462,1 +462,4 @@
462462 OHNativeWindowBuffer** nativeWindowBuffer, int* fenceFd);
463+ 
464+/**
465+ * @brief 查询与<b>OH_NativeImage</b>关联的纹理是否已释放。\n
葛亚芳
葛亚芳2025年12月3日评论:

这些加粗都去掉吧,没必要,还容易在生成C API时导致显示异常

likedislike
System
系统消息系统
2025年12月3日 评论:

changed this line on 6ab2f779 view diff detail

葛亚芳
葛亚芳2025年12月3日进行代码检视2
zh-cn/native_sdk/graphic/graphic_2d/native_image/native_image.h
已过期
@@ -466,0 +476,4 @@
476+int32_t OH_NativeImage_IsReleased(OH_NativeImage* image, bool* isReleased);
477+ 
478+/**
479+ * @brief 清除所有<b>OHNativeWindow</b>的<b>OHNativeWindowBuffer</b>缓存,并将<b>OH_NativeImage</b>从OpenGL ES上下文中分离。\n
葛亚芳
葛亚芳2025年12月3日评论:

加粗都去掉

likedislike
System
系统消息系统
2025年12月3日 评论:

changed this line on 6ab2f779 view diff detail

葛亚芳
葛亚芳2025年12月3日进行代码检视2
zh-cn/native_sdk/graphic/graphic_2d/native_window/external_window.h
@@ -910,7 +910,9 @@ int32_t OH_NativeWindow_PreAllocBuffers(OHNativeWindow *window, uint32_t allocBu
910910 * @param window 一个指向OHNativeWindow的结构体实例的指针。
911911 * @param region 一个Region结构体,表示一块脏区域,该区域有内容更新。
912912 * @param buffer 一个指向OHNativeWindowBuffer的二级指针。
913- * @return 返回值为0表示执行成功,其他返回值可参考{@link OHNativeErrorCode}。
913+ * @return 执行成功时返回SURFACE_ERROR_OK。\n
914+ * window或buffer为空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。\n
915+ * window的surface成员为空指针时返回SURFACE_ERROR_ERROR。
914916 * @since 23
915917 * @version 1.0
916918 */
@@ -924,6 +926,9 @@ int32_t OH_NativeWindow_LockBuffer(OHNativeWindow* window, Region region, OHNati
924926 *
925927 * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
926928 * @param window 一个指向OHNativeWindow的结构体实例的指针。
929+ * @return 执行成功时返回SURFACE_ERROR_OK。\n
葛亚芳
葛亚芳2025年12月3日评论:

梳理一下,哪些是需求哪些是优化?
优化的请先同步修改下DOCS仓,涉及weekly_20251117、weekly_20250915和6.0Release分支

likedislike
dingpy
2025年12月3日 评论:

都是23版本的需求

Ddingpy
2025年12月3日 强制推送  1 个提交:6ab2f779-修改错误码说明
openharmony_ci
openharmony_ci成员
2025年12月3日 评论:

感谢提交 Pull Requests!
Thanks for submitting a pull request.

likedislike
Ddingpy
2025年12月3日 关联了issue:[新需求]: NativeImage新增接口
dingpy
2025年12月3日 评论:

start build

likedislike
openharmony_ci
openharmony_ci成员
2025年12月3日 评论:

首次触发
门禁构建开始,包含静态检查,预计在60分钟内完成,门禁结果会同步发送到注册邮箱。您可以通过如下链接跟踪门禁进展:http://dcp.openharmony.cn/workbench/cicd/detail/692f9a7664650f998bb1fa00/runlist

likedislike
openharmony_ciopenharmony_ci成员
2025年12月3日 添加了label:静态检查失败
openharmony_ci
openharmony_ci成员
2025年12月3日 评论:

代码门禁未通过
您可以通过如下链接查看门禁报告:http://dcp.openharmony.cn/workbench/cicd/detail/692f9a7664650f998bb1fa00/runlist

静态检查:

# check type result report
1 codeCheck noPass >>>

likedislike
时睿时睿成员
2025年12月4日 通过审查
dingpy
2025年12月4日 评论:

start build

likedislike
openharmony_ciopenharmony_ci成员
2025年12月4日 删除了label:静态检查失败
openharmony_ci
openharmony_ci成员
2025年12月4日 评论:

本地或库上代码有更新,全量重新构建,重置所有关联PR的验证状态
门禁构建开始,包含静态检查,预计在60分钟内完成,门禁结果会同步发送到注册邮箱。您可以通过如下链接跟踪门禁进展:http://dcp.openharmony.cn/workbench/cicd/detail/6931270664650f998b8825c3/runlist

likedislike
openharmony_ciopenharmony_ci成员
2025年12月4日 添加了label:静态检查成功
openharmony_ciopenharmony_ci成员
2025年12月4日 通过测试
openharmony_ci
openharmony_ci成员
2025年12月4日 评论:

代码门禁通过
您可以通过如下链接查看门禁报告:http://dcp.openharmony.cn/workbench/cicd/detail/6931270664650f998b8825c3/runlist

静态检查:

# check type result report
1 codeCheck pass >>>

likedislike
openharmony_ciopenharmony_ci成员
2025年12月4日 关闭了关联的issue
openharmony_ciopenharmony_ci成员
2025年12月4日 合入了pull request,合并节点 SHA:0aa012daeaa20d358e3f37876c26695834184159