diff --git a/graphic/graphic_2d/native_window/external_window.h b/graphic/graphic_2d/native_window/external_window.h
index 69c933c99ff13602da37c580d1b653766600b49c..88b3e056b90134da427413844224809fc0a1ff0f 100644
--- a/graphic/graphic_2d/native_window/external_window.h
+++ b/graphic/graphic_2d/native_window/external_window.h
@@ -496,6 +496,29 @@ int32_t OH_NativeWindow_NativeWindowSetMetaDataSet(OHNativeWindow *window, uint3
*/
int32_t OH_NativeWindow_NativeWindowSetTunnelHandle(OHNativeWindow *window, const OHExtDataHandle *handle);
+/**
+ * @brief Get surfaceId from native window.
+ *
+ * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
+ * @param window Indicates the pointer to an OHNativeWindow instance.
+ * @param surfaceId Indicates the pointer to a surfaceId.
+ * @return Returns an error code, 0 is success, otherwise, failed.
+ * @since 12
+ * @version 1.0
+ */
+int32_t OH_NativeWindow_GetSurfaceId(OHNativeWindow *window, uint64_t *surfaceId);
+
+/**
+ * @brief Creates an OHNativeWindow instance.\n
+ *
+ * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
+ * @param surfaceId Indicates the surfaceId to a surface.
+ * @param window indicates the pointer to an OHNativeWindow instance.
+ * @return Returns an error code, 0 is Success, otherwise, failed.
+ * @since 12
+ * @version 1.0
+ */
+int32_t OH_NativeWindow_CreateNativeWindowFromSurfaceId(uint64_t surfaceId, OHNativeWindow **window);
#ifdef __cplusplus
}
#endif
diff --git a/graphic/graphic_2d/native_window/libnative_window.ndk.json b/graphic/graphic_2d/native_window/libnative_window.ndk.json
index 12184c91d51dba75a7b1187f51e38fc13a7bcc98..58725d5505cb6ec1c371fb4fc5eb74298b254884 100644
--- a/graphic/graphic_2d/native_window/libnative_window.ndk.json
+++ b/graphic/graphic_2d/native_window/libnative_window.ndk.json
@@ -16,5 +16,7 @@
{ "name": "OH_NativeWindow_NativeWindowSetScalingMode" },
{ "name": "OH_NativeWindow_NativeWindowSetMetaData" },
{ "name": "OH_NativeWindow_NativeWindowSetMetaDataSet" },
- { "name": "OH_NativeWindow_NativeWindowSetTunnelHandle" }
+ { "name": "OH_NativeWindow_NativeWindowSetTunnelHandle" },
+ { "name": "OH_NativeWindow_GetSurfaceId"},
+ { "name": "OH_NativeWindow_CreateNativeWindowFromSurfaceId"}
]
\ No newline at end of file