Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The following example uses the Hello sample code to illustrate the LoadTypeInfo function that loads locale-specific type library information when an object is created.
LoadTypeInfo(&phello->m_ptinfoEnglish, IID_IHello, LCID_ENGLISH);
LoadTypeInfo(&phello->m_ptinfoGerman, IID_IHello, LCID_GERMAN);
// LoadTypeInfo - Gets type information of an object's interface from
// the type library.
//
// Parameters:
// pptinfo - Returns type information.
// clsid - Interface ID of object in type library.
// lcid - Locale ID of type information to be loaded.
//
// Return Value:
// HRESULT
//
//
HRESULT LoadTypeInfo(ITypeInfo ** pptinfo, REFCLSID clsid,
LCID lcid)
{
HRESULT hr;
LPTYPELIB ptlib = NULL;
LPTYPEINFO ptinfo = NULL;
if (pptinfo == NULL)
return E_INVALIDARG;
*pptinfo = NULL;
// Load type library.
hr = LoadRegTypeLib(LIBID_Hello, 2, 0, lcid, &ptlib);
if (FAILED(hr))
return hr;
// Get type information for interface of the object.
hr = ptlib->GetTypeInfoOfGuid(clsid, &ptinfo);
if (FAILED(hr))
{
ptlib->Release();
return hr;
}
ptlib->Release();
*pptinfo = ptinfo;
return NOERROR;
}