Bagikan melalui


Fungsi OleDoAutoConvert (ole2.h)

Secara otomatis mengonversi objek ke kelas baru jika konversi otomatis untuk kelas objek tersebut diatur dalam registri.

Sintaks

HRESULT OleDoAutoConvert(
  [in]  LPSTORAGE pStg,
  [out] LPCLSID   pClsidNew
);

Parameter

[in] pStg

Penunjuk ke antarmuka IStorage pada objek penyimpanan yang akan dikonversi.

[out] pClsidNew

Penunjuk ke CLSID baru untuk objek yang sedang dikonversi. Jika tidak ada konversi otomatis, ini mungkin sama dengan kelas asli.

Nilai kembali

Fungsi ini dapat mengembalikan nilai pengembalian standar E_INVALIDARG, E_OUTOFMEMORY, dan E_UNEXPECTED, serta nilai berikut.

Menampilkan kode Deskripsi
S_OK
Tidak ada konversi yang diperlukan atau konversi berhasil diselesaikan.
REGDB_E_KEYMISSING
Fungsi tidak dapat membaca kunci dari registri.
 

Fungsi ini juga dapat mengembalikan salah satu nilai kesalahan yang dikembalikan oleh fungsi OleGetAutoConvert . Saat mengakses objek penyimpanan dan aliran, lihat metode IStorage::OpenStorage dan IStorage::OpenStream untuk kemungkinan kesalahan. Ketika tidak dimungkinkan untuk menentukan CLSID yang ada atau ketika tidak dimungkinkan untuk memperbarui objek penyimpanan dengan informasi baru, lihat antarmuka IStream untuk nilai pengembalian kesalahan lainnya.

Keterangan

OleDoAutoConvert secara otomatis mengonversi objek jika konversi otomatis sebelumnya telah ditentukan dalam registri oleh fungsi OleSetAutoConvert . Konversi objek berarti bahwa objek secara permanen dikaitkan dengan CLSID baru. Konversi otomatis biasanya ditentukan oleh program penyiapan untuk versi baru aplikasi objek, sehingga objek yang dibuat oleh versi lamanya dapat diperbarui secara otomatis.

Objek penyimpanan harus dalam keadaan tidak dimuat saat OleDoAutoConvert dipanggil.

Aplikasi kontainer yang mendukung konversi objek harus memanggil OleDoAutoConvert setiap kali memuat objek. Jika kontainer menggunakan fungsi pembantu OleLoad , kontainer tidak perlu memanggil OleDoAutoConvert secara eksplisit karena OleLoad memanggilnya secara internal.

OleDoAutoConvert terlebih dahulu menentukan apakah konversi apa pun diperlukan dengan memanggil fungsi OleGetAutoConvert , yang, jika tidak ada konversi yang diperlukan, mengembalikan S_OK. Jika objek memerlukan konversi, OleDoAutoConvert memodifikasi dan mengonversi objek penyimpanan dengan mengaktifkan aplikasi objek baru. Aplikasi objek baru membaca format data yang ada, tetapi menyimpan objek dalam format asli baru untuk aplikasi objek.

Jika objek yang akan dikonversi secara otomatis adalah objek OLE 1, string ItemName disimpan dalam aliran yang disebut "\1Ole10ItemName." Jika aliran ini tidak ada, nama item objek adalah NULL.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header ole2.h
Pustaka Ole32.lib
DLL Ole32.dll

Lihat juga

OleGetAutoConvert

OleSetAutoConvert