node_api_create_external_string_utf16


napi_status
node_api_create_external_string_utf16(napi_env env,
                                      char16_t* str,
                                      size_t length,
                                      napi_finalize finalize_callback,
                                      void* finalize_hint,
                                      napi_value* result,
                                      bool* copied); 
  • [in] env:调用该 API 时所处的环境。
  • [in] str:表示 UTF16-LE 编码字符串的字符缓冲区。
  • [in] length:字符串的长度,单位为双字节编码单元;如果是以 null 结尾,则为 NAPI_AUTO_LENGTH
  • [in] finalize_callback:在字符串被回收时调用的函数。该函数将使用以下参数被调用:
    • [in] env:插件运行的环境。如果该字符串是在工作线程或主 Node.js 实例终止时收集的,则该值可能为 null。
    • [in] data:这是作为 void* 指针的 str 值。
    • [in] finalize_hint:这是传递给 API 的 finalize_hint 值。napi_finalize 提供了更多详细信息。该参数是可选的。传递空值表示当对应的 JavaScript 字符串被回收时,不需要通知该插件。
  • [in] finalize_hint:在收集期间传递给 finalize 回调的可选提示。
  • [out] result:一个表示 JavaScript stringnapi_value
  • [out] copied:字符串是否被复制。如果被复制,终结器将已经被调用来销毁 str

如果 API 成功,则返回 napi_ok

【Returns napi_ok if the API succeeded.】

这个 API 会从 UTF16-LE 编码的 C 字符串创建一个 JavaScript string 值。原生字符串可能不会被复制,因此必须在 JavaScript 值的整个生命周期内存在。

【This API creates a JavaScript string value from a UTF16-LE-encoded C string. The native string may not be copied and must thus exist for the entire life cycle of the JavaScript value.】

JavaScript 的 string 类型在 ECMAScript 语言规范的 段字符串类型 中有描述。

【The JavaScript string type is described in Section string type of the ECMAScript Language Specification.】