Freigeben über


ProgIDFromCLSID-Funktion (combaseapi.h)

Ruft die ProgID für eine bestimmte CLSID ab.

Syntax

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

Parameter

[in] clsid

Die CLSID, für die die ProgID angefordert werden soll.

[out] lplpszProgID

Die Adresse einer Zeigervariable, die die ProgID-Zeichenfolge empfängt. Die Zeichenfolge, die clsid darstellt, enthält eingeschlossene Klammern.

Rückgabewert

Diese Funktion kann die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Die ProgID wurde erfolgreich zurückgegeben.
REGDB_E_CLASSNOTREG
Klasse nicht in der Registrierung registriert.
REGDB_E_READREGDB
Fehler beim Lesen aus der Registrierung.

Hinweise

Jede ole-Objektklasse, die im Dialogfeld Objekt einfügen aufgeführt ist, muss über einen programmgesteuerten Bezeichner (ProgID) verfügen, eine Zeichenfolge, die eine bestimmte Klasse eindeutig identifiziert und in der Registrierung gespeichert ist. Zusätzlich zur Bestimmung der Berechtigung für das Dialogfeld Objekt einfügen kann die ProgID als Bezeichner in einer Makroprogrammiersprache verwendet werden, um eine Klasse zu identifizieren. Schließlich ist die ProgID auch der Klassenname, der für ein Objekt einer OLE-Klasse verwendet wird, das in einem OLE 1-Container platziert wird.

ProgIDFromCLSID verwendet Einträge in der Registrierung, um die Konvertierung durchzuführen. Ole-Anwendungsautoren sind dafür verantwortlich, sicherzustellen, dass die Registrierung im Setupprogramm der Anwendung ordnungsgemäß konfiguriert ist.

Die ProgID-Zeichenfolge muss sich vom Klassennamen einer beliebigen OLE 1-Anwendung unterscheiden, einschließlich der OLE 1-Version derselben Anwendung, sofern vorhanden. Darüber hinaus darf eine ProgID-Zeichenfolge nicht mehr als 39 Zeichen enthalten, mit einer Ziffer beginnen oder außer für einen einzelnen Punkt interpunktionszeichen (einschließlich Unterstrichen) enthalten.

Die ProgID darf dem Benutzer niemals in der Benutzeroberfläche angezeigt werden. Wenn Sie eine kurze anzeigebare Zeichenfolge für ein Objekt benötigen, rufen Sie IOleObject::GetUserType auf.

Rufen Sie die CLSIDFromProgID-Funktion auf, um die CLSID zu finden, die einer bestimmten ProgID zugeordnet ist. Stellen Sie sicher, dass Sie die zurückgegebene ProgID freigeben, wenn Sie damit fertig sind, indem Sie die CoTaskMemFree-Funktion aufrufen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile combaseapi.h (include Objbase.h)
Bibliothek Ole32.lib
DLL Ole32.dll

Weitere Informationen

CLSIDFromProgID