ОК, поэтому у меня есть ситуация, в которой я вызываю LoadLibrary
для DLL, которую я написал.Этот вызов LoadLibrary возвращает ошибку # 998 или ERROR_NOACCESS
«Неверный доступ к ячейке памяти».
В рассматриваемой DLL-библиотеке используется MFC в одной конфигурации, а не в другой;только конфигурация MFC имеет эту проблему.Это раньше работало , но я понятия не имею, что я изменил: я на самом деле перешел на версию без MFC и довольно много возился с этим, и я понятия не имею, что я мог бы сделатьэто повлияло на версию MFC.
Я не знаю много о DLL.Оригинальный загрузочный код был фактически передан мне, и я не изменил его.Ниже приведен код:
// submodule loading
#ifndef MFC
// Project uses standard windows libraries, define an entry point for the DLL to handle loading/unloading
BOOL WINAPI DllMain(HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved)
{
_MESSAGE("DllMain called.");
switch(dwReason)
{
case DLL_PROCESS_ATTACH: // dll loaded
hModule = (HMODULE)hDllHandle; // store module handle
_MESSAGE("Attaching Submodule ...");
break;
case DLL_PROCESS_DETACH: // dll unloaded
_MESSAGE("Detaching Submodule ...");
break;
}
return true;
}
#else
// Project uses MFC, we define here an instance of CWinApp to make this a 'well-formed' DLL
class CSubmoduleApp : public CWinApp
{
public:
virtual BOOL InitInstance()
{// dll loaded
hModule = m_hInstance; // store module handle
_MESSAGE("Attaching Submodule ...");
return true;
}
virtual int ExitInstance()
{// dll unloaded
_MESSAGE("Detaching Submodule ...");
return CWinApp::ExitInstance();
}
} gApp;
#endif
Очевидно, MFC
определен в конфигурации MFC, а не иначе.
Я сомневаюсь, что этой информации достаточно для решения этой проблемы;Я понимаю это.На самом деле я надеюсь узнать , где искать проблемы , которые могут вызвать эту ошибку.Я буду рад предоставить любую необходимую вам информацию, как только узнаю, что она необходима.
Спасибо за любые советы.