IDataObject::SetData, méthode (objidl.h)

Appelé par un objet contenant une source de données pour transférer des données vers l’objet qui implémente cette méthode.

Syntaxe

HRESULT SetData(
  [in] FORMATETC *pformatetc,
  [in] STGMEDIUM *pmedium,
  [in] BOOL      fRelease
);

Paramètres

[in] pformatetc

Pointeur vers la structure FORMATETC définissant le format utilisé par l’objet de données lors de l’interprétation des données contenues dans le support de stockage.

[in] pmedium

Pointeur vers la structure STGMEDIUM définissant le support de stockage dans lequel les données sont passées.

[in] fRelease

Si la valeur est TRUE, l’objet de données appelé, qui implémente SetData, possède le support de stockage après le retour de l’appel. Cela signifie qu’il doit libérer le support une fois qu’il a été utilisé en appelant la fonction ReleaseStgMedium . Si la valeur est FALSE, l’appelant conserve la propriété du support de stockage et l’objet de données appelé utilise le support de stockage pendant la durée de l’appel uniquement.

Valeur retournée

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

Code de retour Description
DV_E_LINDEX
Valeur non valide pour lindex ; Actuellement, seul -1 est pris en charge.
DV_E_FORMATETC
La valeur de pformatetc n’est pas valide.
DV_E_TYMED
La valeur tyd n’est pas valide.
DV_E_DVASPECT
La valeur dwAspect n’est pas valide.
OLE_E_NOTRUNNING
L’application objet n’est pas en cours d’exécution.
E_FAIL
L'opération a échoué.
E_UNEXPECTED
Une erreur inattendue s’est produite.
E_INVALIDARG
La valeur dwDirection n’est pas valide.
E_OUTOFMEMORY
La mémoire disponible pour cette opération était insuffisante.

Notes

SetData permet à un autre objet de tenter d’envoyer des données à l’objet de données d’implémentation. Un objet de données implémente cette méthode s’il prend en charge la réception de données d’un autre objet. S’il ne le prend pas en charge, il doit être implémenté pour retourner E_NOTIMPL.

L’appelant alloue le support de stockage indiqué par le paramètre pmedium , dans lequel les données sont passées. L’objet de données appelé ne prend pas possession des données tant qu’il n’a pas reçu les données et qu’aucun code d’erreur n’est retourné. La valeur du paramètre fRelease indique la propriété du support après le retour de l’appel. FALSE indique que l’appelant est toujours propriétaire du support et que l’objet de données ne l’utilise que pendant l’appel ; TRUE indique que l’objet de données le possède maintenant et doit le libérer lorsqu’il n’est plus nécessaire.

Le type de support spécifié dans les paramètres pformatetc et pmedium doit être le même. Par exemple, l’un ne peut pas être un handle global et l’autre un flux.

Spécifications

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

Voir aussi

Idataobject