ID: Q131053
The information in this article applies to:
If the sLangage and iCountry fields in the [intl] section of WIN.INI are missing or have incorrect entries, IDispatch::GetIDsOfNames fails (it returns the DISP_E_UNKNOWNNAME error) if it is implemented using DispGetIDsOfNames or CreateStdDispatch and a typeinfo created using an INTERFACEDATA structure.
If an automation server's IDispatch is implemented using a typeinfo created from the INTERFACEDATA structure, access of properties or methods may fail on some computers. These computers may have missing or incorrect sLanguage and iCountry fields in the [intl] section of WIN.INI. These fields are used by DispGetIDsOfNames and CreateStdDispatch's IDispatch::GetIDsOfNames to obtain locale information. These functions fail (DISP_E_UNKNOWNNAME) if the locale information cannot be obtained.
RESOLUTION
To solve this problem, modify the fields in WIN.INI to look similar to this:
[intl]
sLanguage=enu
iCountry=1
Where:
This behavior is by design. This problem doesn't occur with typeinfos obtained from type libraries. Microsoft strongly recommends that type libraries be used for the implementation of IDispatch. The INTERFACEDATA approach was a temporary solution to create typeinfos while type libraries were in Beta.
Additional reference words: 2.0 2.00 KBCategory: kbprg kbole kbprb KBSubcategory: LeTwoAto
Last Reviewed: June 6, 1995