Partager via


LoadTypeLib, fonction (oleauto.h)

Charge et inscrit une bibliothèque de types.

Syntaxe

HRESULT LoadTypeLib(
  LPCOLESTR szFile,
  ITypeLib  **pptlib
);

Paramètres

szFile

Nom du fichier à partir duquel la méthode doit tenter de charger une bibliothèque de types.

pptlib

Bibliothèque de types chargée.

Valeur retournée

Cette fonction peut retourner l’une de ces valeurs.

Code de retour Description
S_OK
Réussite.
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.
E_OUTOFMEMORY
Mémoire insuffisante pour terminer l’opération.
TYPE_E_IOERROR
La fonction n’a pas pu écrire dans le fichier.
TYPE_E_INVALIDSTATE
Impossible d’ouvrir la bibliothèque de types.
TYPE_E_INVDATAREAD
La fonction n’a pas pu lire à partir du fichier.
TYPE_E_UNSUPFORMAT
La bibliothèque de types a un format plus ancien.
TYPE_E_UNKNOWNLCID
Le LCID est introuvable dans les DLL prises en charge par OLE.
TYPE_E_CANTLOADLIBRARY
Impossible de charger la bibliothèque de types ou la DLL.

Notes

La fonction LoadTypeLib charge une bibliothèque de types (généralement créée avec MkTypLib) qui est stockée dans le fichier spécifié. Si szFile spécifie uniquement un nom de fichier sans chemin d’accès, LoadTypeLib recherche le fichier et se poursuit comme suit :

  • Si le fichier est une bibliothèque de types autonome implémentée par Typelib.dll, la bibliothèque est chargée directement.
  • Si le fichier est une DLL ou un fichier exécutable, il est chargé. Par défaut, la bibliothèque de types est extraite de la première ressource de type ITypeLib. Pour charger un autre type de ressource de bibliothèque, ajoutez un index entier à szFile. Par exemple :
    ITypeLib *ptlib;
    LoadTypeLib("C:\\MONTANA\\EXE\\MFA.EXE\\3", &ptlib)
    

    Cette instruction charge la ressource de bibliothèque de types 3 à partir du fichier Mfa.exe fichier.

  • Si le fichier n’est pas des éléments ci-dessus, le nom de fichier est analysé dans un moniker (objet qui représente une source de lien basée sur un fichier), puis lié au moniker. Cette approche permet d’utiliser LoadTypeLib sur des bibliothèques de types étrangères, y compris les bibliothèques de types en mémoire. Les bibliothèques de types étrangères ne peuvent pas résider dans une DLL ou un fichier exécutable. Pour plus d’informations sur les monikers, consultez la référence du programmeur COM.
Si la bibliothèque de types est déjà chargée, LoadTypeLib incrémente le nombre de références de la bibliothèque de types et retourne un pointeur vers la bibliothèque de types.

Pour des raisons de compatibilité descendante, LoadTypeLib inscrit la bibliothèque de types si le chemin d’accès n’est pas spécifié dans le paramètre szFile . LoadTypeLib n’inscrit pas la bibliothèque de types si le chemin d’accès de la bibliothèque de types est spécifié. Il est recommandé d’utiliser RegisterTypeLib pour inscrire une bibliothèque de types.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête oleauto.h
Bibliothèque OleAut32.lib
DLL OleAut32.dll