Bonjour,
Je suis en train de convertir des applications Windows qui communiquent entre elles par Mailslot (sur la même machine) en Services Windows.
En tant qu'application Windows, avec donc une fenêtre, mes applications sont"informées" qu'un message est arrivé par un "trigger" du type "Windows Message" WM_***, ce qui permet sur cet évènement d’appeler la routine de lecture de la Mailslot.
Problème : en tant que Service Windows, je ne peux plus avoir ce trigger (car plus de fenêtre Windows), et je ne sais donc plus "quand" lire ma Mailslot pour y trouver un message
Comme il n'y a pas de réelle périodicité dans les messages échangés, j'ai fabriqué une routine qui va périodiquement (toutes les 10 ms) appeler GetMailslotInfo() pour savoir s'il y a un message. Si oui, la routine va ensuite appeler ReadFile() afin de traiter le message, sinon, elle ne fait rien si ce n'est attendre son prochain appel 10 ms après.
MAIS : cette méthode de vérification périodique ne me plait guère, et j'aimerai savoir s'il existe des triggers, pourquoi pas du type SM_*** (pour Service Message), qui pourrait être utilisés afin d'de savoir quand vérifier ma Mailslot c'est à dire uniquement lorsqu'il y a un message, et non périodiquement.
Bien entendu, j'ai cherché sur MSDN et le Net, mais sans rien trouver...
Je vous remercie d'avoir lu ce message et du temps que vous pourriez consacrer à y répondre.
Cordialement,
T
Partager