繁体   English   中英

XFS如何找到WFPOpen?

[英]How XFS finds WFPOpen?

我将为我自己的硬件实现一个SPI(可能是虚拟的)。 正如我发现(也许我错了)应用程序调用WFSOpen时,XFS在SPI中调用WFPOpen。 但这个“在SPI中”意味着在哪里? 也许我应该给出在注册表中找到WFPOpen的dll文件的地址。 我还认为应该在HKLM \\ XFS \\ Service_Provider \\\\ DllName中给出dll路径。 是这样,是否足够? XFS对此注册表路径和密钥敏感,并使用它来查找SPI的位置吗? 我已经完成了上面的工作,但是我获得了WFS_ERR_SERVICE_NOT_FOUND。 似乎XFS没有在dll中查找该函数。 有什么不对?

我认为发送xfs日志会更好,以便能够更好地处理问题。 https://www.dropbox.com/s/6wwbjfpxxibjnl1/9603071652%20-%20XFSTrace.7z?dl=0

从应用程序执行WFSOpen时,您可以设置要打开的逻辑服务名称。 XFS管理器将尝试在Windows注册表中找到此名称:

HKEY_USERS / .DEFAULT(或用户启动SESION)/ XFS / LOGICAL_SERVICES /。

对于每个逻辑服务名称,都有一个带有“provider”变量的注册表项。

使用此“provider”变量的值,XFS MANAGER转到:

HKEY_LOCAL_MACHINE / SOFTWARE / XFS / value_for_this_provider /。

在此文件夹中,变量“dllname”包含要为此SPI加载的dll。

祝好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM