CreateThread()会增加包含线程入口点的DLL的引用计数!微软什么时候推出这个?

问题描述 投票:0回答:1

CreateThread()
会增加包含线程入口点的DLL的引用计数,并在线程退出时减少引用计数。微软什么时候推出这个?

另外,为什么

FreeLibraryAndExitThread()
只从引用计数中减去 1,尽管它包含两个减少引用计数的操作 -
FreeLibrary()
ExitThread()
FreeLibraryAndExitThread()
应该从引用计数中减去 2。

winapi dll
1个回答
0
投票

CreateThread
不会增加入口点的模块引用计数。但是,带有
SHCreateThread
标志的
CTF_FREELIBANDEXIT
会增加模块引用计数,MSDN 表示该标志在 Vista 及更高版本中是隐式的。
SHCreateThread
在内部调用
CreateThread

这意味着您可能不应该在

FreeLibraryAndExitThread
创建的线程中调用
SHCreateThread

© www.soinside.com 2019 - 2024. All rights reserved.