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_THREADHANDLERFX_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.