Função OleSetAutoConvert (ole2.h)

Especifica um CLSID para conversão automática em uma classe diferente quando um objeto dessa classe é carregado.

Sintaxe

HRESULT OleSetAutoConvert(
  [in] REFCLSID clsidOld,
  [in] REFCLSID clsidNew
);

Parâmetros

[in] clsidOld

O CLSID da classe de objeto a ser convertida.

[in] clsidNew

O CLSID da classe de objeto que deve substituir clsidOld. Esse novo CLSID substitui todas as informações de conversão automática existentes no registro para clsidOld. Se esse valor for CLSID_NULL, todas as informações de conversão automática existentes para clsidOld serão removidas do registro.

Retornar valor

Essa função pode retornar os valores de retorno padrão E_INVALIDARG, E_OUTOFMEMORY e E_UNEXPECTED, bem como os valores a seguir.

Código de retorno Descrição
S_OK
O objeto foi marcado com êxito.
REGDB_E_CLASSNOTREG
O CLSID não está registrado corretamente no registro.
REGDB_E_READREGDB
Erro ao ler do registro.
REGDB_E_WRITEREGDB
Erro ao gravar no registro.
REGDB_E_KEYMISSING
Não é possível ler uma chave do Registro.

Comentários

OleSetAutoConvert vai para o registro do sistema, localiza a subchave AutoConvertTo sob o CLSID especificado por clsidOld e o define como clsidNew. Essa função não valida se existe uma entrada de registro apropriada para clsidNew atualmente. Essas entradas aparecem no Registro como subchaves da chave CLSID.

A conversão de objeto significa que os dados do objeto estão permanentemente associados a um novo CLSID. A conversão automática normalmente é especificada no programa de instalação de uma nova versão de um aplicativo de objeto, portanto, os objetos criados por suas versões mais antigas podem ser atualizados automaticamente para a nova versão.

Por exemplo, pode ser necessário converter planilhas que foram criadas com versões anteriores de um aplicativo de planilha para a nova versão. Os objetos de planilha de versões anteriores têm CLSIDs diferentes da nova versão. Para cada versão anterior que você deseja atualizar automaticamente, você chamaria OleSetAutoConvert no programa de instalação, especificando o CLSID da versão antiga e o do novo. Em seguida, sempre que um usuário carrega um objeto de uma versão anterior, ele seria atualizado automaticamente. Para dar suporte à conversão automática de objetos, um servidor que dá suporte à conversão deve estar preparado para converter manualmente objetos que tenham o formato de uma versão anterior do servidor. A conversão automática depende internamente desse suporte de conversão manual.

Antes de definir o valor AutoConvertTo desejado, os programas de instalação também devem chamar OleSetAutoConvert para remover qualquer conversão existente para a nova classe, especificando a nova classe como o parâmetro clsidOld e definindo o parâmetro clsidNew como CLSID_NULL.

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 ole2.h
Biblioteca Ole32.lib
DLL Ole32.dll

Confira também

AutoConvertTo

OleDoAutoConvert

OleGetAutoConvert