阅读:1459回复:12
这个问题,你一定知道怎么解决!(因为我是菜菜鸟)
自己定义的:
LONG MyfileDevice::HookRegEnumValue(HKEY hkey, DWORD iValue, PCHAR lpszValue, PDWORD lpcchValue, PDWORD lpdwReserved, PDWORD lpdwType, PBYTE lpbData, PDWORD lpcbData) { …… } 引用: Hook_Device_Service_C(___RegEnumValue,HookRegEnumValue,&thunkREG); Hook_Device_Service_C 的原型是: PVOID Hook_Device_Service_C(DWORD Service, PVOID pHandler, HDSC_Thunk* pThunk) 出现的错误: error C2664: \'LOCK_Hook_Device_Service_C\' : cannot convert parameter 2 from \'long (unsigned long,unsigned long,char *,unsigned long *,unsigned long *,unsigned long *,unsigned char *,unsigned long *)\' to \'void *\' 我不能改HookRegEnumValue的返回值类型,请问可有其它解决办法? [编辑 - 8/2/02 by hnaumath] |
|
沙发#
发布于:2002-08-01 21:18
怎么就没人理我???
分数太少??? |
|
板凳#
发布于:2002-08-01 22:16
HookRegEnumValue是一个成员函数,调用函数应用
HookRegEnumValue(...) 而且, PVOID 是一个指针,应将返回值赋给一个变量,再传递地址 如:long hr=HookRegEnumValue(...); Hook_Device_Service_C(___RegEnumValue,&hr,&thunkREG); |
|
地板#
发布于:2002-08-01 22:56
楼上的兄弟,不行呀!
|
|
地下室#
发布于:2002-08-02 10:21
Hook_Device_Service_C(___RegEnumValue, (PVOID)HookRegEnumValue,&thunkREG);
强制类型转换 :( |
|
5楼#
发布于:2002-08-02 15:48
谢谢,我已经试了,不行得
|
|
6楼#
发布于:2002-08-02 17:15
没有看仔细。
是要给个handle啊,不是function指针! 先得到handle |
|
7楼#
发布于:2002-08-02 17:29
HookRegEnumValue函数当然应返回一个句柄
|
|
8楼#
发布于:2002-08-02 17:59
如果是返回handle。
就这样Hook_Device_Service_C(___RegEnumValue, (PVOID)&yourhandle,&thunkREG); |
|
9楼#
发布于:2002-08-02 18:47
各位老大,
PVOID 就是 void * 大虾们请多想办法,帮我搞定,小生感激 @ @ ! |
|
10楼#
发布于:2002-08-02 20:09
long yourhandle = HookRegEnumValue(...);
Hook_Device_Service_C(___RegEnumValue, (PVOID)&yourhandle,&thunkREG); 前提是HookRegEnumValue返回的确实是你要的handle HookRegEnumValue是干什么的? |
|
11楼#
发布于:2002-08-02 20:27
我怎样给分?
顺便问一下,有了 *.VXD 以后,我该怎样用它??? [编辑 - 8/2/02 by hnaumath] |
|
12楼#
发布于:2002-08-03 14:29
建议在论坛上找写文章看看先。
比如孙喜明翻译的《Windows VxD权威指南》(差不多是这个名字)。 |
|