Metodo IDataObject::SetData (objidl.h)

Chiamato da un oggetto contenente un'origine dati per trasferire i dati all'oggetto che implementa questo metodo.

Sintassi

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

Parametri

[in] pformatetc

Puntatore alla struttura FORMATETC che definisce il formato utilizzato dall'oggetto dati durante l'interpretazione dei dati contenuti nel supporto di archiviazione.

[in] pmedium

Puntatore alla struttura STGMEDIUM che definisce il supporto di archiviazione in cui vengono passati i dati.

[in] fRelease

Se TRUE, l'oggetto dati chiamato, che implementa SetData, possiede il supporto di archiviazione dopo la restituzione della chiamata. Ciò significa che deve liberare il supporto dopo che è stato usato chiamando la funzione ReleaseStgMedium . Se FALSE, il chiamante mantiene la proprietà del supporto di archiviazione e l'oggetto dati chiamato usa il supporto di archiviazione solo per la durata della chiamata.

Valore restituito

Questo metodo restituisce S_OK se l'operazione ha esito positivo. Altri valori possibili includono quanto segue.

Codice restituito Descrizione
DV_E_LINDEX
Valore non valido per lindex; attualmente è supportato solo -1.
DV_E_FORMATETC
Il valore per pformatetc non è valido.
DV_E_TYMED
Il valore tymed non è valido.
DV_E_DVASPECT
Il valore dwAspect non è valido.
OLE_E_NOTRUNNING
L'applicazione oggetto non è in esecuzione.
E_FAIL
Operazione non riuscita.
E_UNEXPECTED
Si è verificato un errore imprevisto.
E_INVALIDARG
Il valore dwDirection non è valido.
E_OUTOFMEMORY
Memoria insufficiente disponibile per questa operazione.

Commenti

SetData consente a un altro oggetto di tentare di inviare dati all'oggetto dati di implementazione. Un oggetto dati implementa questo metodo se supporta la ricezione di dati da un altro oggetto . In caso contrario, deve essere implementato per restituire E_NOTIMPL.

Il chiamante alloca il supporto di archiviazione indicato dal parametro pmedium , in cui vengono passati i dati. L'oggetto dati chiamato non assume la proprietà dei dati finché non viene ricevuto correttamente e non viene restituito alcun codice di errore. Il valore del parametro fRelease indica la proprietà del supporto dopo la restituzione della chiamata. FALSE indica che il chiamante è ancora proprietario del supporto e l'oggetto dati ne ha solo l'uso durante la chiamata; TRUE indica che l'oggetto dati è ora proprietario e deve rilasciarlo quando non è più necessario.

Il tipo di supporto specificato nei parametri pformatetc e pmedium deve essere lo stesso. Ad esempio, uno non può essere un handle globale e l'altro un flusso.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione objidl.h

Vedi anche

Idataobject