读书人

Detours的有关问题?

发布时间: 2013-02-24 17:58:56 作者: rapoo

Detours的问题????????
Detours里的DetourAttach函数原型为:

LONG WINAPI DetourAttach(PVOID *ppPointer, PVOID pDetour);


有下面调用代码:

DetourAttach(&(PVOID&)CTestHook::RealRun, (PVOID)(&(PVOID&)CTestHook::DetourRun));


不懂的地方:

(PVOID)(&(PVOID&)这块看不懂,什么意思?&是地址还是引用?DetourAttach第一个参数是个二级指针,第二个是个一级指针,求指导? Detours
[解决办法]
先转换成pvoid的引用

然后取地址!
[解决办法]
(PVOID)(&(PVOID&)这块看不懂,什么意思?&是地址还是引用?
---------------------
这里面既有地址,也有引用

(PVOID)(&(PVOID&)CTestHook::DetourRun)
------------------------------------------------
先是(PVOID&)CTestHook::DetourRun 强转为PVOID的引用
再是&(PVOID&)CTestHook::DetourRun 取地址(也就成个指针了)
最有强转指针为PVOID
[解决办法]
DetourAttach(&(PVOID&)CTestHook::RealRun, (PVOID)(&(PVOID&)CTestHook::DetourRun));

我觉得(PVOID&)CTestHook::DetourRun这句是引用吧。
然后(&(PVOID&)CTestHook::DetourRun)是取引用的地址。
(PVOID)(&(PVOID&)CTestHook::DetourRun)这是把地址强转成PVOID类型。

读书人网 >VC/MFC

热点推荐