Pour accéder aux périphériques Windows CE à partir de mon application de bureau, j'ai utilisé une DLL auto-écrite. Cette DLL utilisait RAPI pour appeler les fonctions nécessaires côté périphérique. Tout a fonctionné correctement pendant des années. Mais maintenant je voulais utiliser cette DLL dans le service Windows. Et ça a échoué. Le débogage montre que c'est la fonction CeRapiInitEx() qui échoue. Et avant d'échouer, il bloque pendant environ 5 secondes, bien que MSDN indique qu'il s'agit d'une fonction asynchrone non bloquante. GetLastError() me donne 1444L "identifiant de thread invalide". Quelqu'un sur Internet a mentionné que RAPI ne fonctionnait pas à partir des threads de service dans ActiveSync 4. Bien que l'information soit mauvaise et scrap.Utilisation de RAPI dans le service Windows
Quelqu'un a-t-il le même problème ou a-t-il quelque chose à dire? Est-il vrai que RAPI n'est pas accessible depuis le service Windows? Si oui, existe-t-il des solutions de contournement?