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 |
---|---|
|
Ungültiger Wert für lindex; derzeit wird nur -1 unterstützt. |
|
Der Wert für pformatetc ist ungültig. |
|
Der tymed-Wert ist ungültig. |
|
Der dwAspect-Wert ist ungültig. |
|
Die Objektanwendung wird nicht ausgeführt. |
|
Fehler beim Vorgang. |
|
Ein unerwarteter Fehler ist aufgetreten. |
|
Der dwDirection-Wert ist ungültig. |
|
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 |