Foxit PDF SDK

类
fx_process.h 文件参考

进程和线程相关定义和类的头文件。 更多...

浏览源代码.

## 类
struct | FX_HTHREAD
| 互斥句柄的类型定义。 更多...
class | CFX_RWLock
| 在非线程模式下，定义为空实现。 更多...
class | CFX_SpinLock
| 在非线程模式下，定义为空实现。 更多...
struct | FX_SYSTEMTIME
| 系统时间结构。 更多...
struct | FX_THREADHANDLER
| 应用程序扩展的线程处理器。 更多...
struct | FXCRT_DATETIMEZONE
| 日期和时间结构。 更多...

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

## 函数
时间
FX_DWORD | FX_Time_GetClock ()
| 获取调用进程已消耗的时钟周期。 更多...
void | FX_Time_GetLocalTime (FX_SYSTEMTIME *pSystemTime)
| 获取当前本地日期和时间。 更多...
void | FX_Time_GetSystemTime (FX_SYSTEMTIME *pSystemTime)
| 获取当前系统日期和时间。 更多...
FX_DWORD | FX_Time_Sleep (FX_DWORD dwMilliseconds)
| 延迟当前运行指定的毫秒数。 更多...
void | FXCRT_GetCurrentSystemTime (FXCRT_DATETIMEZONE &dt)
| 获取当前系统日期、时间和时区信息。 更多...
进程管理
void | FX_Process_Finalize ()
| 结束进程。 更多...
CFX_ProcessContext * | FX_Process_GetContext ()
| 获取进程上下文。 更多...
FX_PROCESSID | FX_Process_GetID ()
| 获取当前进程ID 更多...
FX_LPVOID | FX_Process_GetPrivateData (FX_LPVOID key)
| 获取当前进程中的私有数据。 更多...
void | FX_Process_Initialize ()
| 初始化进程。 更多...
void | FX_Process_RemovePrivateData (FX_LPVOID key)
| 移除当前进程中的私有数据。 更多...
void | FX_Process_SetPrivateData (FX_LPVOID key, FX_LPVOID data, PD_CALLBACK_FREEDATA callback)
| 设置当前进程中的私有数据。 更多...
线程处理器
FX_THREADHANDLER * | FX_Thread_GetHandler ()
| 获取当前线程处理器。 更多...
void | FX_Thread_SetHandler (FX_THREADHANDLER *pThreadHandler)
| 设置当前线程处理器。 更多...
线程函数
FX_HTHREAD | FX_Thread_Create (FX_INT32 nPriority, size_t szStack, FX_CALLBACK_ThreadProc threadProc, FX_LPVOID param)
| 创建一个新线程。 更多...
void | FX_Thread_Exit ()
| 退出当前线程。 更多...
FX_HTHREAD | FX_Thread_GetHandle ()
| 获取当前线程句柄。 更多...
FX_INT32 | FX_Thread_GetLastError ()
| 获取当前线程中的最后错误代码。 更多...
FX_INT32 | FX_Thread_GetPriority (FX_HTHREAD hThread)
| 获取线程优先级。 更多...
FX_LPVOID | FX_Thread_GetPrivateData (FX_LPVOID key)
| 获取当前线程中的私有数据。 更多...
void | FX_Thread_RemovePrivateData (FX_LPVOID key)
| 移除当前线程中的私有数据。 更多...
void | FX_Thread_SetLastError (FX_INT32 nErr)
| 设置当前线程中的最后错误代码。 更多...
void | FX_Thread_SetPriority (FX_HTHREAD hThread, FX_INT32 nPriority)
| 设置线程优先级。 更多...
void | FX_Thread_SetPrivateData (FX_LPVOID key, FX_LPVOID data, PD_CALLBACK_FREEDATA callback)
| 设置当前线程中的私有数据。 更多...
FX_INT32 | FX_Thread_WaitForMultipleThreads (const FX_HTHREAD *pThreads, FX_INT32 nCount)
| 等待多个线程终止。 更多...
FX_INT32 | FX_Thread_WaitForSingleThread (FX_HTHREAD hThread)
| 等待单个线程终止。 更多...
void | FX_Thread_Yield ()
| 将处理器让出给另一个线程。 更多...
上下文访问
CFX_ThreadContext * | FX_Thread_GetContext ()
| 获取当前线程上下文。 更多...
CFX_ExceptionContext * | FX_Thread_GetExceptionContext ()
| 获取当前线程异常上下文。 更多...
互斥量
注解 互斥量在单线程模式下或未定义_FPDFAPI_MT_时被禁用， 在此条件下不要调用以下函数。互斥量支持同一线程中的递归调用。
void | FX_Mutex_Destroy (FX_MUTEX *pMutex)
| 销毁一个互斥量。 更多...
FX_BOOL | FX_Mutex_Initialize (FX_MUTEX *pMutex)
| 初始化一个互斥量。 更多...
void | FX_Mutex_Lock (FX_MUTEX *pMutex)
| 锁定一个互斥量。 更多...
FX_BOOL | FX_Mutex_TryLock (FX_MUTEX *pMutex)
| 尝试锁定一个互斥量。 更多...
void | FX_Mutex_Unlock (FX_MUTEX *pMutex)
| 解锁一个互斥量。 更多...
原子计数
注解 原子计数提供了在多个线程之间访问整数值的原子机制。 以下函数在单线程模式下也能工作。
FX_INT32 | FX_Atom_Add32 (volatile FX_INT32 *pAddend, FX_INT32 nIncrement)
| 增加32位整数值。 更多...
FX_INT64 | FX_Atom_Add64 (volatile FX_INT64 *pAddend, FX_INT64 nIncrement)
| 增加64位整数值。 更多...
FX_INT32 | FX_Atom_Subtract32 (volatile FX_INT32 *pAddend, FX_INT32 nDecrement)
| 减少32位整数值。 更多...
FX_INT64 | FX_Atom_Subtract64 (volatile FX_INT64 *pAddend, FX_INT64 nDecrement)
| 减少64位整数值。 更多...

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

## 自旋锁
注解 自旋锁在单线程模式下或_FPDFAPI_MT_未定义时被禁用，在此条件下不要调用以下函数。 自旋锁是用于同步访问的轻量级并发机制。 自旋锁不支持同一线程中的递归调用。
void | FX_SpinLock_Destroy (FX_SPINLOCK *pSpinLock)
| 销毁一个自旋锁。 更多...
FX_BOOL | FX_SpinLock_Initialize (FX_SPINLOCK *pSpinLock)
| 初始化自旋锁。 更多...
FX_BOOL | FX_SpinLock_IsLocked (FX_SPINLOCK *pSpinLock)
| 确定指定的自旋锁是否被锁定。 更多...
void | FX_SpinLock_Lock (FX_SPINLOCK *pSpinLock)
| 锁定一个自旋锁。 更多...
FX_BOOL | FX_SpinLock_TryLock (FX_SPINLOCK *pSpinLock)
| 尝试锁定一个自旋锁。 更多...
void | FX_SpinLock_Unlock (FX_SPINLOCK *pSpinLock)
| 解锁一个自旋锁。 更多...
#define | FXMT_SPLOCK_OBJ(lock)
#define | FXMT_SPLOCK_THIS

## 读写锁
注解 读写锁在单线程模式下或_FPDFAPI_MT_未定义时被禁用， 在此条件下不要调用以下函数。
void | FX_RWLock_Destroy (FX_RWLOCK *pRWLock)
| 销毁一个读写锁。 更多...
FX_BOOL | FX_RWLock_Initialize (FX_RWLOCK *pRWLock)
| 初始化读写锁。 更多...
void | FX_RWLock_ReadLock (FX_RWLOCK *pRWLock)
| 锁定以进行共享读取。 更多...
void | FX_RWLock_ReadUnlock (FX_RWLOCK *pRWLock)
| 解锁以进行共享读取。 更多...
FX_BOOL | FX_RWLock_TryReadLock (FX_RWLOCK *pRWLock)
| 尝试锁定以进行共享读取。 更多...
FX_BOOL | FX_RWLock_TryWriteLock (FX_RWLOCK *pRWLock)
| 尝试锁定以进行独占写入。 更多...
void | FX_RWLock_WriteLock (FX_RWLOCK *pRWLock)
| 锁定以进行独占写入。 更多...
void | FX_RWLock_WriteUnlock (FX_RWLOCK *pRWLock)
| 解锁以进行独占写入。 更多...
#define | FXMT_RWLOCK_DEFINEOBJ(rwLock, lock, s)
#define | FXMT_RWLOCK_OBJ(lock, s)
#define | FXMT_RWLOCK_THIS
#define | FXMT_RWLOCKOBJECT_DEFINE(rwLockObj)
#define | FXMT_RWLOCKOBJECT_READLOCK(lockObj)
#define | FXMT_RWLOCKOBJECT_READUNLOCK(lockObj)
#define | FXMT_RWLOCKOBJECT_TRYREADLOCK(lockObj)
#define | FXMT_RWLOCKOBJECT_TRYREADLOCK_IF(lockObj)
#define | FXMT_RWLOCKOBJECT_TRYWRITELOCK(lockObj)
#define | FXMT_RWLOCKOBJECT_TRYWRITELOCK_IF(lockObj)
#define | FXMT_RWLOCKOBJECT_WRITELOCK(lockObj)
#define | FXMT_RWLOCKOBJECT_WRITEUNLOCK(lockObj)

## 详细描述

进程和线程相关定义和类的头文件。

Copyright (C) 2003-2026, Foxit Software Inc.. All Rights Reserved.

http://www.foxitsoftware.com

The following code is copyrighted and is the proprietary of Foxit Software Inc.. It is not allowed to distribute any parts of Foxit PDF SDK to third party or public without permission unless an agreement is signed between Foxit Software Inc. and customers to explicitly grant customers permissions.