Fungsi OleConvertOLESTREAMToIStorage (ole2.h)
Fungsi OleConvertOLESTREAMToIStorage mengonversi objek yang ditentukan dari model penyimpanan OLE 1 menjadi objek penyimpanan terstruktur OLE 2 tanpa menentukan data presentasi.
Sintaks
HRESULT OleConvertOLESTREAMToIStorage(
[in] LPOLESTREAM lpolestream,
[out] LPSTORAGE pstg,
[in] const DVTARGETDEVICE *ptd
);
Parameter
[in] lpolestream
Penunjuk ke aliran yang berisi representasi persisten objek dalam format penyimpanan OLE 1.
[out] pstg
Penunjuk ke antarmuka IStorage pada objek penyimpanan terstruktur OLE 2.
[in] ptd
Penunjuk ke struktur DVTARGETDEVICE yang menentukan perangkat target tempat objek OLE 1 dirender.
Nilai kembali
Fungsi ini mendukung nilai pengembalian standar E_INVALIDARG, selain yang berikut:
Keterangan
Fungsi ini mengonversi objek OLE 1 menjadi objek penyimpanan terstruktur OLE 2. Gunakan fungsi ini untuk memperbarui objek OLE 1 ke objek OLE 2 saat versi baru aplikasi objek mendukung OLE 2.
Pada entri, parameter lpolestm harus dibuat dan diposisikan sama seperti untuk panggilan fungsi OleLoadFromStream . Saat keluar, parameter lpolestm diposisikan sama seperti saat keluar dari fungsi OleLoadFromStream , dan parameter pstg berisi representasi persisten yang tidak dikomit dari objek penyimpanan OLE 2.
Untuk objek OLE 1 yang menggunakan data asli untuk presentasi mereka, fungsi OleConvertOLESTREAMToIStorage mengembalikan CONVERT10_S_NO_PRESENTATION. Saat menerima nilai pengembalian ini, penelepon harus memanggil IOleObject::Update untuk mendapatkan data presentasi sehingga dapat ditulis ke penyimpanan.
Aplikasi yang tidak menggunakan sumber daya penembolokan default OLE, tetapi menggunakan sumber daya konversi, dapat menggunakan fungsi alternatif, OleConvertOLESTREAMToIStorageEx, yang dapat menentukan data presentasi yang akan dikonversi. Dalam fungsi OleConvertOLESTREAMToIStorageEx , data presentasi yang dibaca dari struktur OLESTREAM dilewatkan dan objek penyimpanan OLE 2 yang baru dibuat tidak berisi aliran presentasi.
Prosedur berikut menjelaskan proses konversi menggunakan OleConvertOLESTREAMToIStorage.
Mengonversi objek OLE 1 ke objek penyimpanan OLE 2
- Buat objek IStorage akar dengan memanggil fungsi StgCreateDocfile (..., &pstg).
- Buka file OLE 1 (menggunakan OpenFile atau teknik OLE 1 lainnya).
- Baca dari file, menggunakan prosedur OLE 1 untuk membaca file, hingga objek OLE ditemukan.
- Alokasikan objek IStorage dari IStorage akar yang dibuat di Langkah 1.
pstg->lpVtbl->CreateStorage(...&pStgChild); hRes = OleConvertIStorageToOLESTREAM(polestm, pStgChild); hRes = OleLoad(pStgChild, &IID_IOleObject, pClientSite, ppvObj);
- Ulangi Langkah 3 hingga file benar-benar dibaca.
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
OleConvertIStorageToOLESTREAMEx