FNIDLE

适用于:Outlook 2013 | Outlook 2016

定义 MAPI 空闲引擎根据优先级定期调用的空闲例程。

属性
标头文件:
Mapiutil.h
由实现的已定义函数:
客户端应用程序和服务提供商
由调用的已定义函数:
MAPI
相应的指针类型:
PFNIDLE
BOOL (STDAPICALLTYPE FNIDLE)(
  LPVOID lpvContext
);

参数

lpvContext

[in]指向每次调用空闲例程时 MAPI 传递给空闲例程的内存块的指针。 此指针由 FtgRegisterIdleRoutine 传递到 pvIdleParam 参数中的 MAPI 空闲引擎。 内存块中的数据可为对空闲例程的调用提供上下文,例如要对其操作的对象或长时间操作的当前状态。

返回值

FALSE

具有 FNIDLE 原型的空闲例程应始终返回 FALSE。

备注

空闲例程的特定功能由实现的客户端应用程序或服务提供程序决定。

客户端或提供程序必须限制空闲例程的每个状态的执行时间。 每个状态都应执行最小数量的处理,更新 lpvContext 指向的上下文数据中的当前状态,并返回到 MAPI 空闲引擎。

客户端或提供程序必须先调用 MAPI 函数 MAPIInitIdle ,然后才能使用 对 FtgRegisterIdleRoutine 函数的调用来注册自己的空闲例程。

以下函数处理 MAPI 空闲引擎和基于 FNIDLE 函数原型的空闲例程:

空闲例程函数 使用情况
ChangeIdleRoutine
更改已注册的空闲例程的特征。
DeregisterIdleRoutine
从 MAPI 系统中删除已注册的空闲例程。
EnableIdleRoutine
禁用或重新启用已注册的空闲例程,而无需将其从 MAPI 系统中删除。
FtgRegisterIdleRoutine
将空闲例程添加到 MAPI 系统,无论是否启用它。
MAPIDeInitIdle
关闭调用应用程序的 MAPI 空闲引擎。
MAPIInitIdle
初始化调用应用程序的 MAPI 空闲引擎。

ChangeIdleRoutineDeregisterIdleRoutineEnableIdleRoutine 采用 FtgRegisterIdleRoutine 返回的函数标记作为输入参数。

当平台的所有前台任务都处于空闲状态时,MAPI 空闲引擎会调用已准备好执行的最高优先级空闲例程。 不能保证在同一优先级的空闲例程之间调用顺序。