PDA

View Full Version : سوال: مشکل در فهم یه خط کد



fahimeh1512
پنج شنبه 22 اسفند 1392, 10:43 صبح
سلام
دوستان کسی میتونه بگه این دستور داره چیکار میکنه



W7EUtils::GetProcAddr< HRESULT (STDAPICALLTYPE *)(LPVOID pvReserved) >
tfpCoInitialize( pArgs->fpGetProcAddress, hModuleOle32, pArgs->szCoInitialize );



کامنتی که برای این بخش گذاشته اینه

// Load the non-Kernel32.dll functions that we need.



ولی من سردرنمیارم یعنی با تابع GetProcAddress داره ادرس تابع رو توی یه ماژول به دست میاره؟ عملگرهای <> و امضای داخل این عملگرها دارن چیکارمیکنن؟؟

rahnema1
جمعه 23 اسفند 1392, 06:45 صبح
سلام، شما اینجا با یک class template سروکار دارید به نام GetProcAddr که بین دو عملگر <> پارامتر تمپلیت قرار داره که در اینجا پارامتر عبارت است ازاشاره گر به تابع های win32api
یعنی STDAPICALLTYPE میگه که اشاره گر مذکور به یک تابع win32api اشاره خواهد کرد . این تابع مقداری از نوع HRESULT برمی گردونه و آرگومان ورودی اون هم pvReserved هست که از نوع LPVOID می باشد.
حالا از این کلاس GetProcAddr یک شیء درست شده به نام tfpCoInitialize که پرانتز جلوی اون هم مقادیر اولیه برای ساختن اون شیء را در بر داره