-
-
[求助]KeServiceDescriptorTable导出不了和控制码问题.
-
-
[求助]KeServiceDescriptorTable导出不了和控制码问题.
我使用的是 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直播授课