Microsoft KB Archive/268242

{|
 * width="100%"|

PRB: Site Server Performance Extension DLLs Require a Message Pump

 * }

Q268242

-

The information in this article applies to:


 * Microsoft Win32 Application Programming Interface (API), included with:
 * Microsoft Windows NT Server version 4.0
 * Microsoft Windows NT Workstation version 4.0

-

SYMPTOMS
The following Site Server 3.0 performance extension dynamic-link libraries (DLLs) all use COM in such a manner that they require the thread that loads them to pump Windows messages:


 * Brkcntrs.dll
 * Ldapctrs.dll
 * Mbldctrs.dll

If an interactive service loads these DLLs and then enters a wait state without pumping messages, the system hangs when the user attempts to log off. Eventually, an OleMainThreadWndName dialog box is displayed, containing the following error message:

This Windows application cannot respond to the End Task request.

The dialog box contains three buttons: Wait, End Task, and Cancel. The user must click End Task to proceed with the log-off operation.

RESOLUTION
To work around this problem, the thread that loads the performance extension DLLs must also pump messages. For additional information about how a thread can enter a wait state and simultaneously watch for messages to pump, click the article number below to view the article in the Microsoft Knowledge Base:

"Q136885 OLE Threads Must Dispatch Messages"

STATUS
This behavior is by design.

MORE INFORMATION
Typically, the loading of performance extension DLLs occurs when Performance Data Helper (PDH) is used to query performance counters. This also occurs if the RegQueryValueEx function is used to open the HKEY_PERFORMANCE_DATA key.