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 |
---|---|
|
L’objet a été étiqueté avec succès. |
|
Le CLSID n’est pas correctement inscrit dans le Registre. |
|
Erreur de lecture à partir du Registre. |
|
Erreur d’écriture dans le Registre. |
|
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 |