Foxit PDF SDK
IFX_MemoryStream类 参考abstract

内存流接口。 更多...

类 IFX_MemoryStream 继承关系图:
IFX_FileStream IFX_FileRead IFX_FileWrite IFX_StreamRead IFX_StreamWrite

Public 成员函数

virtual void AttachBuffer (FX_LPBYTE pBuffer, size_t nSize, FX_BOOL bTakeOver=false)=0
 附加内存缓冲区。 更多...
 
virtual void DetachBuffer ()=0
 分离当前内存缓冲区。 更多...
 
virtual void EstimateSize (size_t nInitSize, size_t nGrowSize)=0
 更改初始大小和增长大小。 更多...
 
virtual FX_LPBYTE GetBuffer () const =0
 获取当前内存缓冲区。 更多...
 
virtual FX_BOOL IsConsecutive () const =0
 确定当前模式是否为连续模式。 更多...
 
- Public 成员函数 继承自 IFX_FileStream
virtual FX_BOOL Flush ()=0
 刷新内部缓冲区。 更多...
 
virtual FX_INT64 GetPosition ()=0
 获取流中当前的读取位置。 更多...
 
virtual FX_INT64 GetSize ()=0
 获取当前流的大小,以字节为单位。 更多...
 
virtual FX_BOOL IsEOF ()=0
 确定是否到达流的末尾。 更多...
 
virtual FX_BOOL ReadBlock (void *buffer, FX_INT64 offset, size_t size)=0
 从流中读取数据块。 更多...
 
virtual size_t ReadBlock (void *buffer, size_t size)=0
 从流中读取数据块。 更多...
 
virtual void Release ()=0
 销毁当前实例。 更多...
 
virtual IFX_FileStreamRetain ()=0
 创建共享实例。 更多...
 
virtual FX_BOOL WriteBlock (const void *buffer, FX_INT64 offset, size_t size)=0
 将数据块写入流中。 更多...
 
virtual FX_BOOL WriteBlock (const void *buffer, size_t size)
 将数据块写入当前流的末尾。 更多...
 
- Public 成员函数 继承自 IFX_FileRead
virtual void ClearRange ()
 清除由函数 IFX_FileRead::SetRange 设置的访问范围。 更多...
 
virtual FX_INT64 SetPosition (FX_INT64 pos)
 设置当前文件访问位置。 更多...
 
virtual FX_BOOL SetRange (FX_INT64 offset, FX_INT64 size)
 设置访问范围。 更多...
 

详细描述

内存流接口。

成员函数说明

◆ AttachBuffer()

virtual void IFX_MemoryStream::AttachBuffer ( FX_LPBYTE  pBuffer,
size_t  nSize,
FX_BOOL  bTakeOver = false 
)
pure virtual

附加内存缓冲区。

参数
[in]pBuffer要附加的内存缓冲区。
[in]nSize缓冲区大小,以字节为单位。
[in]bTakeOver指示当内存流将被释放时是否需要释放附加的内存缓冲区(pBuffer)。 默认值:false
返回
无。
注解
此方法将让内存流在连续模式下工作,即只存在一个块, 如果需要,向其中写入数据时它将被扩展。如果内存流在非连续模式下工作, 此方法没有意义。

◆ DetachBuffer()

virtual void IFX_MemoryStream::DetachBuffer ( )
pure virtual

分离当前内存缓冲区。

返回
无。
注解
如果内存流在非连续模式下工作,此方法没有意义。

◆ EstimateSize()

virtual void IFX_MemoryStream::EstimateSize ( size_t  nInitSize,
size_t  nGrowSize 
)
pure virtual

更改初始大小和增长大小。

参数
[in]nInitSize内存块的初始大小。
[in]nGrowSize写入数据时下次更改的增长大小。
返回
无。
注解
对于连续模式,如果参数nInitSize大于当前大小, 块内存将被重新分配;参数nGrowSize将在下次重新分配内存时使用。 对于非连续模式,参数nGrowSize将用于分配每个内存块, 此方法应首先调用;参数nInitSize将被忽略。

◆ GetBuffer()

virtual FX_LPBYTE IFX_MemoryStream::GetBuffer ( ) const
pure virtual

获取当前内存缓冲区。

返回
当前内存缓冲区。
注解
如果当前内存流在非连续模式下工作(有多个内存块), 只返回第一个块。

◆ IsConsecutive()

virtual FX_BOOL IFX_MemoryStream::IsConsecutive ( ) const
pure virtual

确定当前模式是否为连续模式。

返回
true表示当前模式是连续模式,false表示当前模式是非连续模式。