如何在驱动中访问系统服务调度表(System Service Dispatch Table)

frman 2006-01-16 12:33:30
我在网上找了段可以实现驱动级隐藏文件的代码,但在ddk编译时却出现了
error LNK2001: unresolved external symbol _KeServiceDescriptorTable
这个错误。请问应该如何解决啊?

sources文件:

TARGETNAME=skykernel
TARGETTYPE=DRIVER
DRIVERTYPE=WDM
TARGETPATH=obj
BROWSER_INFO=1
C_DEFINES=-DDRIVER

INCLUDES=$(BASEDIR)\inc


SOURCES=skykernel.c


驱动核心文件部分:

#include "ntddk.h"
#include "string.h"

#define IOCTL_EVENT_MSG CTL_CODE(FILE_DEVICE_UNKNOWN, 0x927, METHOD_BUFFERED , FILE_ANY_ACCESS)

typedef struct _ServiceDescriptorEntry {
unsigned int *ServiceTableBase;
unsigned int *ServiceCounterTableBase;
unsigned int NumberOfServices;
unsigned char *ParamTableBase;
}ServiceDescriptorTableEntry, *PServiceDescriptorTableEntry;

//ULONG KeServiceDescriptorTable = 0x8046AB80;
extern PServiceDescriptorTableEntry KeServiceDescriptorTable;
...全文
174 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
frman 2006-01-17
  • 打赏
  • 举报
回复
可以了 谢谢
TimiXu 2006-01-16
  • 打赏
  • 举报
回复
modify sources file

add this line .try

TARGETLIBS= $(DDK_LIB_PATH)\ntoskrnl.lib
yangyzqo 2006-01-16
  • 打赏
  • 举报
回复
路过,帮顶

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧