何时使用跟踪消息头 (tmh)

问题描述 投票:0回答:0

我使用的是 Visual Studio,我选择了常规的 KMDF 模板。然而,当一切都加载完毕后,我注意到我收到错误提示“无法打开源文件“queue.tmh””。这个错误在所有 3 个 C 类中持续存在,其中每个文件都包含一个跟踪消息头文件,其名称与 C 类相同(只是第一个字母是小写)。但是,在查找之后我了解到我需要构建驱动程序,因为这会自动生成这些 .tmh 文件(它确实生成了)。然后,这解决了除 TRACE_DRIVER 之外的依赖性问题,而 TRACE_DRIVER 显然仍未定义。它仍然可以正常构建,但我找不到任何对 TRACE_DRIVER 的引用,我担心它可能会导致问题。那么我该如何解决这种依赖关系,因为它似乎不存在于 .tmh 文件中或标头内的任何位置。

另外,我到底什么时候需要包含一个 tmh 文件?例如,如果我创建了一个新的 C 类并为该类制作了一个头文件,我是否需要包含该头文件、包含 tmh 文件或两者都执行?我在这里有点困惑,因为它是双向的。例如,在 Queue.C 中它只包含 tmh 文件作为 Queue.tmh 而 Driver.c 包含 Driver.h 和 Driver.tmh 这是为什么?我什么时候需要包括一个与另一个?根据以下文档,我认为如果我使用 WPP 宏,我只需要包含 tmh。但这仍然没有回答为什么 Driver.C 包括两者。我在这里阅读了有关跟踪消息标头的信息,但由于无法回答其余问题而遇到了障碍https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/trace -消息头文件

windows kernel driver windows-kernel kmdf
© www.soinside.com 2019 - 2024. All rights reserved.