【发布时间】:2010-02-02 14:14:22
【问题描述】:
我目前正在测试一个 .NET 2.0 客户端应用程序是否符合 Windows 7 软件徽标(“与 Windows 7 兼容”的东西)并得到一个令我困惑的奇怪结果。
Windows 7 软件徽标工具包测试返回“应用程序未通过多用户会话合规性检查”的警告,然后给出一大堆我无法解读的奇怪消息。
这对我来说更加奇怪,因为当多个用户在同一台机器上运行该应用程序时(使用快速用户切换等),该应用程序确实可以正常工作,并且在测试期间或在测试期间从未产生过这样的错误利用。只有当我运行 Windows 7 软件徽标工具包时,我才会收到这些消息,并且只能从工具包的日志/报告本身获得。
这是它返回的示例:
警告: 访问仅限于提升的进程。OpenProcessToken: Token () 仅允许具有高强制完整性标签的提升进程访问“TOKEN_QUERY”标签6d3d22a8 - 对象类型6d3d34c0 - 对象名称8 - 拒绝访问 Bit6d3d4f90 - 字符串拒绝访问 BitvfLogoLuaPriv!+6d3d780d (@0)vfLogoLuaPriv!+6d3d7f23 (@0)vfLogoLuaPriv!+6d3d7f9a (@0)vfLogoLuaPriv!+6d3d81dd (@0)vfLogoLuaPriv!+6d3e0769 (@GetCached)SHELL388b5_Shell 0)SHELL32!Shell_GetCachedImageIndexW+893a (@0)SHELL32!Shell_GetCachedImageIndexW+81ad (@0)SHELL32!Shell_GetCachedImageIndexW+78bb (@0)SHELL32!DllGetClassObject+b5e(@0)SHELL32!DllGetClassObject+a46(@0)SHELL32!SHGetFolderPathEx +2c (@0)SHELL32!SHGetFolderPathW+ce (@0)vf_rdvcompat!+71de4f32 (@0)vf_rdvcompat!+71de509d (@0)verifier!VerifierGetProviderHelper+63c0 (@0)vrfcore!VerifierTlsSetValue+4bb (@0)ntdll !RtlCreateProcessParametersEx+b58 (@0)ntdll!RtlDestroyProcessParameters+409 (@0 )ntdll!RtlCompactHeap+43c (@0)ntdll!LdrGetProcedureAddress+94a4 (@0)ntdll!RtlResetRtlTranslations+c63 (@0)ntdll!LdrInitializeThunk+e(@0)
其他一些(截断以保护您的眼睛):
警告:访问仅限于提升的进程。OpenProcess:进程(pid 0x00001780)仅允许具有高度强制性完整性的提升进程访问“PROCESS_QUERY_INFORMATION”
警告:对象在受限命名空间中打开/创建。CreateFileMappingW:“Global\Cor_Private_IPCBlock_6016”部分位于受限命名空间 (Global)6d3d2590
我正在测试的应用程序是一个相当简单的 .NET 2.0 应用程序,它不会做任何奇怪的事情(我能想到的)......我不使用任何奇怪的 P/Invoke 调用或任何东西。
我不知道为什么 Software Logo Toolkit 测试会给我这个警告,它来自哪里,以及为什么。
我的 Win32 编程技能有点生疏,所以我什至不确定从哪里开始寻找这些消息的来源。有没有人有任何想法、线索、建议或提示,可以从哪里开始或尝试什么来解决这个问题,以便我找出我一定做错了什么来产生这个警告?
【问题讨论】:
-
它们可能是误报。
-
嗯...我没想到。但是如何确定呢?
-
如果代码运行良好,它们可能是误报。但是,我不能保证。
标签: .net windows-7 logo-testing