static DWORD WINAPI ThreadFuncAttach(INJECTLIBINFO *pInfo),DWORD后的WINAPI是什么意思啊还有:
//远程线程,用来装载DLL
static DWORD WINAPI ThreadFuncAttach(INJECTLIBINFO *pInfo)
{
HINSTANCE hDll=NULL;
pInfo->dwReturnValue = 0;
hDll = (HINSTANCE)pInfo->pfnLoadLibrary(pInfo->szDllName);
if(hDll == NULL)
pInfo->dwReturnValue = pInfo->pfnGetLastError();
return((DWORD)hDll);
}//---------------------------------------------------------------------------
//占位函数,用来计算AfterThreadFuncAttach的大小
static void AfterThreadFuncAttach(void)
{
}
后一个函数AfterThreadFuncAttach不是什么也没做啊,怎么计算ThreadFuncAttach大小啊,他们不是没有关联吗???  

解决方案 »

  1.   

    AfterThreadFuncAttach是个占们函数,它们还计算ThreadFuncAttach的大小。
    用AfterThreadFuncAttach-ThreadFuncAttach可以知道它占用了多少字节。这是远程机器上开线程, 在远程机器上你要分配多大的空间,就要通过此来计算。好在编译时AfterThreadFuncAttach在ThreadFuncAttach紧根着,要不怎么计算ThreadFuncAttach的大小真是麻烦事
      

  2.   

    Win32 API 的一种调用约定
    Use in place of FAR PASCAL in API declarations. If you are writing a DLL with exported API entry points, you can use this for your own APIs.