BUG: E_NOINTERFACE Returned When Interface Properly Registered

ID: Q148373


The information in this article applies to:
  • Microsoft OLE Libraries, used with:
    • Microsoft Windows NT


SYMPTOMS

When you attempt to marshal an interface that is far enough down the list of interfaces in the HKEY_CLASSES_ROOT\Interface section of the registry, OLE may return E_NOINTERFACE if the number of interfaces in the list exceeds a certain limit and if the interface being marshaled is beyond this limit in the list. This limit can vary and is usually between 350 and 550 interface registration entries.


CAUSE

A problem in OLE's interface registration caching code causes this problem. The usual cause for E_NOINTERFACE is that the interface has not been registered correctly in the registry. However, if the interface has been registered correctly and the number of registered interfaces in the system exceeds the limit, the cause for E_NOINTERFACE could be this bug.

Interfaces are listed in the interface section of the registry in ascending order of the text representation of their GUIDs. Consequently this problem only affects interfaces that have GUIDs with a text representation that causes them to be listed near the end of the list and beyond the limit.


STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. This bug has been fixed in NT 3.51 service pack 5. It does not occur in Windows 95.


REFERENCES

For more information on the fix for this problem, please see the following article in the Microsoft Knowledge Base:

Q149722 Windows NT Registry Has a Limit of 300 Interfaces

Additional query words: OLE2 2 2.0 2.00 kbbuglist kbfixlist

Keywords : kbole kbNTOS351bug kbNTOS351fix kbGrpCom kbDSupport LeTwoArc
Version : :
Platform : NT WINDOWS
Issue type :


Last Reviewed: October 26, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.