Condividi tramite


Funzione OleSetAutoConvert (ole2.h)

Specifica un CLSID per la conversione automatica in una classe diversa quando viene caricato un oggetto di tale classe.

Sintassi

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

Parametri

[in] clsidOld

CLSID della classe oggetto da convertire.

[in] clsidNew

CLSID della classe oggetto che deve sostituire clsidOld. Questo nuovo CLSID sostituisce tutte le informazioni di conversione automatica esistenti nel Registro di sistema per clsidOld. Se questo valore è CLSID_NULL, tutte le informazioni di conversione automatica esistenti per clsidOld vengono rimosse dal Registro di sistema.

Valore restituito

Questa funzione può restituire i valori restituiti standard E_INVALIDARG, E_OUTOFMEMORY e E_UNEXPECTED, nonché i valori seguenti.

Codice restituito Descrizione
S_OK
L'oggetto è stato contrassegnato correttamente.
REGDB_E_CLASSNOTREG
IL CLSID non è registrato correttamente nel Registro di sistema.
REGDB_E_READREGDB
Errore durante la lettura dal Registro di sistema.
REGDB_E_WRITEREGDB
Errore durante la scrittura nel Registro di sistema.
REGDB_E_KEYMISSING
Impossibile leggere una chiave dal Registro di sistema.

Commenti

OleSetAutoConvert passa al Registro di sistema, trova la sottochiave AutoConvertTo sotto IL CLSID specificato da clsidOld e la imposta su clsidNew. Questa funzione non convalida se esiste una voce del Registro di sistema appropriata per clsidNew . Queste voci vengono visualizzate nel Registro di sistema come sottochiavi della chiave CLSID.

La conversione dell'oggetto indica che i dati dell'oggetto sono associati in modo permanente a un nuovo CLSID. La conversione automatica viene in genere specificata nel programma di installazione di una nuova versione di un'applicazione oggetto, quindi gli oggetti creati dalle versioni precedenti possono essere aggiornati automaticamente alla nuova versione.

Ad esempio, potrebbe essere necessario convertire i fogli di calcolo creati con versioni precedenti di un'applicazione foglio di calcolo nella nuova versione. Gli oggetti foglio di calcolo delle versioni precedenti hanno CLSID diversi rispetto alla nuova versione. Per ogni versione precedente che si desidera aggiornare automaticamente, chiamare OleSetAutoConvert nel programma di installazione, specificando il CLSID della versione precedente e quello del nuovo. Ogni volta che un utente carica un oggetto da una versione precedente, viene quindi aggiornato automaticamente. Per supportare la conversione automatica degli oggetti, un server che supporta la conversione deve essere preparato per convertire manualmente gli oggetti con il formato di una versione precedente del server. La conversione automatica si basa internamente su questo supporto per la conversione manuale.

Prima di impostare il valore AutoConvertTo desiderato, i programmi di installazione devono anche chiamare OleSetAutoConvert per rimuovere qualsiasi conversione esistente per la nuova classe, specificando la nuova classe come parametro clsidOld e impostando il parametro clsidNew su CLSID_NULL.

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

AutoConvertTo

OleDoAutoConvert

OleGetAutoConvert