This function uses registry information to load a type library.

HRESULT LoadRegTypeLib( 
  REFGUID rguid, 
  unsigned short wVerMajor 
  unsigned short wVerMinor 
  LCID lcid, 
  ITypeLib FAR* FAR* pptlib 


  • rguid
    [in] Globally unique identifier (GUID) of the library being loaded.
  • wVerMajor
    [in] Major version number of the library being loaded.
  • wVerMinor
    [in] Minor version number of the library being loaded.
  • lcid
    [in] National language code of the library being loaded.
  • pptlib
    [out] On return, pointer to a pointer to the loaded type library.

Return Values

The following table shows the HRESULT values that can be returned by this function.

Value Description
S_OK Success.
E_OUTOFMEMORY Out of memory.
E_INVALIDARG One or more of the arguments is invalid.
TYPE_E_IOERROR The function could not read from the file.
TYPE_E_INVALIDSTATE The type library could not be opened.
TYPE_E_INVDATAREAD The function could not read from the file.
TYPE_E_UNSUPFORMAT The type library has an older format.
TYPE_E_UNKNOWNLCID The passed in LCID could not be found in the OLE-supported DLLs.
TYPE_E_CANTLOADLIBRARY The type library or DLL could not be loaded.
Other return codes All FACILITY_STORAGE and system registry errors can also be returned.


Only typelib2 type library is supported and loadable from resource.

The function LoadRegTypeLib defers to LoadTypeLib to load the file.

LoadRegTypeLib compares the requested version numbers against those found in the system registry, and takes one of the following actions:

  • If one of the registered libraries exactly matches both the requested major and minor version numbers, then that type library is loaded.
  • If one or more registered type libraries exactly match the requested major version number, and has a greater minor version number than that requested, the one with the greatest minor version number is loaded.
  • If none of the registered type libraries exactly match the requested major version number (or if none of those that do exactly match the major version number also have a minor version number greater than or equal to the requested minor version number), then LoadRegTypeLib returns an error.

Passing invalid (and under some circumstances NULL) pointers to this function causes an unexpected termination of the application.


OS Versions: Windows CE 2.0 and later.
Header: Oleauto.h.
Link Library: Oleaut32.lib.

See Also

LoadRegTypeLib | LoadTypeLib

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.