|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.|
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
Defines an idle routine that the MAPI idle engine calls periodically according to priority.
Defined function implemented by:
Client applications and service providers
Defined function called by:
Corresponding pointer type:
The specific functionality of the idle routine is determined by the implementing client application or service provider.
The client or provider must limit the execution time of each state of an idle routine. Every state should perform a minimum amount of processing, update the current state in the context data pointed to by lpvContext, and return to the MAPI idle engine.
The following functions deal with the MAPI idle engine and with idle routines based on the FNIDLE function prototype:
Idle routine function
Changes the characteristics of a registered idle routine.
Removes a registered idle routine from the MAPI system.
Disables or re-enables a registered idle routine without removing it from the MAPI system.
Adds an idle routine to the MAPI system, with or without enabling it.
Shuts down the MAPI idle engine for the calling application.
Initializes the MAPI idle engine for the calling application.
ChangeIdleRoutine, DeregisterIdleRoutine, and EnableIdleRoutine take as an input parameter the function tag returned by FtgRegisterIdleRoutine.
When all foreground tasks for the platform become idle, the MAPI idle engine calls the highest priority idle routine that is ready to execute. There is no guarantee of calling order among idle routines of the same priority.