Partager via


Méthode IOleObject ::GetUserType (oleidl.h)

Récupère le nom de type utilisateur d’un objet pour l’afficher dans des éléments d’interface utilisateur tels que des menus, des zones de liste et des boîtes de dialogue.

Syntaxe

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

Paramètres

[in] dwFormOfType

Forme du nom de type utilisateur à présenter aux utilisateurs. Les valeurs possibles sont obtenues à partir de l’énumération USERCLASSTYPE .

[out] pszUserType

Adresse de la variable de pointeur LPOLESTR qui reçoit un pointeur vers la chaîne de type utilisateur. L’appelant doit libérer pszUserType à l’aide du instance IMalloc actuel. Si une erreur se produit, l’implémentation doit définir pszUserType sur NULL.

Valeur retournée

Cette méthode retourne S_OK en cas de réussite. Les autres valeurs de retour possibles sont les suivantes.

Code de retour Description
OLE_S_USEREG
Déléguer à l’implémentation du gestionnaire par défaut à l’aide du Registre pour fournir les informations demandées.

Remarques

Les conteneurs appellent IOleObject ::GetUserType afin de représenter les objets incorporés dans des zones de liste, des menus et des boîtes de dialogue par leur nom normal et reconnaissable par l’utilisateur. Les exemples incluent « Word document », « Graphique Excel » et « Objet Paintbrush ». Les informations retournées par IOleObject ::GetUserType sont l’équivalent lisible par l’utilisateur de l’identificateur de classe binaire retourné par IOleObject ::GetUserClassID.

Notes aux appelants

L’implémentation par défaut du gestionnaire IOleObject ::GetUserType utilise l’identificateur de classe de l’objet (le paramètre pClsid retourné par IOleObject ::GetUserClassID) et le paramètre dwFormOfType en tant que clé dans le Registre. Si une entrée qui correspond exactement à la clé est trouvée, le type d’utilisateur spécifié par cette entrée est retourné. Si seule la partie CLSID de la clé correspond, l’entrée la moins numérotée disponible (généralement le nom complet) est utilisée. Si le CLSID est introuvable ou s’il n’existe aucun type d’utilisateur inscrit pour la classe, le type d’utilisateur actuellement trouvé dans le stockage de l’objet est utilisé.

Vous ne devez pas mettre en cache la chaîne renvoyée par IOleObject ::GetUserType. Au lieu de cela, appelez cette méthode chaque fois que la chaîne est nécessaire. Cela garantit des résultats corrects lorsque l’objet incorporé est converti d’un type en un autre à l’insu de l’appelant. L’appel de cette méthode est peu coûteux, car le gestionnaire par défaut l’implémente à l’aide du Registre.

Notes aux implémenteurs

Vous pouvez utiliser l’implémentation fournie par le gestionnaire par défaut en retournant OLE_S_USEREG comme implémentation de cette méthode par votre application. Si le nom de type d’utilisateur est une chaîne vide, le message « Objet inconnu » est retourné.

Vous pouvez appeler la fonction d’assistance OLE OleRegGetUserType pour retourner le type d’utilisateur approprié.

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

Voir aussi

IOleObject

IOleObject ::GetUserClassID

IOleObject ::SetHostNames

OleRegGetUserType

ReadFmtUserTypeStg

USERCLASSTYPE