FIX: OLE Libraries Fix List

ID: Q134799


The information in this article applies to:
  • Microsoft OLE Libraries for Windows and Win32s, versions 2.02, 2.03
  • Microsoft Win32s versions 1.2, 1.25a, 1.3


SUMMARY

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 :
Version : WINDOWS:1.2,1.25a,1.3,2.02,2.03
Platform : WINDOWS
Issue type :


Last Reviewed: January 14, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.