Condividi tramite


Metodo IRunnableObject::SetContainedObject (objidl.h)

Notifica a un oggetto che è incorporato in un contenitore OLE, che garantisce che il conteggio dei riferimenti venga eseguito correttamente per i contenitori che supportano collegamenti a oggetti incorporati.

Sintassi

HRESULT SetContainedObject(
  [in] BOOL fContained
);

Parametri

[in] fContained

TRUE specifica che l'oggetto è contenuto in un contenitore OLE. FALSE indica che non lo è.

Valore restituito

Questo metodo può restituire i valori restituiti standard E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED e S_OK.

Commenti

Il metodo SetContainedObject consente a un contenitore di informare un gestore di oggetti che è incorporato nel contenitore, anziché fungere da collegamento. Questa chiamata modifica il riferimento del contenitore sull'oggetto da strong, l'impostazione predefinita per le connessioni esterne, a weak. Quando l'oggetto è in esecuzione in modo visibile, questo metodo è poco significativo perché l'utente finale ha un blocco sull'oggetto. Durante un aggiornamento invisibile all'utente di un'origine di collegamento incorporata, tuttavia, il contenitore non deve essere in grado di contenere un oggetto nello stato di esecuzione dopo l'interruzione del collegamento. Per questo motivo, il riferimento del contenitore all'oggetto deve essere debole.

Note ai chiamanti

Un'applicazione contenitore deve chiamare SetContainedObject se supporta il collegamento a oggetti incorporati. Normalmente esegue la chiamata immediatamente dopo aver chiamato OleLoad o OleCreate e non chiama mai più il metodo, anche prima della chiusura. Inoltre, un contenitore chiama quasi sempre questo metodo con fContained impostato su TRUE. L'uso di questo metodo con fContained impostato su FALSE è raro.

La chiamata a SetContainedObject è facoltativa solo quando si sa che l'oggetto incorporato non verrà fatto riferimento da alcun client diverso dal contenitore. Se l'applicazione contenitore non supporta il collegamento a oggetti incorporati; è preferibile, ma non necessario, chiamare SetContainedObject.

OleSetContainedObject è una funzione helper che ripacchetto in modo pratico le funzionalità offerte da SetContainedObject. Con il rilascio di OLE 2.01, l'implementazione di OleSetContainedObject è stata modificata per chiamare QueryInterface, richiedere IRunnableObject e quindi chiamare IRunnableObject::SetContainedObject. In altre parole, è possibile usare l'interfaccia e la funzione helper in modo intercambiabile.

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 objidl.h

Vedi anche

IRunnableObject

OleSetContainedObject