Microsoft KB Archive/134799

= FIX: OLE Libraries Fix List =

Article ID: 134799

Article Last Modified on 10/15/2003

-

APPLIES TO


 * Microsoft OLE 2.02
 * Microsoft OLE 2.03
 * Microsoft Win32s 1.2
 * Microsoft Win32s 1.25a
 * Microsoft Win32s 1.3

-



This article was previously published under Q134799



Fixes in OLE 2.02 (Win32s 1.2)
The following is a list of the known bugs that were fixed in OLE 2.02, which is distributed with Win32s version 1.2.


 * Changing the source of a link when the object is iconic does not update the new link name.


 * GetClassfile fails if the offset is greater than 32K.


 * GetClassfile returns NO_ERROR when the clsid string in the registry contains illegal characters.


 * The IStream returned from CreateStreamOnHGlobal does not support QueryInterface correctly.


 * GetClassfile fails if the offset is negative.


 * For composite monikers, IMoniker::CommonPrefixWith returns the wrong hresult if both monikers have a common prefix. For item monikers, IMoniker::CommonPrefixWith doesn't handle the case that the other moniker is not an item moniker.


 * CreateGenericComposite fails when handling an item moniker with an anti moniker.


 * For item monikers, IMoniker::ParseDisplayName causes a general protection (GP) fault when pmkToLeft is NULL.


 * For anti monikers, IMoniker::RelativePathTo returns an interface pointer without first calling AddRef and returns a wrong hresult.


 * The ILockBytes returned from CreateILockBytesOnHGlobal does not support QueryInterface correctly.


 * ICLassFactory::LockServer returns the wrong hresult.


 * OLE time APIs do not validate input pointers.


 * For composite monikers, calling IMoniker::RelativePathTo leaks memory.


 * OleLoadFromStream(pstrm, IID_IUnknows, &pmk) always returns E_NOINTERFACEW (0x80004002).


 * When registering a new pointer to unknown with an existing key, IBindCtx::RegisterObjectParam does not release the old pointer, resulting in a memory leak.


 * IBindCtx::RevokeObjectBound fails with MK_E_NOTBOUND even though the object is in the list.


 * IPersistFile::IsDirty fails.


 * There is no marshalling code for IPersistStream.


 * For pointer monikers, IMoniker::IsRunning is not implemented correctly.


 * Drawing a metafile causes a leak of many palettes.


 * OleMetafilePictFromIconAndLabel mishandles long labels.


 * OleMetafilePictFromIconAndLabel tries to write to a label.

Fixes in OLE 2.03 (Win32s 1.25)
The following is a list of the known bugs that were fixed in OLE 2.03, which is distributed with Win32s version 1.25.


 * IMalloc::DidAlloc does not return 1 for memory it allocates.


 * There is no marshalling code for IEnumUnknown, IMoniker, and IEnumMoniker.


 * MkParseDisplayName silently fails if the server is already running.


 * Wrong cbSize in OBJECTDESCRIPTOR.


 * GPF occurs when marshalling a MSG structure in 16-32 interop.


 * Bug in remoting of OA interfaces (32-bit only).


 * Bug in second activation of the olespy tool. It may not run.


 * OleConvertOLESTREAMToIStorage always saves CLSID_NULL instead of the real clsid.


 * GPF marshalling ILockBytes::Stat, IStorage::Stat, and IStream::Stat.


 * GPF with 16-32 interop when the 32-bit application installs a hook.

Fixes in OLE 2.03 (Win32s 1.25a)
The following is a list of the known bugs that were fixed in OLE 2.03, which is distributed with Win32s version 1.25a.


 * Can't unload an Excel Add-in.


 * Cross-bitness QueryInterface does not return the correct error code.


 * Japanese NEC PCs may crash when calling CoCreateGuid.


 * Failure to call a 32-bit OA server if the calling chain is too long. Therefore, you can not do the following: OA controller -> OA serverA -> OA serverB -> OA serverC.

Fixes in 32-bit OLE (Win32s 1.3)
The following is a list of the known bugs that were fixed in the 32-bit OLE which is distributed with Win32s version 1.3.


 * General protection (GP) fault when a 32-bit container activates a 16-bit server more than once and uses both OA intefaces and core OLE interfaces.


 * When a call to OleGetClipboard fails, the clipboard become corrupted and other applications can not use it.


 * A 16-bit container copies data to the clipboard and a 32-bit server uses the Paste Special dialog. The string from the object descriptor is corrupted and a general protection (GP) fault may occur.

Additional query words: 1.20

Keywords: kbfix KB134799

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.