Compartilhar via


Método IRunnableObject::SetContainedObject (objidl.h)

Notifica um objeto de que ele está inserido em um contêiner OLE, o que garante que a contagem de referência seja feita corretamente para contêineres que dão suporte a links para objetos inseridos.

Sintaxe

HRESULT SetContainedObject(
  [in] BOOL fContained
);

Parâmetros

[in] fContained

TRUE especifica que o objeto está contido em um contêiner OLE. FALSE indica que não é.

Retornar valor

Esse método pode retornar os valores de retorno padrão E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED e S_OK.

Comentários

O método SetContainedObject permite que um contêiner informe a um manipulador de objetos que ele está inserido no contêiner, em vez de atuar como um link. Essa chamada altera a referência do contêiner no objeto de forte, o padrão para conexões externas, para fraca. Quando o objeto está em execução visivelmente, esse método tem pouco significado porque o usuário final tem um bloqueio no objeto . Durante uma atualização silenciosa de uma fonte de link inserida, no entanto, o contêiner não deve ser capaz de manter um objeto no estado em execução depois que o link tiver sido quebrado. Por esse motivo, a referência do contêiner ao objeto deve ser fraca.

Anotações para chamadores

Um aplicativo de contêiner deverá chamar SetContainedObject se ele der suporte à vinculação a objetos inseridos. Normalmente, ele faz a chamada imediatamente depois de chamar OleLoad ou OleCreate e nunca mais chama o método, mesmo antes de ser fechado. Além disso, um contêiner quase sempre chama esse método com fContained definido como TRUE. O uso desse método com fContained definido como FALSE é raro.

Chamar SetContainedObject é opcional somente quando você souber que o objeto inserido não será referenciado por nenhum cliente diferente do contêiner. Se o aplicativo de contêiner não der suporte à vinculação a objetos inseridos; é preferível, mas não necessário, chamar SetContainedObject.

OleSetContainedObject é uma função auxiliar que convenientemente reempacota a funcionalidade oferecida por SetContainedObject. Com o lançamento do OLE 2.01, a implementação de OleSetContainedObject foi alterada para chamar QueryInterface, solicitar IRunnableObject e chamar IRunnableObject::SetContainedObject. Em outras palavras, você pode usar a interface e a função auxiliar intercambiável.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho objidl.h

Confira também

Irunnableobject

Olesetcontainedobject