Foxit PDF SDK
CFX_PrivateData类 参考

Public 成员函数

 CFX_PrivateData (IFX_Allocator *pAllocator=0)
 使用分配器进行构造。 更多...
 
 ~CFX_PrivateData ()
 析构函数。
 
void ClearAll ()
 释放所有剩余数据。 更多...
 
FX_LPVOID GetPrivateData (FX_LPVOID module_id)
 获取之前存储的私有数据。未存储则返回NULL。 更多...
 
FX_BOOL LookupPrivateData (FX_LPVOID module_id, FX_LPVOID &pData) const
 查找私有数据。 更多...
 
FX_BOOL RemovePrivateData (FX_LPVOID module_id)
 移除之前存储的私有数据。FPDFAPI假定模块已释放数据, 因此不会调用释放数据回调。 更多...
 
void SetPrivateData (FX_LPVOID module_id, FX_LPVOID pData, PD_CALLBACK_FREEDATA callback)
 设置私有数据。 更多...
 
void SetPrivateObj (FX_LPVOID module_id, CFX_DestructObject *pObj)
 设置私有对象。 更多...
 

详细描述

表示私有数据存储的类。

构造及析构函数说明

◆ CFX_PrivateData()

CFX_PrivateData::CFX_PrivateData ( IFX_Allocator pAllocator = 0)
inline

使用分配器进行构造。

参数
[in]pAllocator分配器。默认值:NULL

成员函数说明

◆ ClearAll()

void CFX_PrivateData::ClearAll ( )

释放所有剩余数据。

返回
无。

◆ GetPrivateData()

FX_LPVOID CFX_PrivateData::GetPrivateData ( FX_LPVOID  module_id)

获取之前存储的私有数据。未存储则返回NULL。

此函数适用于通过函数CFX_PrivateData::SetPrivateData CFX_PrivateData::SetPrivateObj设置的私有数据。

参数
[in]module_id模块id。
返回
由提供的模块id标识的私有数据。

◆ LookupPrivateData()

FX_BOOL CFX_PrivateData::LookupPrivateData ( FX_LPVOID  module_id,
FX_LPVOID pData 
) const
inline

查找私有数据。

参数
[in]module_id模块id。
[out]pData私有数据。
返回
true表示私有数据存在,false表示未找到。

◆ RemovePrivateData()

FX_BOOL CFX_PrivateData::RemovePrivateData ( FX_LPVOID  module_id)

移除之前存储的私有数据。FPDFAPI假定模块已释放数据, 因此不会调用释放数据回调。

参数
[in]module_id模块id。
返回
true表示私有数据存在并已成功移除, false表示未找到。

◆ SetPrivateData()

void CFX_PrivateData::SetPrivateData ( FX_LPVOID  module_id,
FX_LPVOID  pData,
PD_CALLBACK_FREEDATA  callback 
)

设置私有数据。

如果数据指向一个将属于附加对象的对象(这意味着 当附加对象被销毁时,私有数据也应该被销毁),则调用者 必须提供释放数据的回调。 如果私有数据只是一个数字或某个外部指针,则回调可以为NULL。 此函数将释放之前存储的相同模块ID的任何数据。调用者不能 设置相同的数据两次(这将导致崩溃)。

参数
[in]module_id模块id。
[in]pData私有数据。
[in]callback用于释放提供的私有数据的回调函数。
返回
无。

◆ SetPrivateObj()

void CFX_PrivateData::SetPrivateObj ( FX_LPVOID  module_id,
CFX_DestructObject *  pObj 
)

设置私有对象。

私有对象将成为附加对象的一部分,所以当附加对象被销毁时, 私有对象也将被销毁。此函数将释放之前存储的 相同模块ID的任何数据。调用者不能设置相同的对象两次(这将导致崩溃)。

参数
[in]module_id模块id。
[in]pObj实际上是CFX_DestructObject派生对象的私有数据。
返回
无。