Foxit PDF SDK

Public 成员函数 | 所有成员列表
IFX_MemoryStream类 参考abstract
FXCRT

内存流接口。 更多...

类 IFX_MemoryStream 继承关系图:

## 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_FileStream * | Retain ()=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表示当前模式是非连续模式。