Bagikan melalui


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.

Catatan Ini adalah salah satu dari beberapa fungsi kompatibilitas.
 

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

  1. Buat objek IStorage akar dengan memanggil fungsi StgCreateDocfile (..., &pstg).
  2. Buka file OLE 1 (menggunakan OpenFile atau teknik OLE 1 lainnya).
  3. Baca dari file, menggunakan prosedur OLE 1 untuk membaca file, hingga objek OLE ditemukan.
  4. 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);
    
  5. 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

CoIsOle1Class

DVTARGETDEVICE

OleConvertIStorageToOLESTREAM

OleConvertIStorageToOLESTREAMEx

OleConvertOLESTREAMToIStorageEx

STGMEDIUM

TYMED