Foxit PDF SDK

Public 成员函数 | Protected 成员函数 | 所有成员列表
CFX_CachedFileRead类 参考
FXCRT

缓存文件读取接口。 更多...

类 CFX_CachedFileRead 继承关系图:

## Public 成员函数
| CFX_CachedFileRead ()
| 构造函数。
virtual | ~CFX_CachedFileRead ()
| 析构函数。
FX_BOOL | AttachFile (IFX_FileRead *pFile, FX_BOOL bTakeOver)
| 附加文件读取。 更多...
virtual FX_INT64 | GetPosition ()
| 获取流中当前的读取位置。 更多...
virtual FX_INT64 | GetSize ()
| 获取文件的总大小 更多...
FX_BOOL | Init (FX_INT32 nChunkSize, FX_INT32 nChunkCount, FX_LPVOID pBuffer, IFX_Allocator *pAllocator=0)
| 初始化分块大小和分块数量。 更多...
virtual FX_BOOL | IsEOF ()
| 确定是否到达流的末尾。 更多...
FX_BOOL | PreCache (FX_INT64 offset, FX_INT32 nCacheCount)
| 预缓存。 更多...
virtual FX_BOOL | ReadBlock (void *buffer, FX_INT64 offset, size_t size)
| 从文件中读取数据块 更多...
virtual size_t | ReadBlock (void *buffer, size_t size)
| 从流中读取数据块。 更多...
Public 成员函数 继承自 IFX_FileStream
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)
| 设置访问范围。 更多...

## Protected 成员函数
virtual FX_BOOL | Flush ()
| 刷新内部缓冲区。读取模式不支持，直接返回false。
virtual void | Release ()
| 销毁当前实例。 更多...
virtual IFX_FileStream * | Retain ()
| 创建共享实例。 更多...
virtual FX_BOOL | WriteBlock (const void *buffer, FX_INT64 offset, size_t size)
| 将数据块写入流中。读取模式不支持，直接返回false。

## 详细描述

缓存文件读取接口。

## 成员函数说明

## ◆ AttachFile()

FX_BOOL CFX_CachedFileRead::AttachFile | ( | IFX_FileRead * | pFile,
|  | FX_BOOL | bTakeOver
| ) |  |

附加文件读取。

参数

  [in] | pFile | 要附加的文件。
  [in] | bTakeOver | 是否接管文件。

返回
  true表示成功，false表示失败。

## ◆ GetPosition()

virtual FX_INT64 CFX_CachedFileRead::GetPosition | ( |  | ) |
| virtual

获取流中当前的读取位置。

返回
  流中当前的读取位置。

实现了 IFX_FileStream.

## ◆ GetSize()

virtual FX_INT64 CFX_CachedFileRead::GetSize | ( |  | ) |
| virtual

获取文件的总大小

返回
  文件大小，以字节为单位。实现可以在任何错误时返回0。

实现了 IFX_FileStream.

## ◆ Init()

FX_BOOL CFX_CachedFileRead::Init | ( | FX_INT32 | nChunkSize,
|  | FX_INT32 | nChunkCount,
|  | FX_LPVOID | pBuffer,
|  | IFX_Allocator * | pAllocator = `0`
| ) |  |

初始化分块大小和分块数量。

参数

  [in] | nChunkSize | 每个分块的大小。
  [in] | nChunkCount | 分块的总数量。
  [in] | pBuffer | 外部缓冲区。NULL表示禁用缓存。
  [in] | pAllocator | 此类中使用的分配器。NULL表示使用默认分配器。 默认值：NULL。

返回
  true表示成功，false表示失败。

## ◆ IsEOF()

virtual FX_BOOL CFX_CachedFileRead::IsEOF | ( |  | ) |
| virtual

确定是否到达流的末尾。

返回
  true表示到达流的末尾，false表示还没有到达。

实现了 IFX_FileStream.

## ◆ PreCache()

FX_BOOL CFX_CachedFileRead::PreCache | ( | FX_INT64 | offset,
|  | FX_INT32 | nCacheCount
| ) |  |

预缓存。

参数

  [in] | offset | 偏移量。
  [in] | nCacheCount | 缓存数量。

返回
  true表示成功，false表示失败。

## ◆ ReadBlock() [1/2]

virtual FX_BOOL CFX_CachedFileRead::ReadBlock | ( | void * | buffer,
|  | FX_INT64 | offset,
|  | size_t | size
| ) |  |
| virtual

从文件中读取数据块

参数

  [in,out] | buffer | 指向接收读取数据的缓冲区的指针
  [in] | offset | 从文件开头的字节偏移量
  [in] | size | 块的字节数。

返回
  true表示成功，false表示失败。

实现了 IFX_FileStream.

## ◆ ReadBlock() [2/2]

virtual size_t CFX_CachedFileRead::ReadBlock | ( | void * | buffer,
|  | size_t | size
| ) |  |
| virtual

从流中读取数据块。

参数

  [in,out] | buffer | 用于存储数据的缓冲区。
  [in] | size | 缓冲区的总大小，以字节为单位。

返回
  存储在缓冲区中的数据长度。0表示出错或没有数据。

实现了 IFX_FileStream.

## ◆ Release()

virtual void CFX_CachedFileRead::Release | ( |  | ) |
| protected virtual

销毁当前实例。

返回
  无。

实现了 IFX_FileStream.

## ◆ Retain()

virtual IFX_FileStream* CFX_CachedFileRead::Retain | ( |  | ) |
| protected virtual

创建共享实例。

返回
  文件流接口。

实现了 IFX_FileStream.