Windows GetUserNameEx失败,错误为1114(错误为\u DLL\u INIT\u失败)
我在资源管理器中使用了右键单击的shell扩展。在具有win 7 Ent SP1的特定计算机上,从QueryContextMenu()调用GetUserNameEx失败,GetLastError返回错误\u DLL\u INIT\u失败。可以看出,GetUserName API也会失败,并产生相同的错误代码。机器上存在alockout.dll(MS accout锁定工具) Process monitor和Process Explorer未显示任何故障迹象。已在资源管理器中成功加载Secur32.dll和alockout.dll(从Process Explorer中可以看到)。当alockout.dll不存在时,一切正常,即GetUserNameEx返回用户名 有人能告诉我这里出了什么问题吗?如何排除此类问题?(可用于进一步诊断此问题的任何工具) 注: 1.类似的帖子已经出现在微软的博客上,但没有回应:Windows GetUserNameEx失败,错误为1114(错误为\u DLL\u INIT\u失败),windows,dll,Windows,Dll,我在资源管理器中使用了右键单击的shell扩展。在具有win 7 Ent SP1的特定计算机上,从QueryContextMenu()调用GetUserNameEx失败,GetLastError返回错误\u DLL\u INIT\u失败。可以看出,GetUserName API也会失败,并产生相同的错误代码。机器上存在alockout.dll(MS accout锁定工具) Process monitor和Process Explorer未显示任何故障迹象。已在资源管理器中成功加载Secur32.
嗯,您不应该在生产环境中运行alockout.dll。它仅用于解决帐户锁定问题,应在调查结束后立即卸载。解决方法是删除alockout.dll。正如alockout.dll的文档中所指出的,它使用AppInit_dll,这确实应该被调用。感谢您的回复。如果生产中需要alockout.dll,有没有办法找出导致此错误的确切原因?我对Explorer.exe使用了depends.exe工具(评测选项)。然而,在我的情况下,它并没有那么方便(因为它在Explorer.exe退出时(不知何故)自动停止评测,并且不允许我评测到可以在Explorer中右键单击的位置)。是否有任何其他工具可以帮助我进一步解决此错误?如果生产中需要alockout.dll,则您将无法使用,因为
AppInit\u DLLs
会导致应用程序随机失败Dependes.exe
不会有帮助,因为它只研究静态依赖项,而且AppInit_DLLs
不仅是一个动态依赖项,它是一个动态依赖项,甚至不在所分析的代码中。这只是上帝的一只手,伸进你的身体,搅乱你的进程。如果您真的想调试它,您需要打开加载程序快照并查看哪些DLL未能初始化。但我重申,您的配置不受支持。