首页 > 解决方案 > 尝试使用 RtlInitUnicodeString() 时遇到链接器错误

问题描述

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

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

提前致谢。

标签: c++cwinapintdll

解决方案


该函数不能直接调用,因为它们属于内部 API,并且它们的原型头通过winternl.h头文件公开(至少在这种情况下)。为了使用作为内部 API 一部分的函数,可以使用运行时动态链接来链接Ntdll.dll库,如此处所述或者链接库文件ntdll.lib,这是作为WDK的一部分提供的。


推荐阅读