Partager via


OleSetAutoConvert, fonction (ole2.h)

Spécifie un CLSID pour la conversion automatique en une autre classe lorsqu’un objet de cette classe est chargé.

Syntaxe

HRESULT OleSetAutoConvert(
  [in] REFCLSID clsidOld,
  [in] REFCLSID clsidNew
);

Paramètres

[in] clsidOld

CLSID de la classe d’objet à convertir.

[in] clsidNew

CLSID de la classe d’objets qui doit remplacer clsidOld. Ce nouveau CLSID remplace toutes les informations de conversion automatique existantes dans le Registre pour clsidOld. Si cette valeur est CLSID_NULL, toutes les informations de conversion automatique existantes pour clsidOld sont supprimées du Registre.

Valeur retournée

Cette fonction peut retourner les valeurs de retour standard E_INVALIDARG, E_OUTOFMEMORY et E_UNEXPECTED, ainsi que les valeurs suivantes.

Code de retour Description
S_OK
L’objet a été étiqueté avec succès.
REGDB_E_CLASSNOTREG
Le CLSID n’est pas correctement inscrit dans le Registre.
REGDB_E_READREGDB
Erreur de lecture à partir du Registre.
REGDB_E_WRITEREGDB
Erreur d’écriture dans le Registre.
REGDB_E_KEYMISSING
Impossible de lire une clé à partir du Registre.

Remarques

OleSetAutoConvert accède au Registre système, recherche la sous-clé AutoConvertTo sous le CLSID spécifié par clsidOld et la définit sur clsidNew. Cette fonction ne vérifie pas si une entrée de Registre appropriée pour clsidNew existe actuellement. Ces entrées apparaissent dans le Registre en tant que sous-clés de la clé CLSID.

La conversion d’objet signifie que les données de l’objet sont associées de façon permanente à un nouveau CLSID. La conversion automatique est généralement spécifiée dans le programme d’installation d’une nouvelle version d’une application objet, de sorte que les objets créés par ses anciennes versions peuvent être automatiquement mis à jour vers la nouvelle version.

Par exemple, il peut être nécessaire de convertir des feuilles de calcul qui ont été créées avec des versions antérieures d’une application de feuille de calcul vers la nouvelle version. Les objets de feuille de calcul des versions antérieures ont des CLSID différents de la nouvelle version. Pour chaque version antérieure que vous souhaitez mettre à jour automatiquement, vous appelez OleSetAutoConvert dans le programme d’installation, en spécifiant le CLSID de l’ancienne version et celui de la nouvelle. Ensuite, chaque fois qu’un utilisateur charge un objet à partir d’une version précédente, il est automatiquement mis à jour. Pour prendre en charge la conversion automatique d’objets, un serveur qui prend en charge la conversion doit être préparé à convertir manuellement des objets au format d’une version antérieure du serveur. La conversion automatique s’appuie en interne sur cette prise en charge de la conversion manuelle.

Avant de définir la valeur AutoConvertTo souhaitée, les programmes d’installation doivent également appeler OleSetAutoConvert pour supprimer toute conversion existante pour la nouvelle classe, en spécifiant la nouvelle classe comme paramètre clsidOld et en définissant le paramètre clsidNew sur CLSID_NULL.

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 ole2.h
Bibliothèque Ole32.lib
DLL Ole32.dll

Voir aussi

AutoConvertTo

OleDoAutoConvert

OleGetAutoConvert