原因好像出在標準C上,與用戶代碼無關。
----------------------------解決方案--------------------------------------
打開XXX_XXCtl.h頭文件,在程序開頭的這些代碼
#if !defined(AFX_OCX_MICPHONECTL_H__3388C6A4_9DE5_4D2F_9021_920EF2BF5CAB__INCLUDED_)
#define AFX_OCX_MICPHONECTL_H__3388C6A4_9DE5_4D2F_9021_920EF2BF5CAB__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
的下面加上以下代碼即可。
/////////////////////////////////////////////////////////////////////////////
// DllGetClassObject
extern "C"
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
return AfxDllGetClassObject(rclsid, riid, ppv);
}
/////////////////////////////////////////////////////////////////////////////
// DllCanUnloadNow
extern "C"
STDAPI DllCanUnloadNow(void)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
return AfxDllCanUnloadNow();
}
////////////////////////////////////////////////////////////////////////////
重新編譯即可!