Partager via


OleCreate, fonction (ole.h)

Crée un objet incorporé identifié par un CLSID. Vous l’utilisez généralement pour implémenter l’élément de menu qui permet à l’utilisateur final d’insérer un nouvel objet.

Syntaxe

OLESTATUS OleCreate(
  LPCSTR        unnamedParam1,
  LPOLECLIENT   unnamedParam2,
  LPCSTR        unnamedParam3,
  LHCLIENTDOC   unnamedParam4,
  LPCSTR        unnamedParam5,
  LPOLEOBJECT   *unnamedParam6,
  OLEOPT_RENDER unnamedParam7,
  OLECLIPFORMAT unnamedParam8
);

Paramètres

unnamedParam1

TBD

unnamedParam2

TBD

unnamedParam3

TBD

unnamedParam4

TBD

unnamedParam5

TBD

unnamedParam6

TBD

unnamedParam7

TBD

unnamedParam8

TBD

Valeur retournée

Cette fonction retourne S_OK en cas de réussite et prend en charge la valeur de retour standard E_OUTOFMEMORY.

Code de retour Description
E_OUTOFMEMORY
Mémoire insuffisante pour l’opération.

Remarques

La fonction OleCreate crée un objet incorporé et est généralement appelée pour implémenter l’élément de menu Insérer un nouvel objet. Lorsque OleCreate retourne, l’objet qu’il a créé est vide (ne contient pas de données), sauf si renderopt est OLERENDER_DRAW ou OLERENDER_FORMAT et est chargé. Les conteneurs appellent généralement la fonction OleRun ou IOleObject ::D oVerb pour afficher l’objet pour la modification initiale.

Le paramètre rclsid spécifie le CLSID de l’objet demandé. Les CLSID des objets inscrits sont stockés dans le registre système. Lorsqu’un utilisateur d’application sélectionne Insérer un objet, une zone de sélection permet à l’utilisateur de sélectionner le type d’objet souhaité dans le Registre. Lorsque OleCreate est utilisé pour implémenter l’élément de menu Insérer un objet, le CLSID associé à l’élément sélectionné est affecté au paramètre rclsid d’OleCreate.

Le paramètre riid spécifie l’interface que le client utilisera pour communiquer avec le nouvel objet. Une fois le retour réussi, le paramètre ppvObject contient un pointeur vers l’interface demandée.

Le cache de l’objet créé contient des informations qui permettent une présentation d’un objet autonome lors de l’ouverture du conteneur. Les informations sur ce qui doit être mis en cache sont transmises dans les valeurs renderopt et pFormatetc . Lorsque OleCreate retourne, le cache de l’objet créé n’est pas nécessairement rempli. Au lieu de cela, le cache est rempli la première fois que l’objet entre dans l’état d’exécution. L’appelant peut ajouter un contrôle de cache supplémentaire avec un appel à IOleCache ::Cache après le retour d’OleCreate et avant l’exécution de l’objet. Si renderopt est OLERENDER_DRAW ou OLERENDER_FORMAT, OleCreate exige que l’objet prend en charge l’interface IOleCache . Aucune autre valeur de renderopt n’est requise.

Si pClientSite n’a pas la valeur NULL, OleCreate appelle IOleObject ::SetClientSite via le pointeur pClientSite . IOleClientSite est l’interface principale par laquelle un objet demande des services à partir de son conteneur. Si pClientSite a la valeur NULL, vous devez effectuer un appel spécifique à IOleObject ::SetClientSite avant d’effectuer des opérations.

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 ole.h (inclure Ole2.h)
Bibliothèque Ole32.lib
DLL Ole32.dll

Voir aussi

FORMATETC

IOleClientSite

IOleObject

OLERENDER