首页
社区
课程
招聘
[求助]KeServiceDescriptorTable导出不了和控制码问题.
发表于: 2008-9-2 11:32 6057

[求助]KeServiceDescriptorTable导出不了和控制码问题.

2008-9-2 11:32
6057
我使用的是 VS2005+DDKWizard 创建的驱动文件...

在驱动文件里写

typedef struct _ServiceDescriptorTable_ {
	PVOID pSSDTBase;
	PVOID pServiceCounterTable;
	ULONG ulNumberOfServices;
	PVOID pParamTableBase;
} ServiceDescriptorTable, *PServiceDescriptorTable;

extern PServiceDescriptorTable KeServiceDescriptorTable;


编译时出现以下错误
error LNK2001: unresolved external symbol "struct _ServiceDescriptorTable_ * KeServiceDescriptorTable" (?KeServiceDescriptorTable@@3PAU_ServiceDescriptorTable_@@A)


ps:KeServiceDescriptorTable这个问题已经解决了,直接用DDK的编译器搞掂.

我的R3程序和驱动都定义了以下这句:
#define IOCTL_RESTORE_SSDT (ULONG)CTL_CODE(FILE_DEVICE_UNKNOWN, 0x5200, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA)


我在R3使用 DeviceIoControl(hDriver, IOCTL_RESTORE_SSDT , 省略) 向驱动发送控制码,我在驱动里IRP_MJ_DEVICE_CONTROL指向的函数打了个断点,断不下来..但直接使用 DeviceIoControl(hDriver, 0x5200 , 省略) 这样就断下来了..为什么这样的?

我第一次写驱动..不太懂..向大家请教一下..

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 354
活跃值: (10)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
2
extern "C" PServiceDescriptorTable KeServiceDescriptorTable;
2008-9-2 12:31
0
雪    币: 334
活跃值: (257)
能力值: ( LV2,RANK:150 )
在线值:
发帖
回帖
粉丝
3
也不行噢..~
2008-9-2 12:50
0
雪    币: 424
活跃值: (2529)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
WDK 6001.18001 2K3 x86 Check Build编译无问题

#include "ntddk.h"

typedef struct _ServiceDescriptorTable_ {
PVOID pSSDTBase;
PVOID pServiceCounterTable;
ULONG ulNumberOfServices;
PVOID pParamTableBase;
} ServiceDescriptorTable, *PServiceDescriptorTable;

extern PServiceDescriptorTable KeServiceDescriptorTable;

extern "C" NTSTATUS DriverEntry(PDRIVER_OBJECT pDrvObj, PUNICODE_STRING pusRegPath)
{
return STATUS_SUCCESS;
}
2008-9-2 13:17
0
雪    币: 8833
活跃值: (2419)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
5
请使用Win2k DDK的编译器+WDK的头和lib
2008-9-2 14:06
0
雪    币: 334
活跃值: (257)
能力值: ( LV2,RANK:150 )
在线值:
发帖
回帖
粉丝
6
汗.~ 直接用DDK的那个就可以编译了..
2008-9-2 15:01
0
游客
登录 | 注册 方可回帖
返回