taianmonkey
驱动牛犊
驱动牛犊
  • 注册日期2006-03-23
  • 最后登录2014-08-18
  • 粉丝0
  • 关注0
  • 积分163分
  • 威望602点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
阅读:1665回复:3

"error LNK2019: unresolved external symbol _HookZwCreateProcess@0 "如何解决?谢谢!

楼主#
更多 发布于:2009-07-03 17:59
HookZwCreateProcess例程的实现放在了Process.c中,
形式如下:
VOID NTAPI HookZwCreateProcess()
{
       。。。。
}
HookZwCreateProcess例程的声明放在了Process.h中,
形式如下:
VOID NTAPI HookZwCreateProcess();

而真正的调用,放在了Main.c中,
形式如下:
NTSTATUS
DeviceControl(
                  IN PFILE_OBJECT FileObject,
                  IN BOOLEAN Wait,
                  IN PVOID InputBuffer,
                  IN ULONG InputBufferLength,
                  OUT PVOID OutputBuffer,
                  IN ULONG OutputBufferLength,
                  IN ULONG IoControlCode,
                  OUT PIO_STATUS_BLOCK IoStatus,
                  IN PDEVICE_OBJECT DeviceObject
)
{
    IoStatus->Status = STATUS_SUCCESS;
    IoStatus->Information = 0;

    switch( IoControlCode )
    {
    case CTL_CODE_LSR_HOOK_ZWCREATEPROCESS:
        {
            HookZwCreateProcess();
        }
        break;
    default:break;
    }

    return IoStatus->Status;
}

编译时,出现了:
error LNK2019: unresolved external symbol _HookZwCreateProcess@0 referenced in function _DeviceControl@36
错误提示,如何解决?
谢谢大侠
tianj03
驱动牛犊
驱动牛犊
  • 注册日期2005-10-23
  • 最后登录2010-09-07
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望96点
  • 贡献值0点
  • 好评度64点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-07-04 11:58
用extern "C"声明HookZwCreateProcess试一下
extern "C" VOID NTAPI HookZwCreateProcess()
{
       。。。。
}
taianmonkey
驱动牛犊
驱动牛犊
  • 注册日期2006-03-23
  • 最后登录2014-08-18
  • 粉丝0
  • 关注0
  • 积分163分
  • 威望602点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-07-04 17:03
用了,没有解决!
#ifdef __cplusplus
extern "C"
#endif
VOID NTAPI HookZwCreateProcess();
期盼高手
liuganchao
驱动牛犊
驱动牛犊
  • 注册日期2009-06-22
  • 最后登录2012-04-20
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望151点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-07-06 03:54
    问题都不会提!!!

要把你的工作环境说一下!!
源码上传!!
不然没人给你解决!!
游客

返回顶部