我们被指示消除所有3级警告,并已被特别告知解决C4192。
我的代码确实属于错误的代码"导致C4192
的例子#import "msxml6.dll" named_guids
和"好的代码"很容易实现
#import "msxml6.dll" exclude("ISequentialStream","_FILETIME")named_guids
唯一的问题是,我只是没有得到这个警告。我导入的msxml6.dll版本为6.30.7601.18431,无论我做什么,这个警告都没有显示出来。
我还重新导入了它,指定了no_auto_exclude选项,并且在生成的tli和tlh文件中找不到对ISequentialStream或_FILETIME的引用。
我即将更新以使用" good"代码并继续,但我仍然想知道发生了什么。
答案 0 :(得分:3)
这是一个特别的问题,因为新版本的MSXML6.0更改了声明,特别是从Win10 OS开始。
我们已经遇到了这条警告消息,我们的遗留代码库中包含“错误代码”,您在问题中提到过。
在您的情况下,您的系统使用旧版本的MSXML6.DLL(存在于“C:\ Windows \ System32或SysWow64”中)。
希望这会使您的查询变得清晰。