Funzione OleCreateStaticFromData (ole2.h)

Crea un oggetto statico che contiene solo una rappresentazione, senza dati nativi, da un oggetto di trasferimento dati.

Nota Le funzioni di conversione OLESTREAM in IStorage convertno anche oggetti statici.
 

Sintassi

HRESULT OleCreateStaticFromData(
  [in]  LPDATAOBJECT    pSrcDataObj,
  [in]  REFIID          iid,
  [in]  DWORD           renderopt,
  [in]  LPFORMATETC     pFormatEtc,
  [in]  LPOLECLIENTSITE pClientSite,
  [in]  LPSTORAGE       pStg,
  [out] LPVOID          *ppvObj
);

Parametri

[in] pSrcDataObj

Puntatore all'interfaccia IDataObject nell'oggetto trasferimento dati che contiene i dati da cui verrà creato l'oggetto.

[in] iid

Riferimento all'identificatore dell'interfaccia con cui il chiamante deve comunicare con il nuovo oggetto (in genere IID_IOleObject, definito nelle intestazioni OLE come identificatore dell'interfaccia per IOleObject).

[in] renderopt

Valore dell'enumerazione OLERENDER che indica le funzionalità di disegno o recupero dati memorizzate nella cache locale che il contenitore vuole nel componente appena creato. Si tratta di un errore per passare le opzioni di rendering OLERENDER_NONE o OLERENDER_ASIS a questa funzione.

[in] pFormatEtc

A seconda di quale flag OLERENDER viene usato come valore di rendering, può essere un puntatore a uno dei valori di enumerazione FORMATETC . Per le restrizioni, vedere l'enumerazione OLERENDER .

[in] pClientSite

Puntatore a un'istanza di IOleClientSite, l'interfaccia primaria tramite cui l'oggetto richiederà i servizi dal contenitore. Questo parametro può essere NULL.

[in] pStg

Puntatore all'interfaccia IStorage per l'archiviazione per l'oggetto. Questo parametro non può essere NULL.

[out] ppvObj

Indirizzo della variabile puntatore che riceve il puntatore dell'interfaccia richiesto in riid. Al termine della restituzione, *ppvObj contiene il puntatore dell'interfaccia richiesto nell'oggetto appena creato.

Valore restituito

Questa funzione restituisce S_OK in caso di esito positivo.

Commenti

La funzione OleCreateStaticFromData può convertire qualsiasi oggetto, purché fornisca un'interfaccia IDataObject , in un oggetto statico. È utile per implementare l'opzione Converti in immagine per il collegamento OLE o l'incorporamento.

Gli oggetti statici possono essere creati solo se l'origine supporta uno dei formati degli Appunti con rendering OLE: CF_METAFILEPICT, CF_DIB o CF_ bitmap CF_ENHMETAFILE.

È anche possibile chiamare OleCreateStaticFromData per incollare un oggetto statico dagli Appunti. Per determinare se un oggetto è statico, chiamare la funzione OleQueryCreateFromData , che restituisce OLE_S_STATIC se una di CF_METAFILEPICT, CF_DIB, CF_BITMAP o CF_ENHMETAFILE è presente e un formato OLE non è presente. Ciò indica che è necessario chiamare OleCreateStaticFromData anziché la funzione OleCreateFromData per creare l'oggetto.

Il nuovo oggetto statico è di classe CLSID_StaticMetafile nel caso di CF_METAFILEPICT, CLSID_StaticDib nel caso di CF_DIB o CF_BITMAP o CLSID_Picture_EnhMetafile nel caso di CF_ENHMETAFILE. L'oggetto statico imposta i bit di OLEMISC_STATIC e OLE_CANTLINKINSIDE restituiti da IOleObject::GetMiscStatus. L'oggetto statico avrà l'aspetto DVASPECT_CONTENT e un LINDEX di -1.

PSrcDataObject è ancora valido dopo la restituzione di OleCreateStaticFromData. È responsabilità del chiamante liberare pSrcDataObject - OLE non lo rilascia.

Non è possibile avere più di un flusso di presentazione in un oggetto statico.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ole2.h
Libreria Ole32.lib
DLL Ole32.dll

Vedi anche

OleCreateFromData