Связывание неизвестного DLL - PullRequest
0 голосов
/ 12 марта 2020

У меня есть этот dll (так называемый unknown.dll), из которого я знаю только то, что сказал мне Гидра. Я использую LoadLibraryW, чтобы загрузить его, но (в x86) он выдает ошибку 126. Однако в 64x выдает ошибку 193, поэтому я не думаю, что проблема в том, что моя программа не может найти мою длл ... Вот мой код:

#include <iostream>
#include <Windows.h>

typedef int(__cdecl* FunctionIWant)();

int main()
{
HMODULE hmod = LoadLibraryW(L"C:\\unknown.dll");

if (hmod != NULL)
{
    ...
}

else
    std::cout << GetLastError();

return 0;
}

Что я делаю не так?

1 Ответ

0 голосов
/ 12 марта 2020

126 - ERROR_MOD_NOT_FOUND. Либо ваша DLL не может быть найдена, либо, что более вероятно, одна, если не найдены ее зависимости.

193 - это ERROR_BAD_EXE_FORMAT. Это потому, что вы не можете смешивать 32- и 64-битные DLL.

Тот факт, что вы получаете ERROR_BAD_EXE_FORMAT, когда вы работаете в 64-битной, говорит о том, что ваша DLL найдена. Поэтому мы можем заключить, что его зависимости отсутствуют.

Обратитесь к документации, чтобы узнать, какие зависимости требуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...