我正在基于Microsoft的Toaster KMDF filter driver example开发驱动程序。我已包含标题windef.hks.hksmedia.h,现在看到以下警告:

警告#1:


  \\...\ksmedia.h(732): warning RC4011: identifier truncated to 'STATIC_KSDATAFORMAT_SUBTYPE_WAV'


ksmedia.h的732行显示:

#if !defined( STATIC_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX )


警告2:


  \\...\ksmedia.h(7795): warning RC4067: unexpected characters following '#endif' directive; newline expected


ksmedia.h的第7795行显示:

#endif _AUDIO_CURVE_TYPE_


即使我有另一个包含头文件并且不显示警告的项目(不是KMDF),也会发生这种情况。

您能帮我了解原因吗?我可以采取一些措施消除警告吗?

最佳答案

根据您的错误,我可以说您直接或间接(通过另一个包含)添加行:

#include <ksmedia.h>


在rc文件中。当RC(资源编译器)处理ksmedia.h时,他会给出确切的警告和错误。因为ksmedia.h并非旨在由RC编译器处理。也将windows.hfilter.h包含到rc中(例如,示例)在意义上也是错误的。如果需要RC的一些定义/宏-仅包含winres.h

10-08 09:38