The information in this article applies to:
SYMPTOMSCalling the _bstr_t::copy member function does not return a copy of the contained BSTR and may cause an access violation in OLEAUT32.DLL when debugging. Sample code that demonstrates this bug is included below. CAUSEThis is due to a bug in the implementation of a helper function of a nested class, _bstr_t::Data_t::Copy(). On line 627 of comutil.h the function is passing an uninitialized local variable to ::SysStringByteLen(bstr) instead of passing the member variable, m_wstr. RESOLUTIONReplace the call to t1.copy() with SysAllocString(static_cast<const wchar_t*>(t1)) where t1 is an object of type _bstr_t. STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article. This bug has been corrected in Visual
Studio 97, Service Pack 1.
Q170365 INFO: Visual Studio 97 Service Packs - What, Where, and Why MORE INFORMATIONBy stepping through the following sample code in the debugger, you can see that the string is not copied to t2. Sample Code
Keywords : kbtool kbVS97sp1fix kbVS97sp2fix |
Last Reviewed: August 3, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |