Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.
生活随笔
收集整理的這篇文章主要介紹了
Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
調(diào)用IIS管理組件時(shí)編寫了下面一段代碼,調(diào)用函數(shù)時(shí)提示錯(cuò)誤:Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. ?This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
1 std::wcout.imbue(std::locale("chs")); 2 ::CoInitialize(NULL); 3 4 CLSID clsid; 5 HRESULT hr = ::CLSIDFromProgID(PROGID_WRITABLEADMINMANAGER, &clsid); 6 7 CComPtr pAdminMgr; 8 hr = ::CoCreateInstance(clsid, NULL, CLSCTX_LOCAL_SERVER, IID_IDispatch, reinterpret_cast(&pAdminMgr)); 9 10 CComVariant vtServerPath(XLOG_CFGSECTION_SERVER_XPATH); 11 CComVariant vtAppHost(CFG_PATH_APPHOST); 12 CComVariant vtServerConfigSection; 13 14 hr = pAdminMgr.PutPropertyByName(_T("CommitPath"), &vtAppHost);國外論壇不少人也提過這個(gè)問題將Calling Convention由原來的__cdecl (/Gd)修改為__stdcall (/Gz),其實(shí)是因?yàn)镮Unknown被轉(zhuǎn)換為IDispatch的問題。
轉(zhuǎn)載于:https://www.cnblogs.com/junchu25/archive/2012/08/10/2631133.html
總結(jié)
以上是生活随笔為你收集整理的Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在 iOS 或者 Mac OS X 中将
- 下一篇: Silverlight 3D开源项目,取