2017-03-06 191 views
2

レベル3の警告をすべて削除するように指示され、C4192に対処するよう具体的に指示されています。msxml6をインポートするときにC4192が表示されないのはなぜですか?

私のコードは、C4192

#import "msxml6.dll" named_guids 

と「良いコードを」原因「不正なコード」の例に秋を行い、

#import "msxml6.dll" exclude("ISequentialStream","_FILETIME")named_guids 

にのみ問題を実装するのに十分な簡単さであるIこの警告は表示されません。 msxml6.dllのバージョン6.30.7601.18431をインポートしていますが、私が何をしても、この警告は表示されません。

また、no_auto_excludeオプションを指定してインポートしました。生成されたtliファイルとtlhファイルにISequentialStreamまたは_FILETIMEの参照が見つかりませんでした。

「良い」コードを使用するように更新していますが、何が起こっているのかはまだ分かりません。

答えて

2

特に、新しいバージョンのMSXML6.0では、特にWin10 OS以降の宣言が変更されたため、この問題が発生します。

あなたの質問に記載されている「不良コード」を持つ従来のコードベースでこの警告メッセージが発生しました。

あなたのシステムでは、MSXML6.DLLの古いバージョン(「C:\ Windows \ System32 or SysWow64」にあります)があります。

これは、あなたのクエリを喚起することを望みます。

+0

優秀!これはまた、なぜこの警告を受けたのか(なぜそうでなければ、私はそれを削除するように指示されるのだろう)、そして私(そして私の同僚の開発者)はそうしなかった理由を説明します。 –

+0

それを聞いてうれしい:) – SrikanthS

関連する問題