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 |