为什么不能使用GetProcAddress返回Kernel32.dll的函数地址?比如RegisterServiceProcess!
在使用GetProcAddress()时遇到的问题。
typedef DWORD (WINAPI *LPREGESTERSERVICEPROC)(DWORD,DWORD);LPREGESTERSERVICEPROC lpRegesterServiceProc;
HINSTANCE hIns = LoadLibrary("kernel32");
if(hIns)
{
lpRegesterServiceProc = (LPREGESTERSERVICEPROC)GetProcAddress(hIns,"RegisterServiceProcess");//为什么这里不能正确得到RegiesterServiceProcess的地址而返回错误?
if(NULL == lpRegesterServiceProc)
AfxMessageBox("GetProcAddress Error!");
FreeLibrary(hIns);
}
为什么不能正确得到RegiesterServiceProcess的地址而返回错误?
但在得到其他地址,比如PSAPI的EnumProcesses时返回却是正确的,试了好几个,都可以,唯独kernel32.dll不可以,为什么会这样呢?
另外我在提升了进程的权限后结果也是一样,难道是KERNEL32不允许访问?又或是其它原因?
哪位兄台能替兄弟解答这个问题,已经困惑了好多天了。