IOleObject::GetUserType-Methode (oleidl.h)

Ruft den Benutzertypnamen eines Objekts zur Anzeige in Benutzeroberflächenelementen wie Menüs, Listenfeldern und Dialogfeldern ab.

Syntax

HRESULT GetUserType(
  [in]  DWORD    dwFormOfType,
  [out] LPOLESTR *pszUserType
);

Parameter

[in] dwFormOfType

Die Form des Benutzertypnamens, der Benutzern angezeigt werden soll. Mögliche Werte werden aus der USERCLASSTYPE-Enumeration abgerufen.

[out] pszUserType

Adresse der LPOLESTR-Zeigervariable , die einen Zeiger auf die Benutzertypzeichenfolge empfängt. Der Aufrufer muss pszUserType mithilfe der aktuellen IMalloc-instance freigeben. Wenn ein Fehler auftritt, muss die Implementierung pszUserType auf NULL festlegen.

Rückgabewert

Diese Methode gibt S_OK bei Erfolg zurück. Weitere mögliche Rückgabewerte:

Rückgabecode Beschreibung
OLE_S_USEREG
Delegieren Sie die Implementierung des Standardhandlers mithilfe der Registrierung, um die angeforderten Informationen bereitzustellen.

Hinweise

Container rufen IOleObject::GetUserType auf, um eingebettete Objekte in Listenfeldern, Menüs und Dialogfeldern anhand ihrer normalen, vom Benutzer erkennbaren Namen darzustellen. Beispiele hierfür sind "Word Document", "Excel Chart" und "Paintbrush Object". Die von IOleObject::GetUserType zurückgegebenen Informationen sind die vom Benutzer lesbare Entsprechung des binären Klassenbezeichners, der von IOleObject::GetUserClassID zurückgegeben wird.

Hinweise für Anrufer

Die Standardhandlerimplementierung von IOleObject::GetUserType verwendet den Klassenbezeichner des Objekts (den von IOleObject::GetUserClassIDzurückgegebenen pClsid-Parameter) und den dwFormOfType-Parameter zusammen als Schlüssel in die Registrierung. Wenn ein Eintrag gefunden wird, der genau mit dem Schlüssel übereinstimmt, wird der von diesem Eintrag angegebene Benutzertyp zurückgegeben. Wenn nur der CLSID-Teil des Schlüssels übereinstimmt, wird der niedrigste verfügbare Eintrag (in der Regel der vollständige Name) verwendet. Wenn die CLSID nicht gefunden wird oder keine Benutzertypen für die Klasse registriert sind, wird der Benutzertyp verwendet, der sich derzeit im Speicher des Objekts befindet.

Sie sollten die von IOleObject::GetUserType zurückgegebene Zeichenfolge nicht zwischenspeichern. Rufen Sie stattdessen diese Methode jedes Mal auf, wenn die Zeichenfolge benötigt wird. Dies garantiert korrekte Ergebnisse, wenn das eingebettete Objekt ohne Wissen des Aufrufers von einem Typ in einen anderen konvertiert wird. Das Aufrufen dieser Methode ist kostengünstig, da der Standardhandler sie mithilfe der Registrierung implementiert.

Hinweise für Implementierer

Sie können die vom Standardhandler bereitgestellte Implementierung verwenden, indem Sie OLE_S_USEREG als Implementierung dieser Methode für Ihre Anwendung zurückgeben. Wenn der Benutzertypname eine leere Zeichenfolge ist, wird die Meldung "Unknown Object" zurückgegeben.

Sie können die OLE-Hilfsfunktion OleRegGetUserType aufrufen, um den entsprechenden Benutzertyp zurückzugeben.

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 oleidl.h

Weitere Informationen

IOleObject

IOleObject::GetUserClassID

IOleObject::SetHostNames

OleRegGetUserType

ReadFmtUserTypeStg

USERCLASSTYPE