Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Outlook 2013 | Outlook 2016
Ajoute une routine inactive basée sur une fonction FNIDLE au système MAPI.
| Propriété | Valeur |
|---|---|
| Fichier d’en-tête : |
Mapiutil.h |
| Implémenté par : |
MAPI |
| Appelé par : |
Applications clientes et fournisseurs de services |
FTG FtgRegisterIdleRoutine(
PFNIDLE pfnIdle,
LPVOID pvIdleParam,
short priIdle,
ULONG csecIdle,
USHORT iroIdle
);
Paramètres
pfnIdle
[in] Pointeur vers la routine inactive.
pvIdleParam
[in] Pointeur vers un bloc de mémoire que le moteur inactif doit transmettre en tant que paramètre à la routine inactive lorsqu’il l’appelle.
priIdle
[in] Priorité initiale de la routine inactive. Les priorités possibles pour les routines définies par l’implémentation sont supérieures ou inférieures à zéro, mais pas zéro. La priorité zéro est réservée à un événement utilisateur tel qu’un clic de souris ou un message WM_PAINT. Les priorités supérieures à zéro représentent les tâches en arrière-plan qui ont une priorité plus élevée que les événements utilisateur et qui sont distribuées dans le cadre de la boucle de pompe de messages Windows standard. Les priorités inférieures à zéro représentent les tâches inactives qui s’exécutent uniquement pendant le temps d’inactivité de la pompe de messages. Voici quelques exemples de priorités : 1 pour la soumission au premier plan, 2 pour l’insertion de caractères de modification d’alimentation et 3 pour le téléchargement de nouveaux messages.
csecIdle
[in] Valeur de temps initiale, en centièmes de seconde, à utiliser pour spécifier des paramètres de routine inactifs. La signification de la valeur de temps initiale varie en fonction de ce qui est passé dans le paramètre iroIdle . La signification peut être l’une des suivantes :
Période minimale d’inaction de l’utilisateur qui doit s’écouler avant que le moteur d’inactivité MAPI appelle la routine inactive pour la première fois, si l’indicateur FIROWAIT est défini dans iroIdle. Une fois ce délai écoulé, le moteur inactif peut appeler la routine d’inactivité aussi souvent que nécessaire.
Intervalle minimal entre les appels à la routine inactive, si l’indicateur FIROINTERVAL est défini dans iroIdle.
iroIdle
[in] Masque de bits des indicateurs utilisés pour définir les options initiales de la routine inactive. Les indicateurs suivants peuvent être définis :
FIRONOADJUSTMENT
Utilisez cet indicateur pour spécifier que le minuteur de routine inactif ne doit pas être ajusté pour la mise en veille ou la reprise. Le comportement par défaut sans cet indicateur est que le temps de veille est exclu lors du calcul du temps écoulé. Si FIRONOADJUSTMENT est passé, le temps de veille est inclus lors du calcul du temps écoulé.
FIRODISABLED
La routine inactive doit être désactivée lors de l’inscription. L’action par défaut consiste à activer la routine inactive lorsque FtgRegisterIdleRoutine l’inscrit.
FIROINTERVAL
La durée spécifiée par le paramètre csecIdle est l’intervalle minimal entre les appels successifs à la routine inactive.
FIROONCEONLY
Obsolète. Ne pas utiliser.
FIROPERBLOCK
Obsolète. Ne pas utiliser.
FIROWAIT
Le temps spécifié par le paramètre csecIdle est la période minimale d’inaction de l’utilisateur qui doit s’écouler avant que le moteur d’inactivité MAPI appelle la routine inactive pour la première fois. Une fois ce délai écoulé, le moteur inactif peut appeler la routine d’inactivité aussi souvent que nécessaire.
Valeur renvoyée
La fonction FtgRegisterIdleRoutine retourne une balise de fonction identifiant la routine inactive qui a été ajoutée au système MAPI. Si FtgRegisterIdleRoutine ne peut pas inscrire la routine inactive pour l’application cliente ou le fournisseur de services, par exemple en raison de problèmes de mémoire, elle retourne NULL.
Remarques
Les fonctions suivantes traitent du moteur d’inactivité MAPI et des routines d’inactivité basées sur le prototype de fonction FNIDLE .
| Fonction de routine inactive | Utilisation |
|---|---|
|
ChangeIdleRoutine |
Modifie les caractéristiques d’une routine inactive inscrite. |
|
DeregisterIdleRoutine |
Supprime une routine inactive inscrite du système MAPI. |
|
EnableIdleRoutine |
Désactive ou réactive une routine inactive inscrite sans la supprimer du système MAPI. |
|
FtgRegisterIdleRoutine |
Ajoute une routine inactive au système MAPI, avec ou sans activation. |
|
MAPIDeInitIdle |
Arrête le moteur d’inactivité MAPI pour l’application appelante. |
|
MAPIInitIdle |
Initialise le moteur d’inactivité MAPI pour l’application appelante. |
ChangeIdleRoutine, DeregisterIdleRoutine et EnableIdleRoutine prennent comme paramètre d’entrée la balise de fonction retournée par FtgRegisterIdleRoutine.
Lorsque toutes les tâches de premier plan de la plateforme deviennent inactives, le moteur d’inactivité MAPI appelle la routine d’inactivité de priorité la plus élevée qui est prête à s’exécuter. Il n’existe aucune garantie d’appeler l’ordre parmi les routines inactives de la même priorité.
Voici un exemple d’utilisation de l’indicateur FIRONOADJUSTMENT dans le paramètre iroIdle .
Inscrivez une routine inactive avec un délai de 5 minutes.
Mettre l’ordinateur en veille prolongée après 1 minute (4 minutes restantes sur le minuteur).
Reprenez l’ordinateur 10 minutes plus tard.
Le comportement par défaut, sans FIRONOADJUSTMENT, est que vous devez encore attendre 4 minutes de plus pour que votre routine s’exécute. Autrement dit, votre minuterie a été ajustée pour tenir compte de la durée de sommeil de l’ordinateur. Toutefois, si vous réussissez FIRONOADJUSTMENT, votre routine inactive s’exécute immédiatement, car plus de 5 minutes de temps réel se sont écoulées.