Microsoft KB Archive/173850

From BetaArchive Wiki
Knowledge Base

Article ID: 173850

Article Last Modified on 5/9/2005


  • Microsoft Collaboration Data Objects 1.1

This article was previously published under Q173850


When using Microsoft Visual C++ 5.0 to import the Olemsg32.dll (CDO 1.1) library, the GetItem declaration (created in the generated TLH and TLI files) in any collection-oriented object, such as Infostores or AddressLists, does not contain any index parameters; thereby, rendering these methods useless from Visual C.


The rest of the library is functional, and normally there is an alternative process to achieve the same result. For instance, you might cycle through the collection of items.

Because this was corrected in Collaboration Data Objects (1.2), you should consider upgrading to this version.


Microsoft has confirmed this to be a problem in Collaboration Data Objects (1.1). This problem was corrected in Collaboration Data Objects (1.2).


Here's the pertinent Visual C++ 5.0 code:

    #import <olemsg32.dll> no_namespace

Here are sample declarations from the generated TLI demonstrating the problem:

   #pragma implementation_key(43)
   inline _variant_t InfoStores::GetItem ( ) {
       VARIANT _result;
       _com_dispatch_propget(this, 0x15, VT_VARIANT, (void*)&_result);
       return _variant_t(_result, false);


   #pragma implementation_key(66)
   inline _variant_t AddressLists::GetItem ( ) {
       VARIANT _result;
       _com_dispatch_propget(this, 0x15, VT_VARIANT, (void*)&_result);
       return _variant_t(_result, false);


For more information on the Active Messaging Libraries (1.x), please see the following article in the Microsoft Knowledge Base:

171440 INFO: Where to Acquire the CDO (1.x) Libraries

Keywords: kbbug kbfix kbcdo120fix kbmsg kbcode KB173850