The information in this article applies to:
SYMPTOMSWhen calling IDispatch::GetIDsOfNames() for an ATL server and named arguments are passed in, you receive the following error: If the client is Visual Basic and you call a method in an ATL server passing named arguments then you receive this error message:
CAUSEIn the function CComTypeInfoHolder::GetIDsOfNames() (called by IDispatch::GetIDsOfNames()), ATL looks up the DISPID through a cached array. If the call to GetIDsOfNames() includes named arguments then these entries are not in the array. In that case, CComTypeInfoHolder::GetIDsOfNames() delegates to ITypeInfo::GetIDsOfNames(). It calls ITypeInfo::GetIDsOfNames() once for each named argument in the method. To get the IDs of named arguments then ITypeInfo::GetIDsOfNames() needs to be called with the method name in addition to the named arguments. RESOLUTIONThis bug has been fixed in Visual Studio 6.0 Service Pack 3. STATUSMicrosoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article. Q194022 INFO: Visual Studio 6.0 Service Packs, What, Where, Why Additional query words:
Keywords : kbservicepack kbActiveX kbAutomation kbCOMt kbVC600bug kbATL300 kbATL300bug kbATL300fix kbVS600sp2bug kbfaq kbVS600sp3fix kbVS600SP1bug kbGrpMFCATL |
Last Reviewed: January 19, 2000 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |