Microsoft KB Archive/148373

= BUG: E_NOINTERFACE Returned When Interface Properly Registered =

Article ID: 148373

Article Last Modified on 10/15/2003

-

APPLIES TO


 * Microsoft OLE 4.0, when used with:
 * Microsoft Windows NT 4.0

-



This article was previously published under Q148373



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.

