Клиент сообщил мне, что моя DLL выдает ошибку «Порядковый номер 5 не найден» при загрузке. Чтобы увидеть, что такое порядковый номер 5, я нашел это:
Как я могу вызвать экспортированную функцию, используя порядковый номер
Но пример в ответе там дает мне ошибку.
#include <windows.h>
#include <winuser.h>
#include <winbase.h>
int main()
{
const wchar_t str[200] =
L"D:\\mydll.dll";
HANDLE mydll = LoadLibrary(str);
int ordinal = 5;
FARPROC fn = GetProcAddress(mydll, MAKEINTRESOURCE(ordinal));
return 0;
}
Ошибка:
main.cpp: 15: ошибка: недопустимое преобразование из ‘HANDLE {aka void *}’ в
‘HMODULE {aka HINSTANCE __ *}’ [-fpermissive] FARPROC fn = GetProcAddress (mydll, MAKEINTRESOURCE (порядковый номер));main.cpp: 15: ошибка: невозможно преобразовать LPWSTR {aka> wchar_t *} ‘в
‘LPCSTR {aka const char *}’ для аргумента от ‘2’ до ‘int
(атрибут((STDCALL)) * GetProcAddress (HMODULE, LPCSTR)) () ‘
FARPROC fn = GetProcAddress (mydll, MAKEINTRESOURCE (порядковый номер));
Есть идеи о том, что я пытаюсь сделать?
Как я могу найти, что проблема с загрузкой моей DLL? Что такое порядковый номер 5?
Задача ещё не решена.
Других решений пока нет …