Для доступа к устройствам Windows CE из моего настольного приложения я использовал самописную DLL.
Эта DLL использовала RAPI для вызова необходимых функций на стороне устройства. Все работало хорошо в течение многих лет.
Но теперь я хотел использовать эту DLL в службе Windows. И это не удалось. Отладка показывает, что это функция CeRapiInitEx (), которая не работает. И до сбоя он блокируется примерно на 5 секунд, хотя MSDN говорит, что это асинхронная неблокирующая функция. GetLastError () дает мне 1444L «Неверный идентификатор потока».
Кто-то в Интернете упомянул, что RAPI не работал из служебных потоков в ActiveSync 4. Хотя информация скудная и неаккуратная.
У кого-нибудь есть такая же проблема или просто есть что сказать? Правда ли, что RAPI недоступен из службы Windows? Если да, есть ли обходные пути?