DisableThreadLibraryCalls

BOOL WINAPI DisableThreadLibraryCalls(
  __in  HMODULE hModule
);

Disables the DLL_THREAD_ATTACH and DLL_THREAD_DETACH notifications for the specified dynamic-link library (DLL). This can reduce the size of the working set for some applications.

 

禁用指定的DLL的DLL_THREAD_ATTACH和DLL_THREAD_DETACH通知,这样可以减小某些程序的工作集大小。

 

Remarks:

 

The DisableThreadLibraryCalls function lets a DLL disable the DLL_THREAD_ATTACH and DLL_THREAD_DETACH notification calls. This can be a useful optimization for multithreaded applications that have many DLLs, frequently create and delete threads, and whose DLLs do not need these thread-level notifications of attachment/detachment. A remote procedure call (RPC) server application is an example of such an application. In these sorts of applications, DLL initialization routines often remain in memory to service DLL_THREAD_ATTACH and DLL_THREAD_DETACH notifications. By disabling the notifications, the DLL initialization code is not paged in because a thread is created or deleted, thus reducing the size of the application's working code set. To implement the optimization, modify a DLL's DLL_PROCESS_ATTACH code to call DisableThreadLibraryCalls.

 

该函数禁用一个DLL的DLL_THREAD_ATTACH和DLL_THREAD_DETACH通知。这对于那些经常创建和删除线程的调用很多 DLL的多线程程序是一个很有用的选项。如果这些DLL并不需要这些线程级的attachment/detachment通知。远程过程调用服务程序就是 一个例子。在这些程序里,DLL的初始化代码经常留在物理内存里,以相应DLL_THREAD_ATTACH和DLL_THREAD_DETACH通知。 通过禁用这些通知,DLL的初始化代码不会由于线程的创建和删除被换页至物理内存,这样就可以减小工作代码集的大小。要实现这个选项,可以在响应 DLL_PROCESS_ATTACH通知的时候调用DisableThreadLibraryCalls

posted on 2013-03-06 11:06 SillyRabbit 阅读(517) 评论(0)  编辑 收藏 引用 所属分类: winapi

<2013年3月>
242526272812
3456789
10111213141516
17181920212223
24252627282930
31123456

导航

统计

常用链接

留言簿

随笔分类

随笔档案

文章档案

搜索

最新评论

阅读排行榜

评论排行榜