Здравствуйте. Второй день бьюсь с тривиальной задачей загрузки Dll.
Проблема:
Имеется dll, разработка ведется на Win7, VS2010 . Тестирование ведется на машине с WinXP SP3 для отладки там установлена VS2010.
До вчерашнего дня с загрузкой библиотеки никаких проблем не возникало.
Скомпилированная на машине с Win7 библиотека на машине WinXP загружается без проблем,
но скомпилированная на WinXP библиотека не грузится ни на XP ни на Win7 с ошибкой 87 (ERROR_INVALID_PARAMETER).
Размер у библиотек разный.
Рассмотрел вариант с зависимостями с отложенной загрузкой, Dependency Walker ничего не показал.
Написал примитивную тестовую длл и тестовое приложение — результат тот же самый.
Тестовая dll:
#include <Windows.h>
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
extern "C" __declspec(dllexport) int __stdcall Test()
{
return TRUE;
}
Тестовое application:
#include "stdafx.h"
#include <Windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
HMODULE hDll = LoadLibrary(L"C:\\Temp\\TestLib.dll");
int error = GetLastError();
return 0;
}
Как человек не профильно программирующий на C++ вероятно я упустил какую то очевидную вещь.
Надеюсь на помощь=)