2017-03-06 24 views
2

我們接到指示,要求消除所有3級警告,並專門告知C4192。爲什麼在導入msxml6時沒有得到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的引用。

我即將更新爲使用「良好」代碼並繼續,但我仍然想知道發生了什麼。

回答

2

這是一個特別的問題,因爲新版本的MSXML6.0改變了聲明,尤其是從Win10 OS開始。

我們已經遇到了這個警告信息,我們遺留的代碼庫中有'壞代碼',你在你的問題中提到過。你的系統有MSXML6.DLL的舊版本(存在於「C:\ Windows \ System32或SysWow64」中)。

希望這可以確定您的查詢。

+0

傑出!這也可以解釋爲什麼有些人會收到這個警告(否則,爲什麼我會被指示刪除它),而我(和我的開發人員)卻沒有。 –

+0

很高興聽到:) – SrikanthS

相關問題