-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80


Регистрация dll

Вторник, 29 Июня 2021 г. 13:47 + в цитатник
agapUP: Доброе время суток
... снес я vs2017 и установил 19-ю... код примера тот же!
Но теперь, используя *.def я вижу "STDAPI DllRegisterServer()" и "STDAPI DllUnregisterServer()"
DllGetClassObject и STDAPI DllCanUnloadNow() - некорректная аннотация и они игнорируются :unsure:

Цитата B.V. @
Проверял таблицу экспорта?

Это выявил с помощью
    HMODULE lib = LoadLibraryEx("prCh7incom/Debug/prCh7incom.dll ", NULL, DONT_RESOLVE_DLL_REFERENCES);
    assert(((PIMAGE_DOS_HEADER)lib)->e_magic == IMAGE_DOS_SIGNATURE);
    PIMAGE_NT_HEADERS header = (PIMAGE_NT_HEADERS)((BYTE*)lib + ((PIMAGE_DOS_HEADER)lib)->e_lfanew);
    assert(header->Signature == IMAGE_NT_SIGNATURE);
    assert(header->OptionalHeader.NumberOfRvaAndSizes > 0);
    PIMAGE_EXPORT_DIRECTORY exports = (PIMAGE_EXPORT_DIRECTORY)((BYTE*)lib +
    header->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress);
    assert(exports->AddressOfNames != 0);
    BYTE** names = (BYTE**)((int)lib + exports->AddressOfNames);
    for (int i = 0; i < exports->NumberOfNames; ++i)
    printf_s("Export: %s\n", (BYTE*)lib + (int)names[i]);


Цитата grgdvo @
Есть такой спецификатор __declspec(dllexport)...

Попробовал и это:
Скрытый текст

__declspec(dllexport) STDAPI DllGetClassObject(const CLSID& clsid, const IID& iid, void** ppv):

'__declspec(dllexport)': storage-class or type specifier(s) unexpected here; ignored
prCh7incom\prsrver.cpp(256,23): warning C4502: 'linkage specification' requires use of keyword 'extern' and must precede all other specifiers

EXTERN_C HRESULT __declspec(dllexport) __stdcall DllGetClassObject():
Error C2375 'DllGetClassObject': redefinition; different linkage prCh7incom


Подскажите,пожалуйста, что я делаю не так :unsure:

https://forum.sources.ru/index.php?showtopic=421527&view=findpost&p=3848510

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку