napi_create_arraybuffer


napi_status napi_create_arraybuffer(napi_env env,
                                    size_t byte_length,
                                    void** data,
                                    napi_value* result) 
  • [in] env:调用该 API 时所处的环境。
  • [in] length:要创建的数组缓冲区的字节长度。
  • [out] data:指向 ArrayBuffer 的底层字节缓冲区的指针。可以通过传递 NULL 来选择性地忽略 data
  • [out] result:一个 napi_value,表示 JavaScript 的 ArrayBuffer

如果 API 成功,则返回 napi_ok

【Returns napi_ok if the API succeeded.】

此 API 返回一个对应于 JavaScript ArrayBuffer 的 Node-API 值。ArrayBuffer 用于表示固定长度的二进制数据缓冲区。它们通常用作 TypedArray 对象的后备缓冲区。分配的 ArrayBuffer 将具有一个底层字节缓冲区,其大小由传入的 length 参数决定。如果调用者希望直接操作缓冲区,该底层缓冲区可以选择性地返回给调用者。该缓冲区只能从本地代码直接写入。要从 JavaScript 写入此缓冲区,需要创建一个类型化数组或 DataView 对象。

【This API returns a Node-API value corresponding to a JavaScript ArrayBuffer. ArrayBuffers are used to represent fixed-length binary data buffers. They are normally used as a backing-buffer for TypedArray objects. The ArrayBuffer allocated will have an underlying byte buffer whose size is determined by the length parameter that's passed in. The underlying buffer is optionally returned back to the caller in case the caller wants to directly manipulate the buffer. This buffer can only be written to directly from native code. To write to this buffer from JavaScript, a typed array or DataView object would need to be created.】

JavaScript ArrayBuffer 对象在 ECMAScript 语言规范的 ArrayBuffer 对象部分 中有描述。

【JavaScript ArrayBuffer objects are described in Section ArrayBuffer objects of the ECMAScript Language Specification.】