SetConvertStg, fonction (ole2.h)

La fonction SetConvertStg définit le bit convert dans un objet de stockage pour indiquer que l’objet doit être converti en une nouvelle classe lors de son ouverture. Le paramètre peut être récupéré avec un appel à la fonction GetConvertStg .

Syntaxe

HRESULT SetConvertStg(
  LPSTORAGE pStg,
  BOOL      fConvert
);

Paramètres

pStg

Pointeur IStorage vers l’objet de stockage dans lequel définir le bit de conversion.

fConvert

Si la valeur est TRUE, définit le bit de conversion de l’objet pour indiquer que l’objet doit être converti lorsqu’il est ouvert. Si la valeur est FALSE, efface le bit de conversion.

Valeur retournée

Consultez les méthodes IStorage ::CreateStream, IStorage ::OpenStream, ISequentialStream ::Read et ISequentialStream ::Write pour connaître les erreurs possibles de stockage et d’accès au flux.

Remarques

La fonction SetConvertStg détermine la status du bit convert dans un objet contenu. Il est appelé par l’application conteneur et le serveur dans le processus de conversion d’un objet d’une classe à une autre. Lorsqu’un utilisateur spécifie via une boîte de dialogue Convertir en (que le conteneur produit avec un appel à la fonction OleUIConvert ) qu’un objet doit être converti, le conteneur doit effectuer les étapes suivantes :

  1. Déchargez l’objet s’il est actuellement chargé.
  2. Appelez WriteClassStg pour écrire le nouveau CLSID dans le stockage d’objets.
  3. Appelez WriteFmtUserTypeStg pour écrire le nouveau nom de type utilisateur et le format de main existant dans le stockage.
  4. Appelez SetConvertStg avec le paramètre fConvert défini sur TRUE pour indiquer que l’objet a été marqué en vue d’une conversion vers une nouvelle classe lors du chargement suivant.
  5. Juste avant le chargement de l’objet, appelez OleDoAutoConvert pour gérer toute conversion d’objet nécessaire, sauf si vous appelez OleLoad, qui l’appelle en interne.
Lorsqu’un objet est initialisé à partir d’un objet de stockage et que le serveur est la destination d’une opération de conversion en , le serveur d’objets doit effectuer les opérations suivantes :
  1. Appelez la fonction GetConvertStg pour récupérer la valeur du bit de conversion.
  2. Si le bit est défini, le serveur lit les données hors de l’objet en fonction du format associé au nouveau CLSID.
  3. Lorsque l’objet est invité à s’enregistrer lui-même, l’objet doit appeler la fonction WriteFmtUserTypeStg en utilisant le format natif normal et le type d’utilisateur de l’objet.
  4. L’objet doit ensuite appeler SetConvertStg avec le paramètre fConvert défini sur FALSE pour réinitialiser le bit de conversion de l’objet.

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

GetConvertStg