包含 ksmedia.h 后 driver 中的编译警告

Compilation warnings in driver after including ksmedia.h

我正在开发 driver 基于 Microsoft 的 Toaster KMDF filter driver example。我已经包含 headers 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_

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

你能帮我了解一下这是什么原因吗?我可以做些什么来删除警告吗?

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

#include <ksmedia.h>

rc 文件中。当 RC(资源编译器)处理 ksmedia.h 时,他给出了这个警告和错误。因为 ksmedia.h 并非设计为由 RC 编译器处理。还包括 windows.hfilter.h 到 rc(如示例)也是错误的。如果 RC 需要一些 definitions/macros - 仅包括 winres.h