尝试使用 RtlInitUnicodeString() 时遇到链接器错误

Linker error encountered upon attempting to use RtlInitUnicodeString()

用于初始化UNICODE_STRING结构的函数RtlInitUnicodeString()不能用作链接器错误,指出编译期间抛出unresolved external symbol RtlInitUnicodeString referenced in function ***func_name*** (LNK2019)

我尝试使用语句 #pragma comment(lib, "NtosKrnl.lib") 来解决手头的问题(因为我假设链接提到的库 here 会解决它)但是链接器错误表明消息 cannot open file 'ntoskrnl.lib' (LNK1104) 被抛出。

提前致谢。

函数不能直接调用,因为它们属于内部 API 并且它们的原型头通过 winternl.h 头文件公开(至少在这种情况下)。为了使用属于内部 API 一部分的功能,可以使用 运行 时间动态 linking 到 link Ntdll.dll 库作为表示 here or link the library file ntdll.lib, which is a provided as a part of the WDK.