dllmain.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. // // ******************************************************************
  2. // // /\ /| @File dllmain.cpp
  3. // // \ V/ @Brief
  4. // // | "") @Author lijinwen, ghz005@uni-trend.com.cn
  5. // // / | @Creation 2024-3-14
  6. // // / \\ @Modified 2024-5-13
  7. // // *(__\_\
  8. // // ******************************************************************
  9. #include <windows.h>
  10. //核心的入口函数,动态链接库入口函数
  11. BOOL APIENTRY DllMain(HMODULE hModule, //APIENTRY可以换成WINAPI、__stdcall和CALLBACK,是一种调用约定
  12. DWORD ul_reason_for_call,
  13. LPVOID lpReserved
  14. )
  15. //hModule:DLL模块的句柄 ul_reason_for_call:DLL模块被调用的原因 lpReserved:保留参数,没有意义,windows不想让我们知道的参数
  16. {
  17. switch (ul_reason_for_call)
  18. {
  19. case DLL_PROCESS_ATTACH:
  20. //当DLL被进程加载时DLLMain被调用
  21. break;
  22. case DLL_THREAD_ATTACH:
  23. //有线程被创建时,DLLmain被调用
  24. break;
  25. case DLL_THREAD_DETACH:
  26. //有线程结束时,DLLmain被调用
  27. break;
  28. case DLL_PROCESS_DETACH:
  29. //当DLL被进程卸载时,DLLmain被调用
  30. break;
  31. default:
  32. break;
  33. }
  34. return TRUE;
  35. }