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 |
---|---|
|
L'oggetto è stato contrassegnato correttamente. |
|
IL CLSID non è registrato correttamente nel Registro di sistema. |
|
Errore durante la lettura dal Registro di sistema. |
|
Errore durante la scrittura nel Registro di sistema. |
|
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 |