Partager via


Fonction ProgIDFromCLSID (combaseapi.h)

Récupère le ProgID pour un CLSID donné.

Syntaxe

HRESULT ProgIDFromCLSID(
  [in]  REFCLSID clsid,
  [out] LPOLESTR *lplpszProgID
);

Paramètres

[in] clsid

CLSID pour lequel le ProgID doit être demandé.

[out] lplpszProgID

Adresse d’une variable de pointeur qui reçoit la chaîne ProgID. La chaîne qui représente le clsid inclut des accolades englobantes.

Valeur retournée

Cette fonction peut retourner les valeurs suivantes.

Code de retour Description
S_OK
Le ProgID a été retourné avec succès.
REGDB_E_CLASSNOTREG
Classe non inscrite dans le Registre.
REGDB_E_READREGDB
Une erreur s’est produite dans le Registre.

Remarques

Chaque classe d’objet OLE répertoriée dans la boîte de dialogue Insérer un objet doit avoir un identificateur par programme (ProgID), une chaîne qui identifie de manière unique une classe donnée, stocké dans le Registre. En plus de déterminer l’éligibilité à la boîte de dialogue Insérer un objet , le ProgID peut être utilisé comme identificateur dans un langage de programmation macro pour identifier une classe. Enfin, le ProgID est également le nom de classe utilisé pour un objet d’une classe OLE placé dans un conteneur OLE 1.

ProgIDFromCLSID utilise des entrées dans le Registre pour effectuer la conversion. Les auteurs de l’application OLE sont chargés de s’assurer que le Registre est configuré correctement dans le programme d’installation de l’application.

La chaîne ProgID doit être différente du nom de classe de toute application OLE 1, y compris la version OLE 1 de la même application, le cas échéant. En outre, une chaîne ProgID ne doit pas contenir plus de 39 caractères, commencer par un chiffre ou, à l’exception d’une seule période, contenir une ponctuation (y compris des traits de soulignement).

Le ProgID ne doit jamais être affiché à l’utilisateur dans l’interface utilisateur. Si vous avez besoin d’une chaîne d’affichage courte pour un objet, appelez IOleObject ::GetUserType.

Appelez la fonction CLSIDFromProgID pour rechercher le CLSID associé à un ProgID donné. Veillez à libérer le ProgID retourné lorsque vous en avez terminé en appelant la fonction CoTaskMemFree .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête combaseapi.h (inclure Objbase.h)
Bibliothèque Ole32.lib
DLL Ole32.dll

Voir aussi

CLSIDFromProgID