访问Windows CE设备从我的桌面应用程序的我用自己编写DLL。这DLL用RAPI呼叫必要的功能在装置一边。一切都已经工作多年。

但现在我想利用这个DLL在Windows服务。它失败。调试表明,它是CeRapiInitEx()功能失败。和失败之前这块大约5秒钟,虽然MSDN说它是异步的非块的功能。。()给我1444L"无效的螺纹的识别符".

个人在互联网上提到,RAPI没有工作从业务程动态4.虽然信息是穷人和零碎的.

没有任何人有同样的问题,或只是有什么要说的吗?这是真的,RAPI是不是从窗户服务吗?如果是这样,是否有任何解决方法?

有帮助吗?

解决方案

可能的解决方案这样的问题:

  1. 降级的动态版本3.8和得到服务权限进行交互式(使用系统服务的小程序为此)。
  2. 产生的另一个用户的过程(CreateProcessAsUser),并使用它作为中间层之间的服务和RAPI(即使所有RAPI呼吁在这个过程)。
  3. 另外创建一个用户(非服务)的应用程序,并使用它作为中间层之间的服务和RAPI(即使所有RAPI呼吁在这一应用程序)。
  4. 运行服务编码作为通常的(例如,控制台)应用程序。
  5. 从RAPI到另一个接口,以与其通信设备,例如TCP。

我选择1日,就个人而言,因为它是最适合我的情况。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top