Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
This function disables the DLL_THREAD_ATTACH and DLL_THREAD_DETACH notifications for the DLL specified by the hLibModuleparameter.
Using this function can reduce the size of the working code set for some applications.
Syntax
BOOL DisableThreadLibraryCalls( HMODULE hLibModule ); |
Parameters
- hLibModule
-
[in] Handle to the DLL module for which the DLL_THREAD_ATTACH and DLL_THREAD_DETACH notifications are to be disabled.
Return Value
Nonzero indicates success. Zero indicates failure. To get extended error information, call GetLastError.
Remarks
Windows Embedded CE does not support static-thread local storage; therefore, the only restriction for specifying a DLL to disable is that it is a valid module.
The DisableThreadLibraryCallsfunction 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.
By disabling the notifications, the DLL initialization code is not paged-in because a thread is created or deleted, which reduces the size of the application's working code set.
Disabling the notification calls can be used for any DLL where there is no thread-level tracking required. If you need to track resources on a thread-by-thread basis, the notification should not be turned off.
To implement the optimization, modify a DLL's DLL_PROCESS_ATTACH code to call DisableThreadLibraryCalls.
Drivers that exist in the Device Manager Device.exe process space should call DisableThreadLibraryCallsif no thread-specific data is needed.
Requirements
Header | winbase.h |
Library | coredll.lib |
Windows Embedded CE | Windows CE 3.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |