高手解释以下AfxWinMain()的详细运行过程,每一步是什么意思?
高手解释以下AfxWinMain()的详细运行过程,每一步是什么意思?
int AFXAPI AfxWinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow)
{
ASSERT(hPrevInstance==NULL);
int nReturnCode=-1;
CWinThread* pThread=AfxGetThread();
CWinApp* pApp=AfxGetApp();
if(!AfxWinInit(hInstance,hPrevInstance,lpCmdLine,nCmdShow)
goto InitFailure;
if(pApp!=NULL&&!pApp->InitApplication())
goto InitFailure;
if(!pThread->InitInstance())
{
if(pThread->m_pMainWnd!=NULL)
{
TRACE(traceAppMsg,0,"Waring:Destroying non-NULL m_pMainWnd\n);
pThread->m_pMainWnd->DestroyWindow();
}
nReturnCode=pThread->ExitInstance();
goto InitFailure;
}
nReturnCode=pThread->Run();
InitFailure:
AfxWinTerm();
return nReturnCode;
}