Microsoft KB Archive/169302

From BetaArchive Wiki
Knowledge Base

FIX: Get_Item() Does Not Return Error When Property Not Found

Article ID: 169302

Article Last Modified on 1/13/2001


  • Microsoft Visual Studio 97 Service Pack 3
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition

This article was previously published under Q169302


IReposProperties::get_item does not return an error when property is not found.


Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This has been fixed with Visual Studio Service Pack 1.

For additional information about the Visual Studio 97 Service Pack 1, please see the following article in the Microsoft Knowledge Base:

170365 INFO: Visual Studio 97 Service Packs - What, Where, and Why


Steps To Reproduce:

  1. Create an interface hierarchy. For example: I1 -> I2 -> I3.
  2. Create a class that implements only Interface 3.
  3. Create an instance of the new class "C."
  4. QI, "QueryInterface", for "C's" Interface 3 Interface.
  5. I->get_Properties(&pIPropCol).
  6. Ask for a property that does not exist on any of the ifaces. For example, pIPropCol->get_Item("Prop1", ....)

Expected result:

  • Should return Property not found error.

Actual result:

  • Returns a Bogus property object containing invalid dispid.

Keywords: kbbug kbfix kbvbp500sp2fix kbvs97sp1fix kbvs97sp2fix kbvbp500sp1fix KB169302