IDataObject::SetData-Methode (objidl.h)

Wird von einem Objekt aufgerufen, das eine Datenquelle enthält, um Daten an das Objekt zu übertragen, das diese Methode implementiert.

Syntax

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

Parameter

[in] pformatetc

Ein Zeiger auf die FORMATTC-Struktur , die das Format definiert, das vom Datenobjekt beim Interpretieren der im Speichermedium enthaltenen Daten verwendet wird.

[in] pmedium

Ein Zeiger auf die STGMEDIUM-Struktur , die das Speichermedium definiert, in dem die Daten übergeben werden.

[in] fRelease

Bei TRUE besitzt das aufgerufene Datenobjekt, das SetData implementiert, nach der Rückgabe des Aufrufs das Speichermedium. Dies bedeutet, dass das Medium freigegeben werden muss, nachdem es durch Aufrufen der ReleaseStgMedium-Funktion verwendet wurde. Bei FALSE behält der Aufrufer den Besitz des Speichermediums, und das aufgerufene Datenobjekt verwendet das Speichermedium nur für die Dauer des Aufrufs.

Rückgabewert

Diese Methode gibt S_OK bei Erfolg zurück. Weitere mögliche Werte sind:

Rückgabecode Beschreibung
DV_E_LINDEX
Ungültiger Wert für lindex; derzeit wird nur -1 unterstützt.
DV_E_FORMATETC
Der Wert für pformatetc ist ungültig.
DV_E_TYMED
Der tymed-Wert ist ungültig.
DV_E_DVASPECT
Der dwAspect-Wert ist ungültig.
OLE_E_NOTRUNNING
Die Objektanwendung wird nicht ausgeführt.
E_FAIL
Fehler beim Vorgang.
E_UNEXPECTED
Ein unerwarteter Fehler ist aufgetreten.
E_INVALIDARG
Der dwDirection-Wert ist ungültig.
E_OUTOFMEMORY
Für diesen Vorgang war nicht genügend Arbeitsspeicher verfügbar.

Hinweise

SetData ermöglicht es einem anderen Objekt, Daten an das implementierende Datenobjekt zu senden. Ein Datenobjekt implementiert diese Methode, wenn es den Empfang von Daten von einem anderen Objekt unterstützt. Wenn dies nicht unterstützt wird, sollte sie implementiert werden, um E_NOTIMPL zurückzugeben.

Der Aufrufer ordnet das durch den pmedium-Parameter angegebene Speichermedium zu, in dem die Daten übergeben werden. Das datenobjekt mit dem Namen übernimmt erst dann den Besitz der Daten, wenn es sie erfolgreich empfangen hat und kein Fehlercode zurückgegeben wird. Der Wert des fRelease-Parameters gibt den Besitz des Mediums an, nachdem der Aufruf zurückgegeben wurde. FALSE gibt an, dass der Aufrufer weiterhin das Medium besitzt und das Datenobjekt es nur während des Aufrufs verwendet. TRUE gibt an, dass das Datenobjekt jetzt besitzer ist und es freigeben muss, wenn es nicht mehr benötigt wird.

Der in den Parametern pformatetc und pmedium angegebene Mediumtyp muss identisch sein. Beispielsweise kann es sich nicht um ein globales Handle und das andere um einen Stream.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile objidl.h

Weitere Informationen

Idataobject