ERROR_INVALID_PARAMETER при LoadLibrary
От: nugaev.t  
Дата: 20.10.11 07:24
Оценка:
Здравствуйте. Второй день бьюсь с тривиальной задачей загрузки 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++ вероятно я упустил какую то очевидную вещь.
Надеюсь на помощь=)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.