今天,我遇到了一个示例,该示例显示了Windows内核模式驱动程序中.inl文件的用法。我有以下代码:
Wdk.h
#include "Wdk\RtlKernel.inl"
// In function
#define SuccessCheck$(x) if (!NT_SUCCESS(vStatus = (x))) break
SuccessCheck$(RtlInitSystem());
RtlKernel.inl
inline auto RtlInitSystem() -> NTSTATUS
{
if (GetSystemVersion() == SystemVersion::Unknown)
{
return STATUS_NOT_SUPPORTED;
}
return STATUS_SUCCESS;
}
我的头中包含文件,但是当我尝试编译项目时,该函数(RtlInitSystem()
)未定义。可能是什么问题?我是否需要任何特殊设置才能在内核模式驱动程序中使用内联文件?一切都在同一个命名空间中,文件包含在项目中。