ArrayBuffer
Napi::ArrayBuffer类继承自Napi::Object类。
Napi::ArrayBuffer类对应于 JavaScript 中的ArrayBuffer类。
方法
New
分配一个具有指定长度的新Napi::ArrayBuffer实例。
static Napi::ArrayBuffer Napi::ArrayBuffer::New(napi_env env, size_t byteLength);[in] env:用于创建Napi::ArrayBuffer实例的环境。[in] byteLength:要分配的长度(以字节为单位)。
返回一个新的Napi::ArrayBuffer实例。
New
当定义了
NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED时,此方法不可用。更多信息参见 [External Buffer][]。
将提供的外部数据包装到新的Napi::ArrayBuffer实例中。
Napi::ArrayBuffer实例不拥有数据的所有权,并且要求数据在实例的生命周期内保持有效。由于Napi::ArrayBuffer会受到垃圾回收的影响,此重载版本仅适用于静态且永远不需要释放的数据。当Napi::ArrayBuffer被垃圾回收时,此工厂方法不会为调用者提供释放数据的机会。如果需要释放Napi::ArrayBuffer对象所保留的数据,请使用Napi::ArrayBuffer::New工厂方法的其他变体,这些变体接受Napi::Finalizer(一个在Napi::ArrayBuffer对象被销毁时会被调用的函数)。更多细节参见 [Finalization][]。
static Napi::ArrayBuffer Napi::ArrayBuffer::New(napi_env env, void* externalData, size_t byteLength);[in] env:用于创建Napi::ArrayBuffer实例的环境。[in] externalData:要包装的外部数据的指针。[in] byteLength:externalData的长度(以字节为单位)。
返回一个新的Napi::ArrayBuffer实例。
New
当定义了
NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED时,此方法不可用。更多信息参见 [External Buffer][]。
将提供的外部数据包装到新的Napi::ArrayBuffer实例中。
Napi::ArrayBuffer实例不拥有数据的所有权,并且要求数据在实例的生命周期内保持有效。只有当finalizeCallback被调用以表明Napi::ArrayBuffer已被释放时,数据才能被释放。
template <typename Finalizer> static Napi::ArrayBuffer Napi::ArrayBuffer::New(napi_env env, void* externalData, size_t byteLength, Finalizer finalizeCallback);[in] env:用于创建Napi::ArrayBuffer实例的环境。[in] externalData:要包装的外部数据的指针。[in] byteLength:externalData的长度(以字节为单位)。[in] finalizeCallback:当引擎销毁Napi::ArrayBuffer对象时调用的函数,实现operator()(Napi::BasicEnv, void*)。更多细节参见 [Finalization][]。
返回一个新的Napi::ArrayBuffer实例。
New
当定义了
NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED时,此方法不可用。更多信息参见 [External Buffer][]。
将提供的外部数据包装到新的Napi::ArrayBuffer实例中。
Napi::ArrayBuffer实例不拥有数据的所有权,并且要求数据在实例的生命周期内保持有效。只有当finalizeCallback被调用以表明Napi::ArrayBuffer已被释放时,数据才能被释放。
template <typename Finalizer, typename Hint> static Napi::ArrayBuffer Napi::ArrayBuffer::New(napi_env env, void* externalData, size_t byteLength, Finalizer finalizeCallback, Hint* finalizeHint);[in] env:用于创建Napi::ArrayBuffer实例的环境。[in] externalData:要包装的外部数据的指针。[in] byteLength:externalData的长度(以字节为单位)。[in] finalizeCallback:当引擎销毁Napi::ArrayBuffer对象时调用的函数,实现operator()(Napi::BasicEnv, void*, Hint*)。更多细节参见 [Finalization][]。[in] finalizeHint:传递给finalizeCallback函数的提示值。
返回一个新的Napi::ArrayBuffer实例。
构造函数
初始化Napi::ArrayBuffer类的空实例。
Napi::ArrayBuffer::ArrayBuffer();构造函数
初始化现有Napi::ArrayBuffer对象的包装实例。
Napi::ArrayBuffer::ArrayBuffer(napi_env env, napi_value value);[in] env:用于创建Napi::ArrayBuffer实例的环境。[in] value:要包装的Napi::ArrayBuffer引用。
ByteLength
size_t Napi::ArrayBuffer::ByteLength() const;返回包装数据的长度(以字节为单位)。
Data
void* Napi::ArrayBuffer::Data() const;返回指向包装数据的指针。
Detach
void Napi::ArrayBuffer::Detach();对可分离的ArrayBuffer执行ArrayBuffer分离操作。
IsDetached
bool Napi::ArrayBuffer::IsDetached() const;如果此ArrayBuffer已被分离,则返回true。