GetModuleName返回多余的字符

时间:2018-10-16 17:18:51

标签: delphi

我正在DLL中使用上述功能来获取其完整路径。该DLL是ISAPI dll,位于"c:\inetpub\dlls"GetModuleName函数返回"\\?\c:inetpb\dlls\DLL.exe"

我不明白为什么函数在开始时会返回多余的字符。这不是一个大问题,因为我可以简单地剥离前三个字符,除非当然该函数并不总是在不同的服务器上返回这些相同的字符,否则会出现问题。

任何人都可以解释为什么这样做以及在所有服务器上是否会一致地这样做吗?

我已经搜索过Google,但据我所知,没有任何内容。

1 个答案:

答案 0 :(得分:4)

我假设您正在使用函数GetModuleFileName(这是对GetModuleName的搜索返回的结果)。

GetModuleFileName的文档指出... 返回的字符串将使用加载模块时指定的格式。因此,路径可以是长文件名,也可以是短文件名,并且可以使用前缀“ \?”

我想保存路径是始终检查前缀,除非您完全确定返回的路径一致地是前缀还是不依赖于加载DLL的过程。

相关问题