Foxit PDF SDK

类 | 宏定义 | 类型定义 | 枚举 | 函数
FXCRT

## 类
struct | FX_HFILE
| 文件访问句柄。 更多...
struct | FX_HTHREAD
| 互斥句柄的类型定义。 更多...
struct | FXMEM_FoxitMgr
| Foxit内存管理器。 更多...
class | CFX_ArchiveLoader
class | CFX_ArchiveSaver
class | CFX_ArrayTemplate< TYPE >
class | CFX_ATemplate< baseType >
class | CFX_AutoRestorer< T >
class | CFX_BaseSegmentedArray
class | CFX_BasicArray
class | CFX_BinaryBuf
| 为更高效追加而设计的动态二进制缓冲区。 更多...
class | CFX_BitStream
class | CFX_BitWriter
class | CFX_ByteString
| 字节字符串类 更多...
class | CFX_ByteStringC
| 常量字节字符串类 更多...
class | CFX_ByteTextBuf
class | CFX_CachedFileRead
| 缓存文件读取接口。 更多...
struct | CFX_CharMap
class | CFX_CMapByteStringToPtr
class | CFX_CMapDWordToDWord
class | CFX_CountRef< ObjClass >
class | CFX_DataFilter
class | CFX_ETemplate< baseType >
class | CFX_ExceptionErrorContext
class | CFX_FileBufferArchive
class | CFX_FixedBufGrow< DataType, FixedSize >
class | CFX_FloatRect
class | CFX_JmpStack
class | CFX_ListArrayTemplate< T1, T2 >
class | CFX_MapByteStringToPtr
class | CFX_MapPtrTemplate< KeyType, ValueType >
class | CFX_MapPtrToPtr
class | CFX_Matrix
class | CFX_ObjectArray< ObjectClass >
class | CFX_ObjectStack< TYPE >
class | CFX_PrivateData
class | CFX_PRLTemplate< baseType >
class | CFX_PSVTemplate< BaseType >
class | CFX_PtrList
class | CFX_RRTemplate< baseType >
class | CFX_RTemplate< baseType >
class | CFX_SegmentedArray< ElementType >
class | CFX_SmartPointer< T >
class | CFX_SortListArray< unit >
class | CFX_Stack< TYPE >
class | CFX_Stack< CFX_ByteString >
class | CFX_StringBufBase
| 固定字符串缓冲区，最多容纳特定数量的字符。 更多...
class | CFX_StringBufTemplate< limit >
| 固定字符串缓冲区模板。 更多...
struct | CFX_StringData
| 此类表示字节字符串对象的数据。 更多...
struct | CFX_StringDataW
| 此类表示宽字符串对象的数据。 更多...
class | CFX_TempBuf< DataType >
class | CFX_UTF8Decoder
class | CFX_UTF8Encoder
class | CFX_VTemplate< baseType >
class | CFX_WideString
| 宽字符串类 更多...
class | CFX_WideStringC
| 常量宽字符串类 更多...
class | CFX_WideTextBuf
struct | FX_MEMCONFIG
| 固定内存配置结构。 更多...
struct | FX_PRIVATEDATA
struct | FX_RECT
struct | FX_SMALL_RECT
struct | FX_SYSTEMTIME
| 系统时间结构。 更多...
struct | FXCRT_DATETIMEZONE
| 日期和时间结构。 更多...
struct | FXMEM_Debugger
| 内存调试器接口。所有函数都必须实现。 更多...
struct | FXMEM_SystemMgr
| 系统级内存管理器。应用程序可以实现自己的系统内存管理器。 更多...
struct | FXMEM_SystemMgr2
| 固定内存管理器。 更多...
struct | IFX_Allocator
| Foxit分配器接口。 更多...
class | IFX_BufferArchive
class | IFX_BufferRead
| IFX_BufferRead流提供了读取流数据的优化方法。 通常，一个流维护用于数据访问的内部缓冲区，此缓冲区可以直接提供给调用者， 从而避免数据复制。 更多...
class | IFX_ChunkFileStream
| 基于分块的文件流接口，用于读取和写入。 更多...
class | IFX_FileAccess
| 文件访问接口，用于打开文件。 更多...
class | IFX_FileRead
| 文件读取接口。 更多...
class | IFX_FileStream
| 文件流接口，用于读取和写入。 更多...
class | IFX_FileWrite
| 文件写入接口。 更多...
class | IFX_MemoryStream
| 内存流接口。 更多...
class | IFX_Pause
class | IFX_StreamRead
| 流读取接口。 更多...
class | IFX_StreamWrite
| 流写入接口。 更多...
class | IFX_Unknown

## 宏定义
#define | _FX_LARGEFILE_USED_
| 大文件支持的预处理器。
#define | FX_Alloc(type, size)
| Foxit内存分配操作的宏。
#define | FX_Allocator_Alloc(fxAllocator, type, size) ((fxAllocator) ? (type*)(fxAllocator)->m_Alloc((fxAllocator), (size) * sizeof(type)) : (FX_Alloc(type, size)))
| 在分配器上进行发布模式分配。
#define | FX_Allocator_Free(fxAllocator, ptr) ((fxAllocator) ? (fxAllocator)->m_Free((fxAllocator), (ptr)) : (FX_Free(ptr)))
| 在分配器上释放内存块。
#define | FX_Allocator_Realloc(fxAllocator, type, ptr, new_size) ((fxAllocator) ? (type*)(fxAllocator)->m_Realloc((fxAllocator), (ptr), (new_size) * sizeof(type)) : (FX_Realloc(type, ptr, new_size)))
| 在分配器上进行发布模式重分配。
#define | FX_AllocNL(type, size)
| 带非离开属性的Foxit内存分配操作宏（OOM时返回NULL）。
#define | FX_BSTRC(str) CFX_ByteStringC(str, sizeof str-1)
| 指定字符串常量时，所有应用程序都应使用以下宏。 "str"必须是字符字符串常量。 更多...
#define | FX_FILESIZE FX_INT64
| 直接支持大文件。
#define | FX_FIXEDMEM_MIDBLOCKSIZE (4096)
| 中等数据块大小，4KB。
#define | FX_FIXEDMEM_PAGESIZE (4096 * 16)
| 内存页大小，64KB。
#define | FX_Free(pointer) FXMEM_DefaultFree(pointer, 0)
| Foxit内存释放操作的宏。
#define | FX_IsOdd(a) ((a) & 1)
| 判断整数是奇数还是偶数
#define | FX_Realloc(type, ptr, size)
| Foxit内存重分配操作的宏。
#define | FX_ReallocNL(type, ptr, size)
| 带非离开属性的Foxit内存重分配操作宏（OOM时返回NULL）。
#define | FX_WSTRC(wstr) CFX_WideStringC((FX_LPCWSTR)wstr, sizeof(wstr) / sizeof(FX_WCHAR) - 1)
| 所有应用程序在指定宽字符串常量时都应使用以下宏。 "wstr"必须是宽字符串常量。 更多...
#define | FXMEM_DISCARDABLE 4
| 分配可丢弃内存的标志。
#define | FXMEM_MOVABLE 2
| 分配可移动内存的标志。
#define | FXMEM_NONLEAVE 1
| 内存分配失败时不调用OOM处理程序的标志。
#define | FXSYS_bsearch
| 对排序数组执行二分搜索。通用算法。
#define | FXSYS_Div(a, b) ((a) / (b))
| 两个数相除。
#define | FXSYS_GetACP
| 检索系统的当前ANSI代码页标识符。
#define | FXSYS_GetFullPathName
| 获取指定文件的完整路径和文件名。
#define | FXSYS_GetModuleFileName
| 获取指定模块的完全限定路径。
#define | FXSYS_itoa
| 将整数转换为ANSIC字符串。
#define | FXSYS_Mul(a, b) ((a) * (b))
| 两个数相乘。
#define | FXSYS_MulDiv(a, b, c) ((a) * (b) / (c))
| 先做乘法，再做除法。
#define | FXSYS_MultiByteToWideChar
| 将字符字符串映射为宽字符字符串。
#define | FXSYS_qsort
| 执行快速排序。通用算法。
#define | FXSYS_sqrt2(a, b) (FX_FLOAT)FXSYS_sqrt((a)*(a) + (b)*(b))
| sqrt(a^2 + b^2)。
#define | FXSYS_stricmp
| 比较两个ANSIC字符串，不区分大小写。
#define | FXSYS_strlwr
| 将ANSIC字符串转换为小写。
#define | FXSYS_strtol strtol
| 将字符串转换为长整数。
#define | FXSYS_strupr
| 将ANSIC字符串转换为大写。
#define | FXSYS_wcsicmp
| 比较两个宽字符字符串，不区分大小写。
#define | FXSYS_wcslwr
| 将宽字符字符串转换为小写。
#define | FXSYS_wcsupr
| 将宽字符字符串转换为大写。
#define | FXSYS_WideCharToMultiByte
| 将宽字符字符串映射为字符字符串。
#define | GetFullPathName
| 获取指定文件的完整路径和文件名。GetFullPathNameW为Unicode模式定义， GetFullPathNameA为ANSI模式定义。
#define | GetModuleFileName
| 获取指定模块的完全限定路径。GetModuleFileNameW为Unicode模式定义， GetModuleFileNameA为ANSI模式定义。

## 类型定义
typedef CFX_ATemplate< FX_INT32 > | CFX_Arc
| 整数弧线类的类型定义。
typedef CFX_ATemplate< FX_FLOAT > | CFX_ArcF
| 浮点数弧线类的类型定义。
typedef CFX_ArrayTemplate< FX_BYTE > | CFX_ByteArray
| 字节数组类型的类型定义
typedef CFX_ObjectArray< CFX_ByteString > | CFX_ByteStringArray
| CFX_ByteString数组类型的类型定义。
typedef CFX_ArrayTemplate< FX_DWORD > | CFX_DWordArray
| 双字数组类型的类型定义。
typedef CFX_ListArrayTemplate< CFX_SortListArray< sizeof(FX_DWORD)>, FX_DWORD > | CFX_DWordListArray
| FX_DWORD列表数组的类型定义。
typedef CFX_ETemplate< FX_INT32 > | CFX_Ellipse
| 整数椭圆类的类型定义。
typedef CFX_ETemplate< FX_FLOAT > | CFX_EllipseF
| 浮点数椭圆类的类型定义。
typedef CFX_ArrayTemplate< FX_INT64 > | CFX_FileSizeArray
| 文件大小数组类型的类型定义。
typedef CFX_ListArrayTemplate< CFX_SortListArray< sizeof(FX_INT64)>, FX_INT64 > | CFX_FileSizeListArray
| 文件大小列表数组的类型定义。
typedef CFX_ArrayTemplate< FX_FLOAT > | CFX_FloatArray
| 浮点数组的类型定义。
typedef CFX_ArrayTemplate< FX_INT32 > | CFX_Int32Array
| INT32数组的类型定义。
typedef CFX_PRLTemplate< FX_INT32 > | CFX_Parallelogram
| 整数平行四边形的类型定义。
typedef CFX_PRLTemplate< FX_FLOAT > | CFX_ParallelogramF
| 浮点数平行四边形的类型定义。
typedef CFX_PSVTemplate< FX_INT32 > | CFX_Point
| 整数点类的类型定义。
typedef CFX_PSVTemplate< FX_FLOAT > | CFX_PointF
| 浮点数点类的类型定义。
typedef CFX_ArrayTemplate< CFX_Point > | CFX_Points
| 整数点数组的类型定义。
typedef CFX_ArrayTemplate< CFX_PointF > | CFX_PointsF
| 浮点数点数组的类型定义。
typedef CFX_ArrayTemplate< void * > | CFX_PtrArray
| 无类型指针数组类型的类型定义。
typedef CFX_RTemplate< FX_INT32 > | CFX_Rect
| 整数矩形类的类型定义。
typedef CFX_ArrayTemplate< CFX_FloatRect > | CFX_RectArray
| 矩形数组。
typedef CFX_RTemplate< FX_FLOAT > | CFX_RectF
| 浮点数矩形类的类型定义。
typedef CFX_ArrayTemplate< CFX_RectF > | CFX_RectFArray
| 矩形数组的类型定义。
typedef CFX_RRTemplate< FX_INT32 > | CFX_RoundRect
| 整数圆角矩形类的类型定义。
typedef CFX_RRTemplate< FX_FLOAT > | CFX_RoundRectF
| 浮点数圆角矩形类的类型定义。
typedef CFX_PSVTemplate< FX_INT32 > | CFX_Size
| 整数大小类的类型定义。
typedef CFX_PSVTemplate< FX_FLOAT > | CFX_SizeF
| 浮点数大小类的类型定义。
typedef CFX_StringBufTemplate< 256 > | CFX_StringBuf256
| 固定的256字节字符串缓冲区。
typedef CFX_VTemplate< FX_INT32 > | CFX_Vector
| 整数向量类。
typedef CFX_VTemplate< FX_FLOAT > | CFX_VectorF
| 浮点数向量类。
typedef CFX_ArrayTemplate< FX_WCHAR > | CFX_WCHARArray
| FX_WHAR数组的类型定义。
typedef CFX_ObjectArray< CFX_WideString > | CFX_WideStringArray
| CFX_WideString数组类型的类型定义。
typedef CFX_ArrayTemplate< FX_WORD > | CFX_WordArray
| 字数组类型的类型定义。
typedef void(* | FPDF_OOM_Handler) (FXMEM_FoxitMgr *pFoxitMgr, void *param)
| 内存不足处理程序的原型。 更多...
typedef const CFX_ByteStringC & | FX_BSTR
| 常量CFX_ByteStringC对象的引用。
typedef FX_ThreadResult(WINAPI * | FX_CALLBACK_ThreadProxyProc) (FX_CALLBACK_ThreadProc threadProc, FX_LPVOID param)
| 线程代理过程的回调函数。 更多...
typedef CFX_PSVTemplate< FX_INT32 > const * | FX_LPCPOINT
| 整数点常量指针的类型定义。
typedef CFX_PSVTemplate< FX_FLOAT > const * | FX_LPCPOINTF
| 浮点数点常量指针的类型定义。
typedef CFX_RTemplate< FX_INT32 > const * | FX_LPCRECT
| 整数矩形常量指针的类型定义。
typedef CFX_RTemplate< FX_FLOAT > const * | FX_LPCRECTF
| 浮点数矩形常量指针的类型定义。
typedef CFX_PSVTemplate< FX_INT32 > * | FX_LPPOINT
| 整数点指针的类型定义。
typedef CFX_PSVTemplate< FX_FLOAT > * | FX_LPPOINTF
| 浮点数点指针的类型定义。
typedef CFX_RTemplate< FX_INT32 > * | FX_LPRECT
| 整数矩形指针的类型定义。
typedef CFX_RTemplate< FX_FLOAT > * | FX_LPRECTF
| 浮点数矩形指针的类型定义。
typedef CRITICAL_SECTION | FX_MUTEX
| 互斥锁/临界区和读写锁的定义。
typedef void * | FX_SPINLOCK
| 自旋锁的定义。
typedef int | FX_STRSIZE
| 字符串大小限制为 2^31-1。
typedef const CFX_WideStringC & | FX_WSTR
| 常量CFX_WideStringC对象的引用的类型定义。
typedef void(* | PD_CALLBACK_FREEDATA) (FX_LPVOID pData)

## 枚举
enum | FX_ProgressiveStatus { Ready, ToBeContinued, Found, NotFound, Failed, Done }
| 渐进状态的枚举。 更多...

## 函数
| CFX_ByteStringC::CFX_ByteStringC (const CFX_ByteString &src)
| 从字节字符串构造。 更多...
| CFX_WideStringC::CFX_WideStringC (const CFX_WideString &src)
| 从宽字符串构造。 更多...
FX_FLOAT | FX_atof (FX_BSTR str)
| 将非缓冲字节字符串转换为浮点数。 更多...
void | FX_atonum (FX_BSTR str, FX_BOOL &bInteger, void *pData, int sizeOfData=4)
| 将非缓冲字节字符串转换为数字。 更多...
void | FX_CloseFolder (void *handle)
| 关闭文件夹句柄。 更多...
IFX_FileAccess * | FX_CreateDefaultFileAccess (FX_WSTR wsPath, IFX_Allocator *pAllocator=0)
| 创建基于CRT的文件I/O接口。 更多...
IFX_FileRead * | FX_CreateFileRead (FX_LPCSTR filename, IFX_Allocator *pAllocator=0)
| （仅适用于支持CRT文件访问的平台）创建基于CRT的文件读取接口。 更多...
IFX_FileRead * | FX_CreateFileRead (FX_LPCWSTR filename, IFX_Allocator *pAllocator=0)
| （仅适用于支持CRT文件访问的平台）创建基于CRT的文件读取接口。 更多...
IFX_FileStream * | FX_CreateFileStream (FX_LPCSTR filename, FX_DWORD dwModes, IFX_Allocator *pAllocator=0)
| （仅适用于支持CRT文件访问的平台）创建基于CRT的文件I/O接口。 更多...
IFX_FileStream * | FX_CreateFileStream (FX_LPCWSTR filename, FX_DWORD dwModes, IFX_Allocator *pAllocator=0)
| （仅适用于支持CRT文件访问的平台）创建基于CRT的文件I/O接口。 更多...
IFX_FileWrite * | FX_CreateFileWrite (FX_LPCSTR filename, IFX_Allocator *pAllocator=0)
| （仅适用于支持CRT文件访问（fopen，...）的平台）创建基于CRT的文件写入接口。 更多...
IFX_FileWrite * | FX_CreateFileWrite (FX_LPCWSTR filename, IFX_Allocator *pAllocator=0)
| （仅适用于支持CRT文件访问（fopen，...）的平台）创建基于CRT的文件写入接口。 更多...
FX_BOOL | FX_CreateFolder (FX_LPCSTR path)
| 创建新文件夹。 更多...
FX_BOOL | FX_CreateFolder (FX_LPCWSTR path)
| 创建新文件夹。 更多...
IFX_MemoryStream * | FX_CreateMemoryStream (FX_LPBYTE pBuffer, size_t nSize, FX_BOOL bTakeOver=false, IFX_Allocator *pAllocator=0)
| 通过给定的内存缓冲区创建流对象。此函数创建连续内存流对象。 更多...
IFX_MemoryStream * | FX_CreateMemoryStream (FX_BOOL bConsecutive=false, IFX_Allocator *pAllocator=0)
| 创建内存流对象。内存缓冲区将在内部创建，当需要更多空间时大小会增加。 更多...
CFX_WideString | FX_DecodeURI (const CFX_ByteString &bsURI)
| 简单的URI解码。 更多...
FX_BOOL | FX_DeleteFolder (FX_LPCSTR path)
| 删除文件夹。 更多...
FX_BOOL | FX_DeleteFolder (FX_LPCWSTR path)
| 删除文件夹。 更多...
CFX_ByteString | FX_EncodeURI (const CFX_WideString &wsURI)
| 简单的URI编码。 更多...
void | FX_File_Close (FX_HFILE hFile, IFX_Allocator *pAllocator=0)
| 关闭文件。 更多...
FX_BOOL | FX_File_Copy (FX_BSTR fileNameSrc, FX_BSTR fileNameDst)
| 复制文件。 更多...
FX_BOOL | FX_File_Copy (FX_WSTR fileNameSrc, FX_WSTR fileNameDst)
| 复制文件。 更多...
FX_BOOL | FX_File_Delete (FX_BSTR fileName)
| 删除文件。 更多...
FX_BOOL | FX_File_Delete (FX_WSTR fileName)
| 删除文件。 更多...
FX_BOOL | FX_File_Exist (FX_BSTR fileName)
| 确定文件是否存在。 更多...
FX_BOOL | FX_File_Exist (FX_WSTR fileName)
| 确定文件是否存在。 更多...
FX_BOOL | FX_File_Flush (FX_HFILE hFile)
| 如果需要则刷新内部缓冲区。 更多...
FX_INT64 | FX_File_GetPosition (FX_HFILE hFile)
| 获取当前文件访问位置。 更多...
FX_INT64 | FX_File_GetSize (FX_HFILE hFile)
| 获取文件大小。 更多...
FX_BOOL | FX_File_Move (FX_BSTR fileNameSrc, FX_BSTR fileNameDst)
| 移动文件。 更多...
FX_BOOL | FX_File_Move (FX_WSTR fileNameSrc, FX_WSTR fileNameDst)
| 移动文件。 更多...
FX_HFILE | FX_File_Open (FX_BSTR fileName, FX_DWORD dwMode, IFX_Allocator *pAllocator=0)
| 以指定的访问模式打开文件。 更多...
FX_HFILE | FX_File_Open (FX_WSTR fileName, FX_DWORD dwMode, IFX_Allocator *pAllocator=0)
| 以指定的访问模式打开文件。 更多...
size_t | FX_File_Read (FX_HFILE hFile, void *pBuffer, size_t szBuffer)
| 从当前文件访问位置读取数据。 更多...
size_t | FX_File_ReadPos (FX_HFILE hFile, void *pBuffer, size_t szBuffer, FX_INT64 pos)
| 从指定位置读取数据。 更多...
FX_INT64 | FX_File_SetPosition (FX_HFILE hFile, FX_INT64 pos)
| 设置当前文件访问位置。 更多...
FX_BOOL | FX_File_Truncate (FX_HFILE hFile, FX_INT64 szFile)
| 截断文件大小。 更多...
size_t | FX_File_Write (FX_HFILE hFile, const void *pBuffer, size_t szBuffer)
| 从当前文件访问位置写入数据。 更多...
size_t | FX_File_WritePos (FX_HFILE hFile, const void *pBuffer, size_t szBuffer, FX_INT64 pos)
| 在指定位置写入数据。 更多...
FX_STRSIZE | FX_ftoa (FX_FLOAT f, FX_LPSTR buf, int precision=0)
| 将浮点数转换为字节字符串。 更多...
FX_WCHAR | FX_GetFolderSeparator ()
| 获取系统的文件夹分隔符。很可能是 '/' 或 '\'。 更多...
FX_BOOL | FX_GetNextFile (void *handle, CFX_ByteString &filename, FX_BOOL &bFolder, FX_LPCSTR absPath=0)
| 读取文件夹中的下一个条目。 更多...
FX_BOOL | FX_GetNextFile (void *handle, CFX_WideString &filename, FX_BOOL &bFolder, FX_LPCSTR absPath=0)
| 读取文件夹中的下一个条目。 更多...
FX_BOOL | FX_IsFilePathExist (FX_LPCWSTR path)
| 检查路径是否存在，包括文件路径和文件夹路径。 更多...
FX_BOOL | FX_IsRectAdjacent (const CFX_FloatRect &rect1, const CFX_FloatRect &rect2, FX_FLOAT alignmentTolerance, FX_FLOAT distanceTolerance, int direction)
| 检查一个矩形是否在水平或垂直方向上与另一个矩形相邻。 更多...
void * | FX_OpenFolder (FX_LPCSTR path)
| 打开文件夹进行读取。 更多...
void * | FX_OpenFolder (FX_LPCWSTR path)
| 打开文件夹进行读取。 更多...
CFX_WideString | FX_UrlDecode (const CFX_ByteString &bsUrl)
| 简单的URL解码。 更多...
CFX_ByteString | FX_UrlEncode (const CFX_WideString &wsUrl)
| 简单的URL编码。 更多...
void | FXMEM_CollectAll (FXMEM_FoxitMgr *pFoxitMgr)
| 释放由Foxit管理器分配的所有内存块。此函数仅在嵌入式系统上支持。 更多...
FXMEM_FoxitMgr * | FXMEM_CreateFixedMgr (void *pMemory, size_t size, FXMEM_SystemMgr2 *pExtender)
| 从预分配的固定内存缓冲区创建Foxit管理器。 更多...
FXMEM_FoxitMgr * | FXMEM_CreateFoxitMgr (FXMEM_SystemMgr *pSystemMgr)
| 创建Foxit管理器。必须提供系统管理器用于实际分配。 更多...
FXMEM_FoxitMgr * | FXMEM_CreateMemoryMgr (size_t size, FX_BOOL extensible)
| 创建固定内存管理器作为默认实现。 更多...
FXMEM_FoxitMgr * | FXMEM_CreatePyMgr ()
| 创建Python管理器。一个快速、专用的小块内存分配器，用于 在通用malloc之上使用——基于以前的技术。 更多...
void | FXMEM_DestroyFoxitMgr (FXMEM_FoxitMgr *pFoxitMgr)
| 销毁Foxit管理器实例。如果平台支持自动收集， 那么所有分配的内存块将被释放。 更多...
size_t | FXMEM_GetBlockSizeInFixedMgr (FXMEM_FoxitMgr *pFoxitMgr, void *ptr)
| 获取 ptr 指向的内存块的大小。 更多...
IFX_Allocator * | FXMEM_GetDefAllocator ()
| 获取库使用的默认分配器。 更多...
FXMEM_FoxitMgr * | FXMEM_GetDefaultMgr ()
| 获取当前模块的默认内存管理器。 更多...
void | FXMEM_OutputDebugTag (FXMEM_FoxitMgr *pFoxitMgr, FX_LPCSTR tag)
| 输出内存调试标签。 更多...
void | FXMEM_PurgeMgr (FXMEM_FoxitMgr *pFoxitMgr)
| 释放所有多余的内存而不触及任何使用中的内存。 这对于可扩展固定内存管理器（FXMEM_SystemMgr2）很有用， 因为我们从不释放那些额外的内存池，直到内存管理器被销毁。 更多...
void | FXMEM_ReportOOM (FXMEM_FoxitMgr *pFoxitMgr)
| 报告内存不足（OOM）。 更多...
void | FXMEM_ResetSystemMgr ()
| 重置当前模块的Foxit系统内存管理器。 更多...
void | FXMEM_SetConfig (const FX_MEMCONFIG *memConfig)
| 设置固定内存的配置。 更多...
void | FXMEM_SetDefaultMgr (FXMEM_FoxitMgr *pFoxitMgr)
| 为当前编译模块（EXE、DLL等）设置默认Foxit管理器。 更多...
void | FXMEM_SetOOMHandler (FXMEM_FoxitMgr *pFoxitMgr, FPDF_OOM_Handler pOOMReportFunc, void *param)
| 为Foxit内存管理器设置内存不足处理程序。 更多...
int | FXMEM_SetPyConfig (size_t lowByteRange, size_t highByteRange)
| 设置Python内存的配置。 更多...
void | FXMEM_UseDebugger (FXMEM_FoxitMgr *pFoxitMgr, FXMEM_Debugger *pDebugger)
| 使用捕获所有内存活动的内存调试器。对参数 pDebugger 使用 NULL 停止调试。 更多...
FX_INT32 | FXSYS_atoi (FX_LPCSTR str)
| 将ANSI字符串转换为整数。 更多...
FX_INT64 | FXSYS_atoi64 (FX_LPCSTR str)
| 将ANSI字符串转换为整数。 更多...
FX_LPCSTR | FXSYS_i64toa (FX_INT64 value, FX_LPSTR str, int radix)
| 将整数转换为ANSI字符串。 更多...
FX_LPCWSTR | FXSYS_i64tow (FX_INT64 value, FX_LPWSTR str, int radix)
| 将整数转换为宽字符串。 更多...
int | FXSYS_round (FX_FLOAT f)
| 获取最接近的整数 更多...
FX_INT32 | FXSYS_wtoi (FX_LPCWSTR str)
| 将宽字符串转换为整数。 更多...
FX_INT64 | FXSYS_wtoi64 (FX_LPCWSTR str)
| 将宽字符串转换为整数。 更多...
int | FXWCHAR_GetDirection (FX_WCHAR wchar)
| 获取文本方向。 更多...
CFX_ByteStringC & | CFX_ByteStringC::operator= (const CFX_ByteString &src)
| 赋值(=)运算符重载。来自CFX_ByteString对象。 更多...
CFX_WideStringC & | CFX_WideStringC::operator= (const CFX_WideString &src)
| 赋值(=)运算符重载。来自CFX_ByteString对象。 更多...

## 基本内存操作
void * | FXMEM_Alloc (FXMEM_FoxitMgr *pFoxitMgr, size_t size, int flags)
| Foxit基本内存分配函数。 更多...
void * | FXMEM_AllocDebug (FXMEM_FoxitMgr *pFoxitMgr, size_t size, int flags, FX_LPCSTR file, int line)
| Foxit调试模式基本内存分配函数。 更多...
void * | FXMEM_Realloc (FXMEM_FoxitMgr *pFoxitMgr, void *pointer, size_t new_size, int flags)
| Foxit基本内存重分配函数。 更多...
void * | FXMEM_ReallocDebug (FXMEM_FoxitMgr *pFoxitMgr, void *pointer, size_t new_size, int flags, FX_LPCSTR file, int line)
| Foxit调试模式基本内存重分配函数。 更多...
void | FXMEM_Free (FXMEM_FoxitMgr *pFoxitMgr, void *pointer, int flags)
| Foxit基本内存释放函数。 更多...

## 以下基本内存函数使用当前模块的默认Foxit管理器
void * | FXMEM_DefaultAlloc (size_t byte_size, int flags)
| 使用当前模块默认Foxit内存管理器的默认分配函数。 更多...
void * | FXMEM_DefaultAlloc2 (size_t units, size_t unit_size, int flags)
| 使用当前模块默认Foxit内存管理器的默认分配函数。 更多...
void * | FXMEM_DefaultAllocDebug (size_t size, int flags, FX_LPCSTR file, int line)
| 使用当前模块默认Foxit内存管理器的默认调试模式分配函数。 更多...
void * | FXMEM_DefaultAllocDebug2 (size_t units, size_t unit_size, int flags, FX_LPCSTR file, int line)
| 使用当前模块默认Foxit内存管理器的默认调试模式分配函数。 更多...
void * | FXMEM_DefaultRealloc (void *pointer, size_t new_size, int flags)
| 使用当前模块默认Foxit内存管理器的默认重分配函数。 更多...
void * | FXMEM_DefaultRealloc2 (void *pointer, size_t units, size_t unit_size, int flags)
| 使用当前模块默认Foxit内存管理器的默认重分配函数。 更多...
void * | FXMEM_DefaultReallocDebug (void *pointer, size_t new_size, int flags, FX_LPCSTR file, int line)
| 使用当前模块默认Foxit内存管理器的默认调试模式重分配函数。 更多...
void * | FXMEM_DefaultReallocDebug2 (void *pointer, size_t units, size_t unit_size, int flags, FX_LPCSTR file, int line)
| 使用当前模块默认Foxit内存管理器的默认调试模式重分配函数。 更多...
void | FXMEM_DefaultFree (void *pointer, int flags)
| 使用当前模块默认Foxit内存管理器的默认释放函数。 更多...

## 时间
void | FX_Time_GetSystemTime (FX_SYSTEMTIME *pSystemTime)
| 获取当前系统日期和时间。 更多...
void | FX_Time_GetLocalTime (FX_SYSTEMTIME *pSystemTime)
| 获取当前本地日期和时间。 更多...
FX_DWORD | FX_Time_GetClock ()
| 获取调用进程已消耗的时钟周期。 更多...
FX_DWORD | FX_Time_Sleep (FX_DWORD dwMilliseconds)
| 延迟当前运行指定的毫秒数。 更多...
void | FXCRT_GetCurrentSystemTime (FXCRT_DATETIMEZONE &dt)
| 获取当前系统日期、时间和时区信息。 更多...

## 进程ID的类型
typedef FX_DWORD | FX_PROCESSID
| 进程ID。

## 进程管理
void | FX_Process_Initialize ()
| 初始化进程。 更多...
void | FX_Process_Finalize ()
| 结束进程。 更多...
FX_PROCESSID | FX_Process_GetID ()
| 获取当前进程ID 更多...
FX_LPVOID | FX_Process_GetPrivateData (FX_LPVOID key)
| 获取当前进程中的私有数据。 更多...
void | FX_Process_SetPrivateData (FX_LPVOID key, FX_LPVOID data, PD_CALLBACK_FREEDATA callback)
| 设置当前进程中的私有数据。 更多...
void | FX_Process_RemovePrivateData (FX_LPVOID key)
| 移除当前进程中的私有数据。 更多...
CFX_ProcessContext * | FX_Process_GetContext ()
| 获取进程上下文。 更多...

## 线程优先级标志
typedef DWORD | FX_ThreadResult
typedef FX_ThreadResult(WINAPI * | FX_CALLBACK_ThreadProc) (FX_LPVOID param)
| 线程过程的回调函数。 更多...
#define | FX_THREADPRIORITY_Lowest -2
| 最低优先级。
#define | FX_THREADPRIORITY_Lower -1
| 较低优先级。
#define | FX_THREADPRIORITY_Normal 0
| 正常优先级。
#define | FX_THREADPRIORITY_Higher 1
| 较高优先级。
#define | FX_THREADPRIORITY_Highest 2
| 最高优先级。
#define | THREAD_CALL_CONVENTION WINAPI

## 文件访问模式的宏定义
#define | FX_FILEMODE_Write 0
| 写入模式。如果文件不存在则自动创建。
#define | FX_FILEMODE_ReadOnly 1
| 只读模式。
#define | FX_FILEMODE_Truncate 2
| 清除已有内容，文件大小将为0。仅用于写入模式。

## 字节字符串连接操作
连接操作符(+)的两边可以是： 缓冲字节字符串(const CFX_ByteString&)； 非缓冲字节字符串(const CFX_ByteStringC&，即FX_BSTR)； 以零结尾的C风格字符串(FX_LPCSTR)； 单个字符或字节(FX_CHAR)；
CFX_ByteString | operator+ (FX_BSTR str1, FX_BSTR str2)
| 连接非缓冲字节字符串和非缓冲字节字符串。 更多...
CFX_ByteString | operator+ (FX_BSTR str1, FX_LPCSTR str2)
| 连接非缓冲字节字符串和以零结尾的C风格字符串 更多...
CFX_ByteString | operator+ (FX_LPCSTR str1, FX_BSTR str2)
| 连接以零结尾的C风格字符串和非缓冲字节字符串。 更多...
CFX_ByteString | operator+ (FX_BSTR str1, FX_CHAR ch)
| 连接非缓冲字节字符串和单个字符或字节。 更多...
CFX_ByteString | operator+ (FX_CHAR ch, FX_BSTR str2)
| 连接单个字符或字节和非缓冲字节字符串。 更多...
CFX_ByteString | operator+ (const CFX_ByteString &str1, const CFX_ByteString &str2)
| 连接缓冲字节字符串和缓冲字节字符串。 更多...
CFX_ByteString | operator+ (const CFX_ByteString &str1, FX_CHAR ch)
| 连接缓冲字节字符串和单个字符或字节。 更多...
CFX_ByteString | operator+ (FX_CHAR ch, const CFX_ByteString &str2)
| 连接单个字符或字节和缓冲字节字符串。 更多...
CFX_ByteString | operator+ (const CFX_ByteString &str1, FX_LPCSTR str2)
| 连接缓冲字节字符串和以零结尾的C风格字符串。 更多...
CFX_ByteString | operator+ (FX_LPCSTR str1, const CFX_ByteString &str2)
| 连接以零结尾的C风格字符串和缓冲字节字符串。 更多...
CFX_ByteString | operator+ (const CFX_ByteString &str1, FX_BSTR str2)
| 连接缓冲字节字符串和非缓冲字节字符串。 更多...
CFX_ByteString | operator+ (FX_BSTR str1, const CFX_ByteString &str2)
| 连接非缓冲字节字符串和缓冲字节字符串。 更多...

## 宽字符串连接操作
连接操作符(+)的两侧可以是： 带缓冲的宽字符串 (const CFX_WideString&)； 非缓冲的宽字符串 (const CFX_WideStringC&)； 以零结尾的C风格宽字符串 (FX_LPCWSTR)； 单个字符 (FX_WCHAR)； 但您必须在一侧至少有一个CFX_WideString或CFX_WideStringC。
CFX_WideString | operator+ (const CFX_WideStringC &str1, const CFX_WideStringC &str2)
| 连接非缓冲宽字符串和非缓冲宽字符串。 更多...
CFX_WideString | operator+ (const CFX_WideStringC &str1, FX_LPCWSTR str2)
| 连接非缓冲字节字符串和以零结尾的C风格字符串 更多...
CFX_WideString | operator+ (FX_LPCWSTR str1, const CFX_WideStringC &str2)
| 连接以零结尾的C风格字符串和非缓冲字节字符串。 更多...
CFX_WideString | operator+ (const CFX_WideStringC &str1, FX_WCHAR ch)
| 连接非缓冲字节字符串和单个字符或字节。 更多...
CFX_WideString | operator+ (FX_WCHAR ch, const CFX_WideStringC &str2)
| 连接单个字符或字节和非缓冲字节字符串。 更多...
CFX_WideString | operator+ (const CFX_WideString &str1, const CFX_WideString &str2)
| 连接带缓冲字节字符串和带缓冲字节字符串。 更多...
CFX_WideString | operator+ (const CFX_WideString &str1, FX_WCHAR ch)
| 连接带缓冲字节字符串和单个字符或字节。 更多...
CFX_WideString | operator+ (FX_WCHAR ch, const CFX_WideString &str2)
| 连接单个字符或字节和带缓冲字节字符串。 更多...
CFX_WideString | operator+ (const CFX_WideString &str1, FX_LPCWSTR str2)
| 连接带缓冲宽字符串和以零结尾的C风格字符串。 更多...
CFX_WideString | operator+ (FX_LPCWSTR str1, const CFX_WideString &str2)
| 连接以零结尾的C风格字符串和带缓冲字节字符串。 更多...
CFX_WideString | operator+ (const CFX_WideString &str1, const CFX_WideStringC &str2)
| 连接带缓冲字节字符串和非缓冲字节字符串。 更多...
CFX_WideString | operator+ (const CFX_WideStringC &str1, const CFX_WideString &str2)
| 连接非缓冲字节字符串和带缓冲字节字符串。 更多...

## 宽字符串比较操作
bool | operator== (const CFX_WideString &s1, const CFX_WideString &s2)
| 比较(==)操作符重载。区分大小写。 更多...
bool | operator== (const CFX_WideString &s1, const CFX_WideStringC &s2)
| 比较(==)操作符重载。区分大小写。 更多...
bool | operator== (const CFX_WideStringC &s1, const CFX_WideString &s2)
| 比较(==)操作符重载。区分大小写。 更多...
bool | operator== (const CFX_WideString &s1, FX_LPCWSTR s2)
| 比较(==)操作符重载。区分大小写。 更多...
bool | operator== (FX_LPCWSTR s1, const CFX_WideString &s2)
| 比较(==)操作符重载。区分大小写。 更多...
bool | operator!= (const CFX_WideString &s1, const CFX_WideString &s2)
| 比较(!=)操作符重载。区分大小写。 更多...
bool | operator!= (const CFX_WideString &s1, const CFX_WideStringC &s2)
| 比较(!=)操作符重载。区分大小写。 更多...
bool | operator!= (const CFX_WideStringC &s1, const CFX_WideString &s2)
| 比较(!=)操作符重载。区分大小写。 更多...
bool | operator!= (const CFX_WideString &s1, FX_LPCWSTR s2)
| 比较(!=)操作符重载。区分大小写。 更多...
bool | operator!= (FX_LPCWSTR s1, const CFX_WideString &s2)
| 比较(!=)操作符重载。区分大小写。 更多...
bool | operator< (const CFX_WideString &lhs, const CFX_WideString &rhs)
| 比较(<)操作符重载。区分大小写。 更多...

## 基本Unicode字符属性例程
FX_WCHAR | FXWCHAR_GetUpper (FX_WCHAR wchar)
| 转换为大写字母。 更多...
FX_WCHAR | FXWCHAR_GetLower (FX_WCHAR wchar)
| 转换为小写字母。 更多...
FX_BOOL | FXWCHAR_IsWordBreak (FX_WCHAR wchar)
| 检查Unicode是否可以断词。 更多...
FX_BOOL | FXWCHAR_IsSpace (FX_WCHAR wchar)
| 检查Unicode是否为空格。 更多...

## 文本方向定义
#define | FXWCHAR_LTR 0
| 从左到右的顺序
#define | FXWCHAR_RTL 1
| 从右到左的顺序
#define | FXWCHAR_UNKNOWN 2
| 不确定顺序或不关心

## 操作系统定义
#define | _FX_WIN32_DESKTOP_ 1
| Windows 桌面操作系统（从Windows 95开始）
#define | _FX_WIN32_MOBILE_ 2
| Windows Mobile 操作系统（从Windows CE 4.0开始）
#define | _FX_WIN64_ 3
| Windows 64位
#define | _FX_LINUX_DESKTOP_ 4
| Linux 桌面操作系统
#define | _FX_LINUX_EMBEDDED_ 5
| 嵌入式Linux操作系统
#define | _FX_SYMBIAN_ 6
| Symbian操作系统（从7.0开始）
#define | _FX_MACOSX_ 7
| MAC OS X
#define | _FX_EMBEDDED_ 8
| 嵌入式操作系统
#define | _FX_SOLARIS_ 9
| Solaris 8或更高版本
#define | _FX_PALMOS_ 10
| PalmOS（5.0或更高版本）
#define | _FX_NETBSD_ 11
| NetBSD
#define | _FX_ANDROID_ 12
| Android
#define | _FX_VXWORKS_ 13
| VxWorks
#define | _FX_MTK_ 14
| Media Tech
#define | _FX_IOS_ 15
| IOS
#define | _FXM_PLATFORM_WINDOWS_ 1
| Windows操作系统平台。
#define | _FXM_PLATFORM_LINUX_ 2
| Linux操作系统平台。
#define | _FXM_PLATFORM_APPLE_ 3
| Apple操作系统平台。
#define | _FXM_PLATFORM_ANDROID_ 4
| Android操作系统平台。
#define | _FXM_PLATFORM_ _FXM_PLATFORM_WINDOWS_
#define | _CRT_SECURE_NO_WARNINGS
| 禁用CRT中的安全增强功能
#define | NOMINMAX
#define | _FX_WINAPI_PARTITION_DESKTOP_

## 编译器定义
#define | _FX_VC6_ 1
| Microsoft Visual C++ 6.0
#define | _FX_VC7_ 2
| Microsoft Visual Studio.Net 2003
#define | _FX_VC8_ 3
| Microsoft Visual Studio.Net 2005
#define | _FX_GCC_ 4
| GNU C++ 编译器
#define | _FX_ADS_ 5
| ADS 1.2 编译器
#define | _FX_RVCT_ 6
| RVCT 2.1 编译器
#define | _FX_IARCC_ 7
| IAR C/C++ 编译器
#define | _FX_NOKIA_X86_ 8
| Nokia X86 编译器
#define | _FX_METROWERKS_ 9
| Metrowerks C/C++ 编译器（使用MSL）
#define | _FX_PACC_ 10
| Protein C/C++ 编译器（PalmOS使用）
#define | _FX_TMS470_ 11
| TMS470
#define | _FX_MIPS_SDE_ 12
| MIPS SDE

## CPU定义
#define | _FX_X86_ 1
| 32位x86 CPU
#define | _FX_ARM_ 2
| ARM
#define | _FX_POWERPC_ 3
| Power PC
#define | _FX_SPARC_ 4
| Sparc
#define | _FX_IA64_ 5
| IA64
#define | _FX_MIPS_ 6
| MIPS
#define | _FX_X64_ 7
| 64位x86 CPU
#define | _FX_ARM64_ 8
| ARM64
#define | _FX_MIPS64_ 9
| MIPS64
#define | _FX_LOONGARCH64_ 10
| Loongarch64

## 字长定义
#define | _FX_W32_ 1
| 32位指令
#define | _FX_W64_ 2
| 64位指令
#define | _FX_WORDSIZE_ _FX_W32_

## 字节序定义
#define | _FX_BIG_ENDIAN_ 1
| 大端序
#define | _FX_LITTLE_ENDIAN_ 2
| 小端序
#define | _FX_ENDIAN_
| 当前字节序。 更多...

## 目标定义
#define | _FX_DEFAULT_TARGET_ 0
| 默认SDK信息
#define | _FX_BREW_ 1
| Brew SDK

## 基本数据类型
typedef void * | FX_LPVOID
| 指向任意类型的指针。
typedef void const * | FX_LPCVOID
| 指向任意常量类型的指针。
typedef void * | FX_POSITION
| 用于表示集合中元素位置的值。
typedef signed char | FX_INT8
| 有符号8位整数。
typedef unsigned char | FX_UINT8
| 无符号8位整数。
typedef unsigned char | FX_BYTE
| 字节（8位）。
typedef unsigned char * | FX_LPBYTE
| 指向FX_BYTE的指针。
typedef unsigned char const * | FX_LPCBYTE
| 指向常量FX_BYTE的指针。
typedef short | FX_INT16
| 有符号16位整数。
typedef unsigned short | FX_UINT16
| 无符号16位整数。
typedef short | FX_SHORT
| 短整数（16位）。
typedef unsigned short | FX_WORD
| 16位无符号整数。
typedef unsigned short * | FX_LPWORD
| 指向WORD的指针。
typedef unsigned short const * | FX_LPCWORD
| 指向WORD的指针。
typedef int | FX_INT32
| 32位有符号整数。
typedef float | FX_FLOAT
| 32位浮点数。
typedef int | FX_BOOL
| 布尔变量（应为TRUE或FALSE）。
typedef int | FX_ERR
| 错误指示器。
typedef char | FX_CHAR
| 8位Windows (ANSI) 字符。
typedef char * | FX_LPSTR
| 指向8位Windows (ANSI) 字符的指针。
typedef char const * | FX_LPCSTR
| 指向常量8位Windows (ANSI) 字符的指针。
typedef unsigned long | FX_DWORD
| 32位无符号整数。 更多...
typedef unsigned long * | FX_LPDWORD
| 指向DWORD的指针。
typedef wchar_t | FX_WCHAR
| 编译器相关的Unicode字符（Microsoft编译器为16位，gcc为32位）。
typedef wchar_t * | FX_LPWSTR
| 指向Unicode字符的指针。
typedef wchar_t const * | FX_LPCWSTR
| 指向常量Unicode字符的指针。
typedef long long int | FX_INT64
typedef unsigned long long | FX_UINT64
typedef INT_PTR | FX_INTPTR
| 指针精度的有符号整型。
typedef UINT_PTR | FX_UINTPTR
| 指针精度的无符号整型。
typedef FX_DWORD | FX_UINT32
| 无符号32位整数。
typedef FX_UINT64 | FX_QWORD
| 无符号四字整数。
#define | FX_SUCCEEDED(Status) ((FX_ERR)(Status) >= 0)
| 确定状态是否成功。
#define | FX_FAILED(Status) ((FX_ERR)(Status) < 0)
| 确定状态是否失败。
#define | FX_DEFINEHANDLE(name) typedef struct _##name {FX_LPVOID pData;} * name;
| 定义句柄类型的宏。
#define | TRUE 1
| 值为1的关键字。
#define | FALSE 0
| 值为0的关键字。
#define | NULL 0
| 空指针值。
#define | FXSYS_assert
| 断言。
#define | ASSERT(a)
| 调试模式的断言，发布模式下不执行任何操作。
#define | FX_MAX(a, b) (((a) > (b)) ? (a) : (b))
| 返回a和b中最大值的宏。
#define | FX_MIN(a, b) (((a) < (b)) ? (a) : (b))
| 返回a和b中最小值的宏。
#define | FX_PI 3.1415926535897932384626433832795f
| PI的宏
#define | _FX_CRT_MALLOC_LIMIT_ 0x7fffffffL
| malloc大小限制的宏。

## 字节字符串操作
#define | FXSYS_sprintf
| 将格式化数据写入ANSIC字符串。
#define | FXSYS_snprintf
| 将格式化数据写入ANSIC字符串，带最大长度。
#define | FXSYS_vsnprintf vsnprintf
#define | FXSYS_vsprintf
| 使用指向参数列表的指针写入格式化输出。
#define | FXSYS_strchr
| 在ANSIC字符串中查找字符。
#define | FXSYS_strlen
| 获取ANSIC字符串的长度。
#define | FXSYS_strncmp
| 比较两个ANSIC字符串的字符。
#define | FXSYS_strcmp
| 比较ANSIC字符串。
#define | FXSYS_strcpy
| 复制ANSIC字符串。
#define | FXSYS_strncpy
| 复制有长度限制的ANSIC字符串。
#define | FXSYS_strstr
| 查找子字符串

## 文件操作
#define | FXSYS_FILE
| 文件结构。
#define | FXSYS_fopen
| 打开文件。
#define | FXSYS_fclose
| 关闭文件。
#define | FXSYS_SEEK_END
| 文件末尾。
#define | FXSYS_SEEK_SET
| 文件开头。
#define | FXSYS_fseek
| 将文件指针移动到指定位置。
#define | FXSYS_ftell
| 获取文件指针的当前位置。
#define | FXSYS_fread
| 从文件读取数据。
#define | FXSYS_fwrite
| 向文件写入数据。
#define | FXSYS_fprintf
| 向文件打印格式化数据。
#define | FXSYS_fflush
| 刷新文件。
#define | FXSYS_wfopen
| 使用宽字符串参数打开文件。目前仅支持Windows平台。

## 宽字符串操作
#define | FXSYS_wcslen
| 获取宽字符字符串的长度。
#define | FXSYS_wcscmp
| 比较宽字符字符串。
#define | FXSYS_wcschr
| 在宽字符字符串中查找宽字符。
#define | FXSYS_wcsstr
| 查找宽字符子字符串。
#define | FXSYS_wcsncmp
| 比较两个宽字符字符串的字符。
#define | FXSYS_vswprintf
| 使用指向参数列表的指针写入格式化输出宽字符字符串。
#define | FXSYS_mbstowcs
| 将多字节字符序列转换为相应的宽字符序列。
#define | FXSYS_wcstombs
| 将宽字符序列转换为相应的多字节字符序列。

## 内存块操作
#define | FXSYS_memcmp
| 比较两个缓冲区。
#define | FXSYS_memcpy
| 从一个缓冲区复制到另一个缓冲区。
#define | FXSYS_memmove
| 将一个缓冲区移动到另一个缓冲区。如果源区域和目标区域的某些区域重叠， ::FXSYS_memmove 确保重叠区域中的原始源字节在被覆盖之前被复制。
#define | FXSYS_memset
| 使用给定字符初始化缓冲区。
#define | FXSYS_memchr
| 在内存块中搜索字节。

## 内存工具
void * | FXSYS_memcpy32 (void *dst, const void *src, size_t size)
| 从源缓冲区复制数据到目标缓冲区。 更多...
FX_INT32 | FXSYS_memcmp32 (const void *buf1, const void *buf2, size_t size)
| 比较两个缓冲区中的数据。 更多...
void * | FXSYS_memset32 (void *dst, FX_INT32 v, size_t size)
| 将缓冲区数据设置为指定值。 更多...
void * | FXSYS_memset8 (void *dst, FX_BYTE v, size_t size)
| 将缓冲区数据设置为指定值。 更多...
void * | FXSYS_memmove32 (void *dst, const void *src, size_t size)
| 将源缓冲区数据移动到目标缓冲区。 更多...

## 数学函数
#define | FXSYS_pow
| 计算乘方。FXSYS_pow(x,y) 表示 x^y。
#define | FXSYS_sqrt
| 计算平方根。FXSYS_sqrt(x) 表示 sqrt(x)。
#define | FXSYS_fabs
| 计算绝对值。FXSYS_fabs(x) 表示 |x|。
#define | FXSYS_atan2
| 计算反正切。FXSYS_atan2(y,x) 表示 atan(y/x)。
#define | FXSYS_ceil
| 计算值的上界。
#define | FXSYS_floor
| 计算值的下界。
#define | FXSYS_cos
| 计算浮点数从弧度参数的余弦值。
#define | FXSYS_acos
| 计算浮点数的反余弦值，以弧度为单位。
#define | FXSYS_sin
| 计算浮点数从弧度参数的正弦值。
#define | FXSYS_log
| 计算浮点数的自然对数（以e为底）。
#define | FXSYS_log10
| 计算浮点数的常用对数（以10为底）。
#define | FXSYS_fmod
| 计算浮点数余数。
#define | FXSYS_abs
| 返回绝对值的宏。

## 详细描述

## 宏定义说明

## ◆ _FX_ENDIAN_

#define _FX_ENDIAN_

当前字节序。

现在可以是：

- _FX_BIG_ENDIAN_
- _FX_LITTLE_ENDIAN_

## ◆ FX_BSTRC

#define FX_BSTRC | ( |  | str | ) | CFX_ByteStringC(str, sizeof str-1)

指定字符串常量时，所有应用程序都应使用以下宏。 "str"必须是字符字符串常量。

注解
  例如：
  FX_BSTRC("abc")。

## ◆ FX_WSTRC

#define FX_WSTRC | ( |  | wstr | ) | CFX_WideStringC((FX_LPCWSTR)wstr, sizeof(wstr) / sizeof(FX_WCHAR) - 1)

所有应用程序在指定宽字符串常量时都应使用以下宏。 "wstr"必须是宽字符串常量。

例如：

FX_WSTRC(L"abc").

## 类型定义说明

## ◆ FPDF_OOM_Handler

typedef void(* FPDF_OOM_Handler) (FXMEM_FoxitMgr *pFoxitMgr, void *param)

内存不足处理程序的原型。

参数

  [in] | pFoxitMgr | 指向FXMEM_FoxitMgr对象的指针。
  [in] | param | 用于用户数据的通用无类型指针。

返回
  无。

## ◆ FX_CALLBACK_ThreadProc

typedef FX_ThreadResult( WINAPI * FX_CALLBACK_ThreadProc) (FX_LPVOID param)

线程过程的回调函数。

param[in] param 创建线程时传递的线程参数。

返回
  无。

## ◆ FX_CALLBACK_ThreadProxyProc

typedef FX_ThreadResult( WINAPI * FX_CALLBACK_ThreadProxyProc) (FX_CALLBACK_ThreadProc threadProc, FX_LPVOID param)

线程代理过程的回调函数。

param[in] param 创建线程时传递的线程参数。

返回
  无。

## ◆ FX_DWORD

typedef unsigned long FX_DWORD

32位无符号整数。

TYPE LP32 ILP32 LP64 ILP64 LLP64 CHAR 8 8 8 8 8 SHORT 16 16 16 16 16 INT 16 32 32 64 32 LONG 32 32 64 64 32 LONG LONG 64 64 64 64 64 POINTER 32 32 64 64 64

## ◆ PD_CALLBACK_FREEDATA

typedef void(* PD_CALLBACK_FREEDATA) (FX_LPVOID pData)

自定义模块提供的用于释放私有数据的回调函数原型。

## 枚举类型说明

## ◆ FX_ProgressiveStatus

enum FX_ProgressiveStatus

渐进状态的枚举。

此枚举的值应单独使用。

枚举值
Ready | 就绪。
ToBeContinued | 待继续。
Found | 已找到。
NotFound | 未找到。
Failed | 失败。
Done | 完成。

## 函数说明

## ◆ CFX_ByteStringC()

CFX_ByteStringC::CFX_ByteStringC | ( | const CFX_ByteString & | src | ) |
| inline

从字节字符串构造。

参数

  [in] | src | CFX_ByteString对象的常量引用。

## ◆ CFX_WideStringC()

CFX_WideStringC::CFX_WideStringC | ( | const CFX_WideString & | src | ) |
| inline

从宽字符串构造。

参数

  [in] | src | CFX_ByteString对象的常量引用。

## ◆ FX_atof()

FX_FLOAT FX_atof | ( | FX_BSTR | str | ) |

将非缓冲字节字符串转换为浮点数。

参数

  [in] | str | 非缓冲字节字符串。

返回
  浮点数。

## ◆ FX_atonum()

void FX_atonum | ( | FX_BSTR | str,
|  | FX_BOOL & | bInteger,
|  | void * | pData,
|  | int | sizeOfData = `4`
| ) |  |

将非缓冲字节字符串转换为数字。

参数

  [in] | str | 非缓冲字节字符串。
  [out] | bInteger | 非零值表示字符串可以转换为数字，否则不能。
  [out] | pData | 它接收转换后的数字。
  [in] | sizeOfData | pData的大小。默认值：4。

返回
  无。

## ◆ FX_CloseFolder()

void FX_CloseFolder | ( | void * | handle | ) |

关闭文件夹句柄。

参数

  [in] | handle | 由 FX_OpenFolder 函数返回的文件夹句柄。

返回
  无。

## ◆ FX_CreateDefaultFileAccess()

IFX_FileAccess* FX_CreateDefaultFileAccess | ( | FX_WSTR | wsPath,
|  | IFX_Allocator * | pAllocator = `0`
| ) |  |

创建基于CRT的文件I/O接口。

参数

  [in] | wsPath | 文件路径。
  [in] | pAllocator | 分配器。默认值：NULL。

返回
  IFX_FileAccess接口的实例。NULL表示失败。 当不再使用时，请调用函数IFX_FileAccess::Release来销毁返回的对象。

## ◆ FX_CreateFileRead() [1/2]

IFX_FileRead* FX_CreateFileRead | ( | FX_LPCSTR | filename,
|  | IFX_Allocator * | pAllocator = `0`
| ) |  |

（仅适用于支持CRT文件访问的平台）创建基于CRT的文件读取接口。

参数

  [in] | filename | 文件名，使用MBCS文件名。
  [in] | pAllocator | 分配器。默认值：NULL。

返回
  IFX_FileRead接口的实例。当不再使用时，请调用函数 IFX_FileRead::Release 来 销毁返回的对象。

## ◆ FX_CreateFileRead() [2/2]

IFX_FileRead* FX_CreateFileRead | ( | FX_LPCWSTR | filename,
|  | IFX_Allocator * | pAllocator = `0`
| ) |  |

（仅适用于支持CRT文件访问的平台）创建基于CRT的文件读取接口。

参数

  [in] | filename | 文件名，使用Unicode文件名。
  [in] | pAllocator | 分配器。默认值：NULL。

返回
  IFX_FileRead接口的实例。当不再使用时，请调用函数IFX_FileRead::Release 来销毁返回的对象。

## ◆ FX_CreateFileStream() [1/2]

IFX_FileStream* FX_CreateFileStream | ( | FX_LPCSTR | filename,
|  | FX_DWORD | dwModes,
|  | IFX_Allocator * | pAllocator = `0`
| ) |  |

（仅适用于支持CRT文件访问的平台）创建基于CRT的文件I/O接口。

参数

  filename | 文件名，使用MBCS文件名。
  dwModes |
  pAllocator | 分配器。默认值：NULL。

返回
  IFX_FileStream接口的实例。NULL表示失败。 当不再使用时，请调用函数IFX_FileStream::Release来销毁返回的对象。

## ◆ FX_CreateFileStream() [2/2]

IFX_FileStream* FX_CreateFileStream | ( | FX_LPCWSTR | filename,
|  | FX_DWORD | dwModes,
|  | IFX_Allocator * | pAllocator = `0`
| ) |  |

（仅适用于支持CRT文件访问的平台）创建基于CRT的文件I/O接口。

参数

  filename | 文件名，使用Unicode文件名。
  dwModes |
  pAllocator | 分配器。默认值：NULL。

返回
  IFX_FileStream接口的实例。NULL表示失败。 当不再使用时，请调用函数IFX_FileStream::Release来销毁返回的对象。

## ◆ FX_CreateFileWrite() [1/2]

IFX_FileWrite* FX_CreateFileWrite | ( | FX_LPCSTR | filename,
|  | IFX_Allocator * | pAllocator = `0`
| ) |  |

（仅适用于支持CRT文件访问（fopen，...）的平台）创建基于CRT的文件写入接口。

参数

  [in] | filename | 文件名，使用MBCS文件名。
  [in] | pAllocator | 分配器。默认值：NULL。

返回
  IFX_FileWrite接口的实例。当不再使用时，请调用函数 IFX_FileWrite::Release 来 销毁返回的对象。

## ◆ FX_CreateFileWrite() [2/2]

IFX_FileWrite* FX_CreateFileWrite | ( | FX_LPCWSTR | filename,
|  | IFX_Allocator * | pAllocator = `0`
| ) |  |

（仅适用于支持CRT文件访问（fopen，...）的平台）创建基于CRT的文件写入接口。

参数

  [in] | filename | 文件名，使用unicode文件名。
  [in] | pAllocator | 分配器。默认值：NULL。

返回
  IFX_FileWrite接口的实例。当不再使用时，请调用函数 IFX_FileWrite::Release 来 销毁返回的对象。

## ◆ FX_CreateFolder() [1/2]

FX_BOOL FX_CreateFolder | ( | FX_LPCSTR | path | ) |

创建新文件夹。

参数

  [in] | path | 文件夹的路径名。

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

## ◆ FX_CreateFolder() [2/2]

FX_BOOL FX_CreateFolder | ( | FX_LPCWSTR | path | ) |

创建新文件夹。

参数

  [in] | path | 文件夹的路径名。

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

## ◆ FX_CreateMemoryStream() [1/2]

IFX_MemoryStream* FX_CreateMemoryStream | ( | FX_LPBYTE | pBuffer,
|  | size_t | nSize,
|  | FX_BOOL | bTakeOver = `false`,
|  | IFX_Allocator * | pAllocator = `0`
| ) |  |

通过给定的内存缓冲区创建流对象。此函数创建连续内存流对象。

参数

  [in] | pBuffer | 用于读取/写入数据的内存缓冲区。
  [in] | nSize | 缓冲区大小，以字节为单位。
  [in] | bTakeOver | 指示是否需要接管参数pBuffer。如果为true， 当销毁返回的IFX_MemoryStream对象时，参数pBuffer将在内部释放。 默认值：false。
  [in] | pAllocator | 指向::IFX_Allocator对象的指针，此项指定分配器。如果为<b>NULL， 则使用默认分配器。默认值：NULL。

返回
  IFX_MemoryStream接口的实例。NULL表示失败。

## ◆ FX_CreateMemoryStream() [2/2]

IFX_MemoryStream* FX_CreateMemoryStream | ( | FX_BOOL | bConsecutive = `false`,
|  | IFX_Allocator * | pAllocator = `0`
| ) |  |

创建内存流对象。内存缓冲区将在内部创建，当需要更多空间时大小会增加。

参数

  [in] | bConsecutive | 指示是否创建连续内存流。 true表示创建连续内存流，false表示 创建非连续流。默认值：false。
  [in] | pAllocator | 指向指定分配器的::IFX_Allocator对象的指针。 NULL表示使用默认分配器。默认值：NULL。

返回
  IFX_MemoryStream接口的实例。NULL表示失败。

## ◆ FX_DecodeURI()

CFX_WideString FX_DecodeURI | ( | const CFX_ByteString & | bsURI | ) |

简单的URI解码。

参数

  [in] | bsURI | 要解码的URI字符串。

返回
  解码后的URI字符串。

## ◆ FX_DeleteFolder() [1/2]

FX_BOOL FX_DeleteFolder | ( | FX_LPCSTR | path | ) |

删除文件夹。

参数

  [in] | path | 文件夹的路径名。

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

## ◆ FX_DeleteFolder() [2/2]

FX_BOOL FX_DeleteFolder | ( | FX_LPCWSTR | path | ) |

删除文件夹。

参数

  [in] | path | 文件夹的路径名。

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

## ◆ FX_EncodeURI()

CFX_ByteString FX_EncodeURI | ( | const CFX_WideString & | wsURI | ) |

简单的URI编码。

参数

  [in] | wsURI | 要编码的URI字符串。

返回
  编码后的URI字符串。

## ◆ FX_File_Close()

void FX_File_Close | ( | FX_HFILE | hFile,
|  | IFX_Allocator * | pAllocator = `0`
| ) |  |

关闭文件。

参数

  [in] | hFile | 由函数 ::FX_File_Open 返回的文件处理器。
  [in] | pAllocator | 分配器。默认值：NULL。

返回
  无。

## ◆ FX_File_Copy() [1/2]

FX_BOOL FX_File_Copy | ( | FX_BSTR | fileNameSrc,
|  | FX_BSTR | fileNameDst
| ) |  |

复制文件。

参数

  [in] | fileNameSrc | 源文件路径名。
  [in] | fileNameDst | 目标文件路径名。

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

## ◆ FX_File_Copy() [2/2]

FX_BOOL FX_File_Copy | ( | FX_WSTR | fileNameSrc,
|  | FX_WSTR | fileNameDst
| ) |  |

复制文件。

参数

  [in] | fileNameSrc | 源文件路径名。
  [in] | fileNameDst | 目标文件路径名。

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

## ◆ FX_File_Delete() [1/2]

FX_BOOL FX_File_Delete | ( | FX_BSTR | fileName | ) |

删除文件。

参数

  [in] | fileName | 文件路径名。

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

## ◆ FX_File_Delete() [2/2]

FX_BOOL FX_File_Delete | ( | FX_WSTR | fileName | ) |

删除文件。

参数

  [in] | fileName | 文件路径名。

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

## ◆ FX_File_Exist() [1/2]

FX_BOOL FX_File_Exist | ( | FX_BSTR | fileName | ) |

确定文件是否存在。

参数

  [in] | fileName | 文件路径名。

返回
  true 表示文件存在，false 表示文件不存在。

## ◆ FX_File_Exist() [2/2]

FX_BOOL FX_File_Exist | ( | FX_WSTR | fileName | ) |

确定文件是否存在。

参数

  [in] | fileName | 文件路径名。

返回
  true 表示文件存在，false 表示文件不存在。

## ◆ FX_File_Flush()

FX_BOOL FX_File_Flush | ( | FX_HFILE | hFile | ) |

如果需要则刷新内部缓冲区。

参数

  [in] | hFile | 由函数 ::FX_File_Open 返回的文件处理器。

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

## ◆ FX_File_GetPosition()

FX_INT64 FX_File_GetPosition | ( | FX_HFILE | hFile | ) |

获取当前文件访问位置。

参数

  [in] | hFile | 由函数 ::FX_File_Open 返回的文件处理器。

返回
  从文件开头开始的当前文件访问位置。-1表示失败。

## ◆ FX_File_GetSize()

FX_INT64 FX_File_GetSize | ( | FX_HFILE | hFile | ) |

获取文件大小。

参数

  [in] | hFile | 由函数 ::FX_File_Open 返回的文件处理器。

返回
  文件大小。0表示文件为空或失败。

## ◆ FX_File_Move() [1/2]

FX_BOOL FX_File_Move | ( | FX_BSTR | fileNameSrc,
|  | FX_BSTR | fileNameDst
| ) |  |

移动文件。

参数

  [in] | fileNameSrc | 源文件路径名。
  [in] | fileNameDst | 目标文件路径名。

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

## ◆ FX_File_Move() [2/2]

FX_BOOL FX_File_Move | ( | FX_WSTR | fileNameSrc,
|  | FX_WSTR | fileNameDst
| ) |  |

移动文件。

参数

  [in] | fileNameSrc | 源文件路径名。
  [in] | fileNameDst | 目标文件路径名。

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

## ◆ FX_File_Open() [1/2]

FX_HFILE FX_File_Open | ( | FX_BSTR | fileName,
|  | FX_DWORD | dwMode,
|  | IFX_Allocator * | pAllocator = `0`
| ) |  |

以指定的访问模式打开文件。

参数

  [in] | fileName | 指定要打开的文件的文件路径名。
  [in] | dwMode | 文件访问模式。请参考从 ::FX_FILEMODE_Write 开始的值， 应该是这些值中的一个。
  [in] | pAllocator | 分配器。默认值：NULL。

返回
  文件处理器。NULL 表示失败。

## ◆ FX_File_Open() [2/2]

FX_HFILE FX_File_Open | ( | FX_WSTR | fileName,
|  | FX_DWORD | dwMode,
|  | IFX_Allocator * | pAllocator = `0`
| ) |  |

以指定的访问模式打开文件。

参数

  [in] | fileName | 指定要打开的文件的文件路径名。
  [in] | dwMode | 文件访问模式。请参考从 ::FX_FILEMODE_Write 开始的值， 应该是这些值中的一个。
  [in] | pAllocator | 分配器。默认值：NULL。

返回
  文件处理器。NULL 表示失败。

## ◆ FX_File_Read()

size_t FX_File_Read | ( | FX_HFILE | hFile,
|  | void * | pBuffer,
|  | size_t | szBuffer
| ) |  |

从当前文件访问位置读取数据。

参数

  [in] | hFile | 由函数 ::FX_File_Open 返回的文件处理器。
  [out] | pBuffer | 接收数据的缓冲区。
  [in] | szBuffer | 缓冲区大小，以字节为单位。

返回
  从文件读取的数据大小。0表示没有数据或失败。

## ◆ FX_File_ReadPos()

size_t FX_File_ReadPos | ( | FX_HFILE | hFile,
|  | void * | pBuffer,
|  | size_t | szBuffer,
|  | FX_INT64 | pos
| ) |  |

从指定位置读取数据。

参数

  [in] | hFile | 由函数 ::FX_File_Open 返回的文件处理器。
  [out] | pBuffer | 接收数据的缓冲区。
  [in] | szBuffer | 缓冲区大小，以字节为单位。
  [in] | pos | 从文件开头开始读取数据的位置。

返回
  从文件读取的数据大小。0表示没有数据或失败。

## ◆ FX_File_SetPosition()

FX_INT64 FX_File_SetPosition | ( | FX_HFILE | hFile,
|  | FX_INT64 | pos
| ) |  |

设置当前文件访问位置。

参数

  [in] | hFile | 由函数 ::FX_File_Open 返回的文件处理器。
  [in] | pos | 新的访问位置。

返回
  从文件开头开始的当前文件访问位置。-1表示失败。

## ◆ FX_File_Truncate()

FX_BOOL FX_File_Truncate | ( | FX_HFILE | hFile,
|  | FX_INT64 | szFile
| ) |  |

截断文件大小。

参数

  [in] | hFile | 由函数 ::FX_File_Open 返回的文件处理器。
  [in] | szFile | 新的文件大小。

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

## ◆ FX_File_Write()

size_t FX_File_Write | ( | FX_HFILE | hFile,
|  | const void * | pBuffer,
|  | size_t | szBuffer
| ) |  |

从当前文件访问位置写入数据。

参数

  [in] | hFile | 由函数 ::FX_File_Open 返回的文件处理器。
  [in] | pBuffer | 数据缓冲区。
  [in] | szBuffer | 数据大小，以字节为单位。

返回
  写入文件的数据大小。如果返回值小于szBuffer，表示失败。

## ◆ FX_File_WritePos()

size_t FX_File_WritePos | ( | FX_HFILE | hFile,
|  | const void * | pBuffer,
|  | size_t | szBuffer,
|  | FX_INT64 | pos
| ) |  |

在指定位置写入数据。

参数

  [in] | hFile | 由函数 ::FX_File_Open 返回的文件处理器。
  [in] | pBuffer | 数据缓冲区。
  [in] | szBuffer | 数据大小，以字节为单位。
  [in] | pos | 从文件开头开始写入数据的位置。

返回
  写入文件的数据大小。如果返回值小于szBuffer，表示失败。

## ◆ FX_ftoa()

FX_STRSIZE FX_ftoa | ( | FX_FLOAT | f,
|  | FX_LPSTR | buf,
|  | int | precision = `0`
| ) |  |

将浮点数转换为字节字符串。

参数

  [in] | f | 浮点数。
  [out] | buf | 浮点字符串的缓冲区，buf至少应有32字节。
  [in] | precision | 小数位数。默认值：0。

返回
  buf中格式化浮点字符串的长度，以字节为单位。

## ◆ FX_GetFolderSeparator()

FX_WCHAR FX_GetFolderSeparator | ( |  | ) |

获取系统的文件夹分隔符。很可能是 '/' 或 '\'。

返回
  文件夹分隔符。

## ◆ FX_GetNextFile() [1/2]

FX_BOOL FX_GetNextFile | ( | void * | handle,
|  | CFX_ByteString & | filename,
|  | FX_BOOL & | bFolder,
|  | FX_LPCSTR | absPath = `0`
| ) |  |

读取文件夹中的下一个条目。

参数

  [in] | handle | 由函数 ::FX_OpenFolder 返回的文件夹句柄。
  [out] | filename | 当找到文件夹项时接收文件名。
  [out] | bFolder | 指示文件名是子文件夹还是普通文件。
  [in] | absPath | 绝对路径。默认值：NULL。

返回
  true 表示成功，false 表示到达文件夹结尾。

## ◆ FX_GetNextFile() [2/2]

FX_BOOL FX_GetNextFile | ( | void * | handle,
|  | CFX_WideString & | filename,
|  | FX_BOOL & | bFolder,
|  | FX_LPCSTR | absPath = `0`
| ) |  |

读取文件夹中的下一个条目。

参数

  [in] | handle | 由函数 ::FX_OpenFolder 返回的文件夹句柄。
  [out] | filename | 当找到文件夹项时接收文件名。
  [out] | bFolder | 指示文件名是子文件夹还是普通文件。
  [in] | absPath | 绝对路径。默认值：NULL。

返回
  true 表示成功，false 表示到达文件夹结尾。

## ◆ FX_IsFilePathExist()

FX_BOOL FX_IsFilePathExist | ( | FX_LPCWSTR | path | ) |

检查路径是否存在，包括文件路径和文件夹路径。

参数

  [in] | path | 文件或文件夹的路径名。

返回
  true 表示输入路径存在，false 表示输入路径不存在。

## ◆ FX_IsRectAdjacent()

FX_BOOL FX_IsRectAdjacent | ( | const CFX_FloatRect & | rect1,
|  | const CFX_FloatRect & | rect2,
|  | FX_FLOAT | alignmentTolerance,
|  | FX_FLOAT | distanceTolerance,
|  | int | direction
| ) |  |

检查一个矩形是否在水平或垂直方向上与另一个矩形相邻。

参数

  [in] | rect1 | 要检查是否与参数 rect2 相邻的矩形。
  [in] | rect2 | 另一个矩形。
  [in] | alignmentTolerance | 两个矩形之间允许的对齐容差。以坐标单位测量，应为非负值。
  [in] | distanceTolerance | 两个矩形之间允许的距离容差。以坐标单位测量，应为非负值。
  [in] | direction | 指定判断两个矩形之间相邻状态的方向： 0 表示水平方向。 1 表示垂直方向。

返回
  true 表示指定的矩形在指定方向上与另一个指定的矩形相邻， 而 false 表示指定的矩形在指定方向上与另一个指定的矩形不相邻。

## ◆ FX_OpenFolder() [1/2]

void* FX_OpenFolder | ( | FX_LPCSTR | path | ) |

打开文件夹进行读取。

参数

  [in] | path | 文件夹的路径名。

返回
  文件夹句柄。NULL 表示失败。

## ◆ FX_OpenFolder() [2/2]

void* FX_OpenFolder | ( | FX_LPCWSTR | path | ) |

打开文件夹进行读取。

参数

  [in] | path | 文件夹的路径名。

返回
  文件夹句柄。NULL 表示失败。

## ◆ FX_Process_Finalize()

void FX_Process_Finalize | ( |  | ) |

结束进程。

返回
  无。

注解
  应用程序应该在应用程序停止运行时，在释放内存管理之前调用此函数。

## ◆ FX_Process_GetContext()

CFX_ProcessContext* FX_Process_GetContext | ( |  | ) |

获取进程上下文。

返回
  当前进程上下文对象。

注解
  此函数供内部使用。

## ◆ FX_Process_GetID()

FX_PROCESSID FX_Process_GetID | ( |  | ) |

获取当前进程ID

返回
  当前进程ID

## ◆ FX_Process_GetPrivateData()

FX_LPVOID FX_Process_GetPrivateData | ( | FX_LPVOID | key | ) |

获取当前进程中的私有数据。

参数

  [in] | key | 用于指定要检索的私有数据的键值。

返回
  指向私有数据的指针，失败时返回NULL。

## ◆ FX_Process_Initialize()

void FX_Process_Initialize | ( |  | ) |

初始化进程。

返回
  无。

注解
  应用程序应该在初始化内存管理后调用此函数。 此函数将准备应用程序中使用的一些全局资源。

## ◆ FX_Process_RemovePrivateData()

void FX_Process_RemovePrivateData | ( | FX_LPVOID | key | ) |

移除当前进程中的私有数据。

参数

  [in] | key | 用于指定要移除的私有数据的键值。

返回
  无。

## ◆ FX_Process_SetPrivateData()

void FX_Process_SetPrivateData | ( | FX_LPVOID | key,
|  | FX_LPVOID | data,
|  | PD_CALLBACK_FREEDATA | callback
| ) |  |

设置当前进程中的私有数据。

参数

  [in] | key | 用于指定要设置的私有数据的键值。
  [in] | data | 指向私有数据的指针。
  [in] | callback | 用于释放私有数据的回调函数地址， 如果不需要额外的释放过程，传入NULL。

返回
  无。

## ◆ FX_Time_GetClock()

FX_DWORD FX_Time_GetClock | ( |  | ) |

获取调用进程已消耗的时钟周期。

返回
  以毫秒为单位的已消耗时间。

## ◆ FX_Time_GetLocalTime()

void FX_Time_GetLocalTime | ( | FX_SYSTEMTIME * | pSystemTime | ) |

获取当前本地日期和时间。

参数

  [in,out] | pSystemTime | 指向FX_SYSTEMTIME的指针，用于接收当前本地日期和时间。

返回
  无。

## ◆ FX_Time_GetSystemTime()

void FX_Time_GetSystemTime | ( | FX_SYSTEMTIME * | pSystemTime | ) |

获取当前系统日期和时间。

参数

  [in,out] | pSystemTime | 指向FX_SYSTEMTIME的指针，用于接收当前系统日期和时间。

返回
  无。

## ◆ FX_Time_Sleep()

FX_DWORD FX_Time_Sleep | ( | FX_DWORD | dwMilliseconds | ) |

延迟当前运行指定的毫秒数。

参数

  [in] | dwMilliseconds | 要延迟的毫秒数。

返回
  尚未消耗的剩余时间，如果时间间隔已过期则返回0。

## ◆ FX_UrlDecode()

CFX_WideString FX_UrlDecode | ( | const CFX_ByteString & | bsUrl | ) |

简单的URL解码。

参数

  [in] | bsUrl | 要解码的URL字符串。

返回
  解码后的URL字符串。

## ◆ FX_UrlEncode()

CFX_ByteString FX_UrlEncode | ( | const CFX_WideString & | wsUrl | ) |

简单的URL编码。

参数

  [in] | wsUrl | 要编码的URL字符串。

返回
  编码后的URL字符串。

## ◆ FXCRT_GetCurrentSystemTime()

void FXCRT_GetCurrentSystemTime | ( | FXCRT_DATETIMEZONE & | dt | ) |

获取当前系统日期、时间和时区信息。

参数

  [in,out] | dt | 用于接收当前系统日期、时间和时区信息的结构。

返回
  无。

## ◆ FXMEM_Alloc()

void* FXMEM_Alloc | ( | FXMEM_FoxitMgr * | pFoxitMgr,
|  | size_t | size,
|  | int | flags
| ) |  |

Foxit基本内存分配函数。

参数

  [in] | pFoxitMgr | 指向FXMEM_FoxitMgr对象的指针。
  [in] | size | 要分配的字节大小。
  [in] | flags | 内存分配属性。

返回
  新内存块的地址。

## ◆ FXMEM_AllocDebug()

void* FXMEM_AllocDebug | ( | FXMEM_FoxitMgr * | pFoxitMgr,
|  | size_t | size,
|  | int | flags,
|  | FX_LPCSTR | file,
|  | int | line
| ) |  |

Foxit调试模式基本内存分配函数。

参数

  [in] | pFoxitMgr | 指向FXMEM_FoxitMgr对象的指针。
  [in] | size | 要分配的字节大小。
  [in] | flags | 内存分配属性。
  [in] | file | 当前源文件的名称。
  [in] | line | 当前源文件中的行号。

返回
  新内存块的地址。

## ◆ FXMEM_CollectAll()

void FXMEM_CollectAll | ( | FXMEM_FoxitMgr * | pFoxitMgr | ) |

释放由Foxit管理器分配的所有内存块。此函数仅在嵌入式系统上支持。

参数

  [in] | pFoxitMgr | 指向FXMEM_FoxitMgr对象的指针。

返回
  无。

## ◆ FXMEM_CreateFixedMgr()

FXMEM_FoxitMgr* FXMEM_CreateFixedMgr | ( | void * | pMemory,
|  | size_t | size,
|  | FXMEM_SystemMgr2 * | pExtender
| ) |  |

从预分配的固定内存缓冲区创建Foxit管理器。

这种形式的Foxit管理器通常用于内存有限且可以专用于单一任务的嵌入式系统。 应用程序负责分配和释放固定内存缓冲区。缓冲区大小不能低于512KB，没有上限。 现在固定内存管理器支持可扩展池。如果参数 pExtender 不为 NULL， 那么当当前内存池用完时，它将向系统请求更多内存。

参数

  [in] | pMemory | 指向内存块的指针。
  [in] | size | 参数 pMemory 指向的内存块的字节大小。
  [in] | pExtender | 指向FXMEM_SystemMgr2对象的指针。

返回
  指向FXMEM_FoxitMgr对象的指针。

## ◆ FXMEM_CreateFoxitMgr()

FXMEM_FoxitMgr* FXMEM_CreateFoxitMgr | ( | FXMEM_SystemMgr * | pSystemMgr | ) |

创建Foxit管理器。必须提供系统管理器用于实际分配。

在桌面平台上，您不必创建Foxit管理器来使用内存分配， 因为FPDFAPI带有默认的Foxit管理器（以及底层的默认系统管理器）。 但如果您的应用程序使用非默认的系统管理器，您将必须创建一个 使用自定义系统管理器的新Foxit管理器。

参数

  [in] | pSystemMgr | 指向FXMEM_SystemMgr对象的指针。

返回
  指向FXMEM_FoxitMgr对象的指针。

## ◆ FXMEM_CreateMemoryMgr()

FXMEM_FoxitMgr* FXMEM_CreateMemoryMgr | ( | size_t | size,
|  | FX_BOOL | extensible
| ) |  |

创建固定内存管理器作为默认实现。

参数

  [in] | size | 内存池的初始大小，以字节为单位。应不少于8MB(1024 * 1024 * 8)。
  [in] | extensible | 如果为 true，内存池将在需要更多空间时扩展。 false 表示内存不能扩展。

返回
  指向FXMEM_FoxitMgr对象的指针。

注解
  如果参数 extensible 为 false 且没有足够的空间进行分配， FX_Alloc 或 FX_Realloc 将直接返回 NULL。 对于可扩展内存管理器，它将尝试请求更多内存池进行分配。

## ◆ FXMEM_CreatePyMgr()

FXMEM_FoxitMgr* FXMEM_CreatePyMgr | ( |  | ) |

创建Python管理器。一个快速、专用的小块内存分配器，用于 在通用malloc之上使用——基于以前的技术。

在桌面平台上，您不必创建Foxit管理器来使用内存分配， 因为FPDFAPI带有默认的Foxit管理器（以及底层的默认系统 管理器）。但如果您的应用程序使用非默认的系统管理器，您可以创建一个 使用自定义系统管理器的新Python管理器。

返回
  指向FXMEM_FoxitMgr对象的指针。

## ◆ FXMEM_DefaultAlloc()

void* FXMEM_DefaultAlloc | ( | size_t | byte_size,
|  | int | flags
| ) |  |

使用当前模块默认Foxit内存管理器的默认分配函数。

参数

  [in] | byte_size | 要分配的字节大小。
  [in] | flags | 内存分配属性。

返回
  新内存块的地址。

## ◆ FXMEM_DefaultAlloc2()

void* FXMEM_DefaultAlloc2 | ( | size_t | units,
|  | size_t | unit_size,
|  | int | flags
| ) |  |

使用当前模块默认Foxit内存管理器的默认分配函数。

参数

  [in] | units | 要分配的单元数量。
  [in] | unit_size | 每个单元的字节大小。
  [in] | flags | 内存分配属性。

返回
  新内存块的地址。

## ◆ FXMEM_DefaultAllocDebug()

void* FXMEM_DefaultAllocDebug | ( | size_t | size,
|  | int | flags,
|  | FX_LPCSTR | file,
|  | int | line
| ) |  |

使用当前模块默认Foxit内存管理器的默认调试模式分配函数。

参数

  [in] | size | 要分配的字节大小。
  [in] | flags | 内存分配属性。
  [in] | file | 当前源文件的名称。
  [in] | line | 当前源文件中的行号。

返回
  新内存块的地址。

## ◆ FXMEM_DefaultAllocDebug2()

void* FXMEM_DefaultAllocDebug2 | ( | size_t | units,
|  | size_t | unit_size,
|  | int | flags,
|  | FX_LPCSTR | file,
|  | int | line
| ) |  |

使用当前模块默认Foxit内存管理器的默认调试模式分配函数。

参数

  [in] | units | 要分配的单元数量。
  [in] | unit_size | 每个单元的字节大小。
  [in] | flags | 内存分配属性。
  [in] | file | 当前源文件的名称。
  [in] | line | 当前源文件中的行号。

返回
  新内存块的地址。

## ◆ FXMEM_DefaultFree()

void FXMEM_DefaultFree | ( | void * | pointer,
|  | int | flags
| ) |  |

使用当前模块默认Foxit内存管理器的默认释放函数。

参数

  [in] | pointer | 内存块的地址。
  [in] | flags | 内存分配属性。

返回
  无。

## ◆ FXMEM_DefaultRealloc()

void* FXMEM_DefaultRealloc | ( | void * | pointer,
|  | size_t | new_size,
|  | int | flags
| ) |  |

使用当前模块默认Foxit内存管理器的默认重分配函数。

参数

  [in] | pointer | 要重分配的内存块地址。
  [in] | new_size | 要重分配的新大小（以字节为单位）。
  [in] | flags | 内存分配属性。

返回
  新内存块的地址。

## ◆ FXMEM_DefaultRealloc2()

void* FXMEM_DefaultRealloc2 | ( | void * | pointer,
|  | size_t | units,
|  | size_t | unit_size,
|  | int | flags
| ) |  |

使用当前模块默认Foxit内存管理器的默认重分配函数。

参数

  [in] | pointer | 要重分配的内存块地址。
  [in] | units | 要分配的单元数量。
  [in] | unit_size | 每个单元的字节大小。
  [in] | flags | 内存分配属性。

返回
  新内存块的地址。

## ◆ FXMEM_DefaultReallocDebug()

void* FXMEM_DefaultReallocDebug | ( | void * | pointer,
|  | size_t | new_size,
|  | int | flags,
|  | FX_LPCSTR | file,
|  | int | line
| ) |  |

使用当前模块默认Foxit内存管理器的默认调试模式重分配函数。

参数

  [in] | pointer | 要重分配的内存块地址。
  [in] | new_size | 要重分配的新大小（以字节为单位）。
  [in] | flags | 内存分配属性。
  [in] | file | 当前源文件的名称。
  [in] | line | 当前源文件中的行号。

返回
  新内存块的地址。

## ◆ FXMEM_DefaultReallocDebug2()

void* FXMEM_DefaultReallocDebug2 | ( | void * | pointer,
|  | size_t | units,
|  | size_t | unit_size,
|  | int | flags,
|  | FX_LPCSTR | file,
|  | int | line
| ) |  |

使用当前模块默认Foxit内存管理器的默认调试模式重分配函数。

参数

  [in] | pointer | 要重分配的内存块地址。
  [in] | units | 要分配的单元数量。
  [in] | unit_size | 每个单元的字节大小。
  [in] | flags | 内存分配属性。
  [in] | file | 当前源文件的名称。
  [in] | line | 当前源文件中的行号。

返回
  新内存块的地址。

## ◆ FXMEM_DestroyFoxitMgr()

void FXMEM_DestroyFoxitMgr | ( | FXMEM_FoxitMgr * | pFoxitMgr | ) |

销毁Foxit管理器实例。如果平台支持自动收集， 那么所有分配的内存块将被释放。

参数

  [in] | pFoxitMgr | 指向FXMEM_FoxitMgr对象的指针。

返回
  无。

## ◆ FXMEM_Free()

void FXMEM_Free | ( | FXMEM_FoxitMgr * | pFoxitMgr,
|  | void * | pointer,
|  | int | flags
| ) |  |

Foxit基本内存释放函数。

参数

  [in] | pFoxitMgr | 指向FXMEM_FoxitMgr对象的指针。
  [in] | pointer | 指向内存块的指针。
  [in] | flags | 内存分配属性。

返回
  无。

## ◆ FXMEM_GetBlockSizeInFixedMgr()

size_t FXMEM_GetBlockSizeInFixedMgr | ( | FXMEM_FoxitMgr * | pFoxitMgr,
|  | void * | ptr
| ) |  |

获取 ptr 指向的内存块的大小。

参数

  [in] | pFoxitMgr | 指向FXMEM_FoxitMgr对象的指针，应作为固定内存管理器创建。
  [in] | ptr | 指向内存块的指针。

返回
  如果参数 ptr 位于固定内存管理器中，返回内存块大小（字节），否则返回0。

## ◆ FXMEM_GetDefAllocator()

IFX_Allocator* FXMEM_GetDefAllocator | ( |  | ) |

获取库使用的默认分配器。

返回
  默认的IFX_Allocator指针。

## ◆ FXMEM_GetDefaultMgr()

FXMEM_FoxitMgr* FXMEM_GetDefaultMgr | ( |  | ) |

获取当前模块的默认内存管理器。

返回
  默认的FXMEM_FoxitMgr指针。

## ◆ FXMEM_OutputDebugTag()

void FXMEM_OutputDebugTag | ( | FXMEM_FoxitMgr * | pFoxitMgr,
|  | FX_LPCSTR | tag
| ) |  |

输出内存调试标签。

参数

  [in] | pFoxitMgr | 指向FXMEM_FoxitMgr对象的指针。
  [in] | tag | 标签字符串。

返回
  无。

## ◆ FXMEM_PurgeMgr()

void FXMEM_PurgeMgr | ( | FXMEM_FoxitMgr * | pFoxitMgr | ) |

释放所有多余的内存而不触及任何使用中的内存。 这对于可扩展固定内存管理器（FXMEM_SystemMgr2）很有用， 因为我们从不释放那些额外的内存池，直到内存管理器被销毁。

参数

  [in] | pFoxitMgr | 指向FXMEM_FoxitMgr对象的指针。

返回
  无。

## ◆ FXMEM_Realloc()

void* FXMEM_Realloc | ( | FXMEM_FoxitMgr * | pFoxitMgr,
|  | void * | pointer,
|  | size_t | new_size,
|  | int | flags
| ) |  |

Foxit基本内存重分配函数。

参数

  [in] | pFoxitMgr | 指向FXMEM_FoxitMgr对象的指针。
  [in] | pointer | 指向内存块的指针。
  [in] | new_size | 要重新分配的字节大小。
  [in] | flags | 内存分配属性。

返回
  新内存块的地址。

## ◆ FXMEM_ReallocDebug()

void* FXMEM_ReallocDebug | ( | FXMEM_FoxitMgr * | pFoxitMgr,
|  | void * | pointer,
|  | size_t | new_size,
|  | int | flags,
|  | FX_LPCSTR | file,
|  | int | line
| ) |  |

Foxit调试模式基本内存重分配函数。

参数

  [in] | pFoxitMgr | 指向FXMEM_FoxitMgr对象的指针。
  [in] | pointer | 指向内存块的指针。
  [in] | new_size | 要重新分配的字节大小。
  [in] | flags | 内存分配属性。
  [in] | file | 当前源文件的名称。
  [in] | line | 当前源文件中的行号。

返回
  新内存块的地址。

## ◆ FXMEM_ReportOOM()

void FXMEM_ReportOOM | ( | FXMEM_FoxitMgr * | pFoxitMgr | ) |

报告内存不足（OOM）。

参数

  [in] | pFoxitMgr | 指向FXMEM_FoxitMgr对象的指针。

返回
  无。

## ◆ FXMEM_ResetSystemMgr()

void FXMEM_ResetSystemMgr | ( |  | ) |

重置当前模块的Foxit系统内存管理器。

返回
  无。

## ◆ FXMEM_SetConfig()

void FXMEM_SetConfig | ( | const FX_MEMCONFIG * | memConfig | ) |

设置固定内存的配置。

此函数对于桌面平台是可选的，应该在启动应用程序时首先调用以更改默认配置， 在初始化固定内存管理器之前。

参数

  [in] | memConfig | 指向内存配置的指针。

返回
  无。

## ◆ FXMEM_SetDefaultMgr()

void FXMEM_SetDefaultMgr | ( | FXMEM_FoxitMgr * | pFoxitMgr | ) |

为当前编译模块（EXE、DLL等）设置默认Foxit管理器。

参数

  [in] | pFoxitMgr | 指向FXMEM_FoxitMgr对象的指针。

返回
  无。

## ◆ FXMEM_SetOOMHandler()

void FXMEM_SetOOMHandler | ( | FXMEM_FoxitMgr * | pFoxitMgr,
|  | FPDF_OOM_Handler | pOOMReportFunc,
|  | void * | param
| ) |  |

为Foxit内存管理器设置内存不足处理程序。

参数

  [in] | pFoxitMgr | 指向FXMEM_FoxitMgr对象的指针。
  [in] | pOOMReportFunc | 指向内存不足处理程序的指针。
  [in] | param | 用于回调的用户数据的通用无类型指针。

返回
  无。

## ◆ FXMEM_SetPyConfig()

int FXMEM_SetPyConfig | ( | size_t | lowByteRange,
|  | size_t | highByteRange
| ) |  |

设置Python内存的配置。

此函数是可选的，当设置配置时，Python内存管理器只能在 lowByteRange和highByteRange之间分配。

参数

  [in] | lowByteRange | 指定的低字节范围。
  [in] | highByteRange | 指定的高字节范围。

注解
  lowByteRange必须小于或等于highByteRange，highByteRange必须小于 或等于SMALL_REQUEST_THRESHOLD，这是在其下面malloc请求被认为足够小 以便使用预分配内存池的最大大小阈值。

返回
  如果函数成功则返回零；否则返回-1，参数错误。

## ◆ FXMEM_UseDebugger()

void FXMEM_UseDebugger | ( | FXMEM_FoxitMgr * | pFoxitMgr,
|  | FXMEM_Debugger * | pDebugger
| ) |  |

使用捕获所有内存活动的内存调试器。对参数 pDebugger 使用 NULL 停止调试。

参数

  [in] | pFoxitMgr | 指向要调试的FXMEM_FoxitMgr对象的指针。
  [in] | pDebugger | 指向FXMEM_Debugger对象的指针。

返回
  无。

## ◆ FXSYS_atoi()

FX_INT32 FXSYS_atoi | ( | FX_LPCSTR | str | ) |

将ANSI字符串转换为整数。

参数

  [in] | str | ANSI字符串。

返回
  转换结果整数。

## ◆ FXSYS_atoi64()

FX_INT64 FXSYS_atoi64 | ( | FX_LPCSTR | str | ) |

将ANSI字符串转换为整数。

参数

  [in] | str | ANSI字符串。

返回
  转换结果整数。

## ◆ FXSYS_i64toa()

FX_LPCSTR FXSYS_i64toa | ( | FX_INT64 | value,
|  | FX_LPSTR | str,
|  | int | radix
| ) |  |

将整数转换为ANSI字符串。

参数

  [in] | value | 整数。
  [in] | str |
  [in] | radix | 值的基数；必须在2-36范围内。

返回

## ◆ FXSYS_i64tow()

FX_LPCWSTR FXSYS_i64tow | ( | FX_INT64 | value,
|  | FX_LPWSTR | str,
|  | int | radix
| ) |  |

将整数转换为宽字符串。

参数

  [in] | value | 整数。
  [in] | str |
  [in] | radix | 值的基数；必须在2-36范围内。

返回

## ◆ FXSYS_memcmp32()

FX_INT32 FXSYS_memcmp32 | ( | const void * | buf1,
|  | const void * | buf2,
|  | size_t | size
| ) |  |

比较两个缓冲区中的数据。

输入缓冲区应从4字节对齐位置开始，但大小可以是任意值。

参数

  [in] | buf1 | 第一个缓冲区指针。
  [in] | buf2 | 第二个缓冲区指针。
  [in] | size | 要比较的数据长度，以字节为单位。

返回
  结果如下：
  - 如果 buf1 小于 buf2，结果小于零；
  - 如果 buf1 与 buf2 相同，结果等于零；
  - 如果 buf1 大于 buf2，结果大于零。

## ◆ FXSYS_memcpy32()

void* FXSYS_memcpy32 | ( | void * | dst,
|  | const void * | src,
|  | size_t | size
| ) |  |

从源缓冲区复制数据到目标缓冲区。

参数 dst 和 src 应从4字节对齐位置开始，但大小可以是任意值。

参数

  [in,out] | dst | 目标缓冲区指针。
  [in] | src | 要复制的源缓冲区指针。
  [in] | size | 要复制的数据长度，以字节为单位。

返回
  目标缓冲区。

## ◆ FXSYS_memmove32()

void* FXSYS_memmove32 | ( | void * | dst,
|  | const void * | src,
|  | size_t | size
| ) |  |

将源缓冲区数据移动到目标缓冲区。

参数

  [in,out] | dst | 目标缓冲区指针。
  [in] | src | 源缓冲区指针。
  [in] | size | 要移动的源缓冲区数据长度，以字节为单位。

返回
  目标缓冲区。

## ◆ FXSYS_memset32()

void* FXSYS_memset32 | ( | void * | dst,
|  | FX_INT32 | v,
|  | size_t | size
| ) |  |

将缓冲区数据设置为指定值。

参数 dst 应从4字节对齐位置开始，但大小可以是任意值。

参数

  [in,out] | dst | 目标缓冲区指针。
  [in] | v | 要设置的值。
  [in] | size | 要设置的数据长度，以字节为单位。

返回
  目标缓冲区。

## ◆ FXSYS_memset8()

void* FXSYS_memset8 | ( | void * | dst,
|  | FX_BYTE | v,
|  | size_t | size
| ) |  |

将缓冲区数据设置为指定值。

参数 dst 应从4字节对齐位置开始，但大小可以是任意值。

参数

  [in,out] | dst | 目标缓冲区指针。
  [in] | v | 要设置的值。
  [in] | size | 要设置的数据长度，以字节为单位。

返回
  目标缓冲区。

## ◆ FXSYS_round()

int FXSYS_round | ( | FX_FLOAT | f | ) |

获取最接近的整数

参数

  [in] | f | 浮点值。

返回
  最接近的整数。

## ◆ FXSYS_wtoi()

FX_INT32 FXSYS_wtoi | ( | FX_LPCWSTR | str | ) |

将宽字符串转换为整数。

参数

  [in] | str | 宽字符串。

返回
  转换结果整数。

## ◆ FXSYS_wtoi64()

FX_INT64 FXSYS_wtoi64 | ( | FX_LPCWSTR | str | ) |

将宽字符串转换为整数。

参数

  [in] | str | 宽字符串。

返回
  转换结果整数。

## ◆ FXWCHAR_GetDirection()

int FXWCHAR_GetDirection | ( | FX_WCHAR | wchar | ) |

获取文本方向。

参数

  [in] | wchar |

返回
  方向值。请参考从::FXWCHAR_LTR开始的值，它将是这些值之一。

## ◆ FXWCHAR_GetLower()

FX_WCHAR FXWCHAR_GetLower | ( | FX_WCHAR | wchar | ) |

转换为小写字母。

参数

  [in] | wchar | Unicode字符。

返回
  小写字母。

## ◆ FXWCHAR_GetUpper()

FX_WCHAR FXWCHAR_GetUpper | ( | FX_WCHAR | wchar | ) |

转换为大写字母。

参数

  [in] | wchar | Unicode字符。

返回
  大写字母。

## ◆ FXWCHAR_IsSpace()

FX_BOOL FXWCHAR_IsSpace | ( | FX_WCHAR | wchar | ) |

检查Unicode是否为空格。

参数

  [in] | wchar | Unicode字符。

返回
  true 表示输入的Unicode字符是空格， false 表示输入的Unicode字符不是空格。

## ◆ FXWCHAR_IsWordBreak()

FX_BOOL FXWCHAR_IsWordBreak | ( | FX_WCHAR | wchar | ) |

检查Unicode是否可以断词。

参数

  [in] | wchar | Unicode字符。

返回
  true 表示输入的Unicode字符可以断词， false 表示输入的Unicode字符不能断词。

## ◆ operator!=() [1/5]

bool operator!= | ( | const CFX_WideString & | s1,
|  | const CFX_WideString & | s2
| ) |  |

比较(!=)操作符重载。区分大小写。

参数

  [in] | s1 | 第一个宽字符串。
  [in] | s2 | 第二个宽字符串。

返回
  true 表示不相等，false 表示相等。

## ◆ operator!=() [2/5]

bool operator!= | ( | const CFX_WideString & | s1,
|  | const CFX_WideStringC & | s2
| ) |  |

比较(!=)操作符重载。区分大小写。

参数

  [in] | s1 | 第一个宽字符串。
  [in] | s2 | 第二个宽字符串。

返回
  true 表示不相等，false 表示相等。

## ◆ operator!=() [3/5]

bool operator!= | ( | const CFX_WideStringC & | s1,
|  | const CFX_WideString & | s2
| ) |  |

比较(!=)操作符重载。区分大小写。

参数

  [in] | s1 | 第一个宽字符串。
  [in] | s2 | 第二个宽字符串。

返回
  true 表示不相等，false 表示相等。

## ◆ operator!=() [4/5]

bool operator!= | ( | const CFX_WideString & | s1,
|  | FX_LPCWSTR | s2
| ) |  |

比较(!=)操作符重载。区分大小写。

参数

  [in] | s1 | 第一个宽字符串。
  [in] | s2 | 第二个宽字符字符串。

返回
  true 表示不相等，false 表示相等。

## ◆ operator!=() [5/5]

bool operator!= | ( | FX_LPCWSTR | s1,
|  | const CFX_WideString & | s2
| ) |  |

比较(!=)操作符重载。区分大小写。

参数

  [in] | s1 | 第一个宽字符字符串。
  [in] | s2 | 第二个宽字符串。

返回
  true 表示不相等，false 表示相等。

## ◆ operator+() [1/24]

CFX_ByteString operator+ | ( | FX_BSTR | str1,
|  | FX_BSTR | str2
| ) |  |
| inline

连接非缓冲字节字符串和非缓冲字节字符串。

参数

  [in] | str1 | 非缓冲字节字符串。
  [in] | str2 | 非缓冲字节字符串。

返回
  CFX_ByteString对象。

## ◆ operator+() [2/24]

CFX_ByteString operator+ | ( | FX_BSTR | str1,
|  | FX_LPCSTR | str2
| ) |  |
| inline

连接非缓冲字节字符串和以零结尾的C风格字符串

参数

  [in] | str1 | 非缓冲字节字符串。
  [in] | str2 | 以零结尾的C风格字符串。

返回
  CFX_ByteString对象。

## ◆ operator+() [3/24]

CFX_ByteString operator+ | ( | FX_LPCSTR | str1,
|  | FX_BSTR | str2
| ) |  |
| inline

连接以零结尾的C风格字符串和非缓冲字节字符串。

参数

  [in] | str1 | 以零结尾的C风格字符串。
  [in] | str2 | 非缓冲字节字符串。

返回
  CFX_ByteString对象。

## ◆ operator+() [4/24]

CFX_ByteString operator+ | ( | FX_BSTR | str1,
|  | FX_CHAR | ch
| ) |  |
| inline

连接非缓冲字节字符串和单个字符或字节。

参数

  [in] | str1 | 非缓冲字节字符串。
  [in] | ch | 单个字符或字节。

返回
  CFX_ByteString对象。

## ◆ operator+() [5/24]

CFX_ByteString operator+ | ( | FX_CHAR | ch,
|  | FX_BSTR | str2
| ) |  |
| inline

连接单个字符或字节和非缓冲字节字符串。

参数

  [in] | ch | 单个字符或字节。
  [in] | str2 | 非缓冲字节字符串。

返回
  CFX_ByteString对象。

## ◆ operator+() [6/24]

CFX_ByteString operator+ | ( | const CFX_ByteString & | str1,
|  | const CFX_ByteString & | str2
| ) |  |
| inline

连接缓冲字节字符串和缓冲字节字符串。

参数

  [in] | str1 | 缓冲字节字符串。
  [in] | str2 | 缓冲字节字符串。

返回
  CFX_ByteString对象。

## ◆ operator+() [7/24]

CFX_ByteString operator+ | ( | const CFX_ByteString & | str1,
|  | FX_CHAR | ch
| ) |  |
| inline

连接缓冲字节字符串和单个字符或字节。

参数

  [in] | str1 | 缓冲字节字符串。
  [in] | ch | 单个字符或字节。

返回
  CFX_ByteString对象。

## ◆ operator+() [8/24]

CFX_ByteString operator+ | ( | FX_CHAR | ch,
|  | const CFX_ByteString & | str2
| ) |  |
| inline

连接单个字符或字节和缓冲字节字符串。

参数

  [in] | ch | 单个字符或字节。
  [in] | str2 | 缓冲字节字符串。

返回
  CFX_ByteString对象。

## ◆ operator+() [9/24]

CFX_ByteString operator+ | ( | const CFX_ByteString & | str1,
|  | FX_LPCSTR | str2
| ) |  |
| inline

连接缓冲字节字符串和以零结尾的C风格字符串。

参数

  [in] | str1 | 缓冲字节字符串。
  [in] | str2 | 以零结尾的C风格字符串。

返回
  CFX_ByteString对象。

## ◆ operator+() [10/24]

CFX_ByteString operator+ | ( | FX_LPCSTR | str1,
|  | const CFX_ByteString & | str2
| ) |  |
| inline

连接以零结尾的C风格字符串和缓冲字节字符串。

参数

  [in] | str1 | 以零结尾的C风格字符串。
  [in] | str2 | 缓冲字节字符串。

返回
  CFX_ByteString对象。

## ◆ operator+() [11/24]

CFX_ByteString operator+ | ( | const CFX_ByteString & | str1,
|  | FX_BSTR | str2
| ) |  |
| inline

连接缓冲字节字符串和非缓冲字节字符串。

参数

  [in] | str1 | 缓冲字节字符串。
  [in] | str2 | 非缓冲字节字符串。

返回
  CFX_ByteString对象。

## ◆ operator+() [12/24]

CFX_ByteString operator+ | ( | FX_BSTR | str1,
|  | const CFX_ByteString & | str2
| ) |  |
| inline

连接非缓冲字节字符串和缓冲字节字符串。

参数

  [in] | str1 | 非缓冲字节字符串。
  [in] | str2 | 缓冲字节字符串。

返回
  CFX_ByteString对象。

## ◆ operator+() [13/24]

CFX_WideString operator+ | ( | const CFX_WideStringC & | str1,
|  | const CFX_WideStringC & | str2
| ) |  |
| inline

连接非缓冲宽字符串和非缓冲宽字符串。

参数

  [in] | str1 | 非缓冲宽字符串。
  [in] | str2 | 非缓冲宽字符串。

返回
  CFX_WideString对象。

## ◆ operator+() [14/24]

CFX_WideString operator+ | ( | const CFX_WideStringC & | str1,
|  | FX_LPCWSTR | str2
| ) |  |
| inline

连接非缓冲字节字符串和以零结尾的C风格字符串

参数

  [in] | str1 | 非缓冲宽字符串。
  [in] | str2 | 以零结尾的C风格字符串。

返回
  CFX_WideString对象。

## ◆ operator+() [15/24]

CFX_WideString operator+ | ( | FX_LPCWSTR | str1,
|  | const CFX_WideStringC & | str2
| ) |  |
| inline

连接以零结尾的C风格字符串和非缓冲字节字符串。

参数

  [in] | str1 | 以零结尾的C风格字符串。
  [in] | str2 | 非缓冲宽字符串。

返回
  CFX_WideString对象。

## ◆ operator+() [16/24]

CFX_WideString operator+ | ( | const CFX_WideStringC & | str1,
|  | FX_WCHAR | ch
| ) |  |
| inline

连接非缓冲字节字符串和单个字符或字节。

参数

  [in] | str1 | 非缓冲宽字符串。
  [in] | ch | 单个字符。

返回
  CFX_WideString对象。

## ◆ operator+() [17/24]

CFX_WideString operator+ | ( | FX_WCHAR | ch,
|  | const CFX_WideStringC & | str2
| ) |  |
| inline

连接单个字符或字节和非缓冲字节字符串。

参数

  [in] | ch | 单个字符。
  [in] | str2 | 非缓冲宽字符串。

返回
  CFX_WideString对象。

## ◆ operator+() [18/24]

CFX_WideString operator+ | ( | const CFX_WideString & | str1,
|  | const CFX_WideString & | str2
| ) |  |
| inline

连接带缓冲字节字符串和带缓冲字节字符串。

参数

  [in] | str1 | 带缓冲宽字符串。
  [in] | str2 | 带缓冲宽字符串。

返回
  CFX_WideString对象。

## ◆ operator+() [19/24]

CFX_WideString operator+ | ( | const CFX_WideString & | str1,
|  | FX_WCHAR | ch
| ) |  |
| inline

连接带缓冲字节字符串和单个字符或字节。

参数

  [in] | str1 | 带缓冲宽字符串。
  [in] | ch | 单个字符。

返回
  CFX_WideString对象。

## ◆ operator+() [20/24]

CFX_WideString operator+ | ( | FX_WCHAR | ch,
|  | const CFX_WideString & | str2
| ) |  |
| inline

连接单个字符或字节和带缓冲字节字符串。

参数

  [in] | ch | 单个字符。
  [in] | str2 | 带缓冲宽字符串。

返回
  CFX_WideString对象。

## ◆ operator+() [21/24]

CFX_WideString operator+ | ( | const CFX_WideString & | str1,
|  | FX_LPCWSTR | str2
| ) |  |
| inline

连接带缓冲宽字符串和以零结尾的C风格字符串。

参数

  [in] | str1 | 带缓冲宽字符串。
  [in] | str2 | 以零结尾的C风格字符串。

返回
  CFX_WideString对象。

## ◆ operator+() [22/24]

CFX_WideString operator+ | ( | FX_LPCWSTR | str1,
|  | const CFX_WideString & | str2
| ) |  |
| inline

连接以零结尾的C风格字符串和带缓冲字节字符串。

参数

  [in] | str1 | 以零结尾的C风格字符串。
  [in] | str2 | 带缓冲宽字符串。

返回
  CFX_ByteString对象。

## ◆ operator+() [23/24]

CFX_WideString operator+ | ( | const CFX_WideString & | str1,
|  | const CFX_WideStringC & | str2
| ) |  |
| inline

连接带缓冲字节字符串和非缓冲字节字符串。

参数

  [in] | str1 | 带缓冲宽字符串。
  [in] | str2 | 非缓冲宽字符串。

返回
  CFX_WideString对象。

## ◆ operator+() [24/24]

CFX_WideString operator+ | ( | const CFX_WideStringC & | str1,
|  | const CFX_WideString & | str2
| ) |  |
| inline

连接非缓冲字节字符串和带缓冲字节字符串。

参数

  [in] | str1 | 非缓冲宽字符串。
  [in] | str2 | 带缓冲宽字符串。

返回
  CFX_WideString对象。

## ◆ operator<()

bool operator< | ( | const CFX_WideString & | lhs,
|  | const CFX_WideString & | rhs
| ) |  |

比较(<)操作符重载。区分大小写。

参数

  [in] | lhs | 左侧宽字符串。
  [in] | rhs | 右侧宽字符串。

返回
  true 表示lhs小于rhs，false 表示lhs不小于rhs。

## ◆ operator=() [1/2]

CFX_ByteStringC & CFX_ByteStringC::operator= | ( | const CFX_ByteString & | src | ) |
| inline

赋值(=)运算符重载。来自CFX_ByteString对象。

参数

  [in] | src | CFX_ByteString对象的常量引用。

返回
  当前对象本身的引用。

## ◆ operator=() [2/2]

CFX_WideStringC & CFX_WideStringC::operator= | ( | const CFX_WideString & | src | ) |
| inline

赋值(=)运算符重载。来自CFX_ByteString对象。

参数

  [in] | src | CFX_ByteString对象的常量引用。

返回
  当前对象本身的引用。

## ◆ operator==() [1/5]

bool operator== | ( | const CFX_WideString & | s1,
|  | const CFX_WideString & | s2
| ) |  |

比较(==)操作符重载。区分大小写。

参数

  [in] | s1 | 第一个宽字符串。
  [in] | s2 | 第二个宽字符串。

返回
  true 表示相等，false 表示不相等。

## ◆ operator==() [2/5]

bool operator== | ( | const CFX_WideString & | s1,
|  | const CFX_WideStringC & | s2
| ) |  |

比较(==)操作符重载。区分大小写。

参数

  [in] | s1 | 第一个宽字符串。
  [in] | s2 | 第二个宽字符串。

返回
  true 表示相等，false 表示不相等。

## ◆ operator==() [3/5]

bool operator== | ( | const CFX_WideStringC & | s1,
|  | const CFX_WideString & | s2
| ) |  |

比较(==)操作符重载。区分大小写。

参数

  [in] | s1 | 第一个宽字符串。
  [in] | s2 | 第二个宽字符串。

返回
  true 表示相等，false 表示不相等。

## ◆ operator==() [4/5]

bool operator== | ( | const CFX_WideString & | s1,
|  | FX_LPCWSTR | s2
| ) |  |

比较(==)操作符重载。区分大小写。

参数

  [in] | s1 | 第一个宽字符串。
  [in] | s2 | 第二个宽字符字符串。

返回
  true 表示相等，false 表示不相等。

## ◆ operator==() [5/5]

bool operator== | ( | FX_LPCWSTR | s1,
|  | const CFX_WideString & | s2
| ) |  |

比较(==)操作符重载。区分大小写。

参数

  [in] | s1 | 第一个宽字符字符串。
  [in] | s2 | 第二个宽字符串。

返回
  true 表示相等，false 表示不相等。