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 空闲引擎。 |
ChangeIdleRoutine、 DeregisterIdleRoutine 和 EnableIdleRoutine 采用 FtgRegisterIdleRoutine 返回的函数标记作为输入参数。
当平台的所有前台任务都处于空闲状态时,MAPI 空闲引擎会调用已准备好执行的最高优先级空闲例程。 不能保证在同一优先级的空闲例程之间调用顺序。