C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 98 - Функция DLLMain() / Win 32 API / Win32 API

Шаг 98 - Функция DLLMain()

Функция входа в DLL:

BOOL WINAPI DllMain
(  
	HINSTANCE hinstDLL,	// указатель на модуль DLL
	DWORD fdwReason,		// флаг причины вызова функции
	LPVOID lpvReserved		// зарезервировано
);

Эта функция вызывается в нескольких случаях, причина вызова описана в fdwReason:

DLL_PROCESS_ATTACH	новый процесс имеет доступ к DLL
DLL_THREAD_ATTACH	новый поток получает доступ к DLL
DLL_THREAD_DETACH	последний поток отсоединяется от DLL
DLL_PROCESS_DETACH	один из потоков процесса отсоединяется от DLL

Если Вы хотите сами обрабатывать эти вызовы, то код должен быть примерно таким:

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved)  
{
	switch( fdwReason ){
		case DLL_PROCESS_ATTACH:

			break;
		case DLL_THREAD_ATTACH:         

			break;        
		case DLL_THREAD_DETACH:

			break;
		case DLL_PROCESS_DETACH:

			break;    
	}    
	return TRUE;  
}

| |
Автор Каев Артем.
[AD]