BUG: ATL Service Causes Random Asserts in Run Member FunctionLast reviewed: August 21, 1997Article ID: Q172955 |
The information in this article applies to:
SYMPTOMSRandom asserts occur in the ATL services CComModule derived classes Run member function.
CAUSEIn the first line of the member function an HRESULT variable is declared, hr. This variable is used throughout the function except in the call to CoInitialize(). Right after the call to CoInialize() is an assert on the value of hr. Since hr has not yet been initialized, the assert will fail at the point where the uninitialized value of hr is negative.
RESOLUTIONChange the CoInitailize() call to assign its return value to the hr variable, not hRes variable. Remove the hRes variable from the following code:
HRESULT hr; _Module.dwThreadID = GetCurrentThreadId(); HRESULT hRes = CoInitialize(NULL); STATUSMicrosoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this bug and will post new information here in the Microsoft Knowledge Base as it becomes available.
MORE INFORMATION
Steps to Reproduce BehaviorCreate an ATL service. If the hr uninitialized value is negative, the first assert in the Run function fails. (c) Microsoft Corporation 1997, All Rights Reserved. Contributions by Chuck Bell, Microsoft Corporation Keywords : AtlServer Version : WINDOWS:1.1,2.1 Platform : WINDOWS Issue type : kbbug |
================================================================================
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |