现在开始仔细地分析GDI32.DLL的实现代码,看看这里的API函数是怎么样实现的,又做了些什么样的工作,然后才能深入地了解WIN32K.SYS所需要做的工作。在ReactOS操作系统里,所有DLL库都有一个默认的首先加载函数函数,名称叫做DllMain。这个函数是操作系统加载DLL时就调用,那么我们就从这个函数开始分析,这是DLL最先的入口点函数。它的实现代码如下:
#001 BOOL
#002 WINAPI
#003 DllMain (
#004 HANDLE hDll,
#005 DWORD dwReason,
#006 LPVOID lpReserved)
#007 {
#008 switch (dwReason)
#009 {
当进程加载动态连接库时发出这个消息。
#010 case DLL_PROCESS_ATTACH :
在这里调用函数DisableThreadLibraryCalls来禁止线程创建和退出时调用本函数。
#011 DisableThreadLibraryCalls(hDll);
#012 break;
#013
#014 default:
#015 break;
#016 }
#017 return TRUE;
#018}
原文链接:https://www.f2er.com/react/308369.html