Condividi tramite


Funzione OleCreateLinkFromData (ole2.h)

Crea un oggetto collegato da un oggetto di trasferimento dati recuperato dagli Appunti o come parte di un'operazione di trascinamento della selezione OLE.

Sintassi

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

Parametri

[in] pSrcDataObj

Puntatore all'interfaccia IDataObject nell'oggetto di trasferimento dati da cui creare l'oggetto collegato.

[in] riid

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

[in] renderopt

Valore dell'enumerazione OLERENDER che indica le funzionalità di disegno o recupero dati memorizzate nella cache locale che l'oggetto appena creato deve avere. Le considerazioni aggiuntive sono descritte nella sezione Osservazioni seguente.

[in] pFormatEtc

Puntatore a un valore dell'enumerazione OLERENDER che indica le funzionalità di disegno o recupero dati memorizzate nella cache locale dell'oggetto appena creato. Il valore OLERENDER scelto influisce sui valori possibili per il parametro pFormatEtc .

[in] pClientSite

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

[in] pStg

Puntatore all'interfaccia IStorage nell'oggetto di archiviazione. Questo parametro non può essere NULL.

[out] ppvObj

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

Valore restituito

Questa funzione restituisce S_OK in caso di esito positivo. Altri valori possibili includono quanto segue.

Codice restituito Descrizione
CLIPBRD_E_CANT_OPEN
Non è possibile aprire gli Appunti.
OLE_E_CANT_GETMONIKER
Non è possibile estrarre il moniker dell'oggetto.
OLE_E_CANT_BINDTOSOURCE
Non è possibile eseguire l'associazione all'origine. L'associazione è necessaria per ottenere i dati di inizializzazione della cache.

Commenti

La funzione OleCreateLinkFromData viene utilizzata per implementare un collegamento incolla o un'operazione di trascinamento del collegamento. L'operazione è simile a quella della funzione OleCreateFromData , ad eccezione del fatto che crea un collegamento e cerca formati di dati diversi. Se il formato CF_LINKSOURCE non è presente e nel formato degli Appunti FileName o FileNameW è presente l'oggetto trasferimento dati, OleCreateLinkFromData crea un pacchetto contenente il collegamento al file indicato.

Usare i parametri renderopt e pFormatetc per controllare la funzionalità di memorizzazione nella cache dell'oggetto appena creato. Per informazioni generali su come determinare cosa deve essere memorizzato nella cache, vedere l'enumerazione OLERENDER per una descrizione dell'interazione tra renderopt e pFormatetc. Esistono tuttavia alcuni effetti specifici aggiuntivi di questi parametri nel modo in cui OleCreateLinkFromData inizializza la cache, come indicato di seguito.

Valore Descrizione
OLERENDER_DRAW, OLERENDER_FORMAT Se le informazioni sulla presentazione si trovano negli altri formati nell'oggetto dati di origine, vengono utilizzate queste informazioni. Se le informazioni non sono presenti, la cache è inizialmente vuota, ma verrà riempita la prima volta che viene eseguito l'oggetto. Nessun altro formato viene memorizzato nella cache nell'oggetto appena creato.
OLERENDER_NONE, OLERENDER_ASIS Non deve essere memorizzato nella cache nell'oggetto appena creato.

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

OleCreateLink