IDataObject ::GetData, méthode (objidl.h)
Appelé par un consommateur de données pour obtenir des données à partir d’un objet de données source. La méthode GetData restitue les données décrites dans la structure FORMATETC spécifiée et les transfère via la structure STGMEDIUM spécifiée. L’appelant assume ensuite la responsabilité de libérer la structure STGMEDIUM .
Syntaxe
HRESULT GetData(
[in] FORMATETC *pformatetcIn,
[out] STGMEDIUM *pmedium
);
Paramètres
[in] pformatetcIn
Pointeur vers la structure FORMATETC qui définit le format, le support et l’appareil cible à utiliser lors du passage des données. Il est possible de spécifier plusieurs supports à l'aide de l'opérateur booléen OR, en autorisant la méthode à choisir le support le mieux adapté parmi ceux spécifiés.
[out] pmedium
Pointeur vers la structure STGMEDIUM qui indique le support de stockage contenant les données retournées via son membre lié, et la responsabilité de libérer le support via la valeur de son membre pUnkForRelease . Si pUnkForRelease a la valeur NULL, le récepteur du support est responsable de sa libération ; sinon, pUnkForRelease pointe vers IUnknown sur l’objet approprié afin que sa méthode Release puisse être appelée. Le support doit être alloué et rempli par GetData.
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 |
---|---|
|
La valeur de lindex n’est pas valide ; Actuellement, seul -1 est pris en charge. |
|
La valeur de pformatetcIn n’est pas valide. |
|
La valeur liée n’est pas valide. |
|
La valeur dwAspect n’est pas valide. |
|
L’application objet n’est pas en cours d’exécution. |
|
Une erreur s’est produite lors de l’allocation du support. |
|
Une erreur inattendue s’est produite. |
|
La valeur dwDirection n’est pas valide. |
|
La mémoire disponible était insuffisante pour cette opération. |
Remarques
Un consommateur de données appelle GetData pour récupérer des données à partir d’un objet de données, transmises via un support de stockage (défini via la structure STGMEDIUM ).
Remarques aux appelants
Vous pouvez spécifier plusieurs supports de liaison acceptables avec l’opérateur Boolean OR. GetData doit choisir parmi les valeurs OR’d le support qui représente le mieux les données, effectuer l’allocation et indiquer la responsabilité de la libération du support.Les données transférées sur un flux s’étendent de la position zéro du pointeur de flux à la position immédiatement avant le pointeur de flux actuel (autrement dit, la position du pointeur de flux à la sortie).
Remarques aux implémenteurs
GetData doit case activée tous les champs de la structure FORMATETC. Il est important que GetData affiche l’aspect demandé et, si possible, utilise le support demandé. Si l’objet de données ne peut pas se conformer aux informations spécifiées dans formatETC, la méthode doit retourner DV_E_FORMATETC. Si une tentative d’allocation du support échoue, la méthode doit retourner STG_E_MEDIUMFULL. Il est important de renseigner tous les champs de la structure STGMEDIUM .Bien que l’appelant puisse spécifier plusieurs supports pour retourner les données, GetData ne peut fournir qu’un seul support. Si le transfert initial échoue avec le support sélectionné, cette méthode peut être implémentée pour essayer l’un des autres supports spécifiés avant de retourner une erreur.
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 | objidl.h |