File tree Expand file tree Collapse file tree 1 file changed +26
-1
lines changed Expand file tree Collapse file tree 1 file changed +26
-1
lines changed Original file line number Diff line number Diff line change 4
4
5
5
#pragma comment(lib, "Winmm.lib")
6
6
7
+ // =======================================================================
8
+ // ↓↓↓ 新增的导出函数 ↓↓↓
9
+ // =======================================================================
10
+ //
11
+ // 这个函数是空的,什么也不做。
12
+ // 它的唯一目的就是被“导出”,以满足那些要求DLL至少有一个
13
+ // 导出函数的注入器。
14
+ // extern "C" 确保函数名不会被C++编译器修改。
15
+ // __declspec(dllexport) 告诉编译器将此函数放入DLL的导出表中。
16
+ //
17
+ extern " C" __declspec(dllexport) void PlaceholderExport ()
18
+ {
19
+ // Do nothing.
20
+ }
21
+ // =======================================================================
22
+
23
+
24
+ // DllMain 是 DLL 的入口点函数
7
25
BOOL APIENTRY DllMain ( HMODULE hModule,
8
26
DWORD ul_reason_for_call,
9
27
LPVOID lpReserved
@@ -12,15 +30,22 @@ BOOL APIENTRY DllMain( HMODULE hModule,
12
30
switch (ul_reason_for_call)
13
31
{
14
32
case DLL_PROCESS_ATTACH:
33
+ // DLL被注入到进程时,请求1ms的计时器精度
15
34
timeBeginPeriod (1 );
16
35
break ;
36
+
17
37
case DLL_THREAD_ATTACH:
38
+ // 进程创建新线程时执行,我们此处不需要操作
18
39
break ;
40
+
19
41
case DLL_THREAD_DETACH:
42
+ // 线程退出时执行,我们此处不需要操作
20
43
break ;
44
+
21
45
case DLL_PROCESS_DETACH:
46
+ // DLL从进程卸载时,释放计时器精度请求
22
47
timeEndPeriod (1 );
23
48
break ;
24
49
}
25
- return TRUE ;
50
+ return TRUE ; // 操作成功
26
51
}
You can’t perform that action at this time.
0 commit comments