Metode IStorage::OpenStorage (objidl.h)

Metode OpenStorage membuka objek penyimpanan yang ada dengan nama yang ditentukan dalam mode akses yang ditentukan.

Sintaks

HRESULT OpenStorage(
  [in]  const OLECHAR *pwcsName,
  [in]  IStorage      *pstgPriority,
  [in]  DWORD         grfMode,
  [in]  SNB           snbExclude,
  [in]  DWORD         reserved,
  [out] IStorage      **ppstg
);

Parameter

[in] pwcsName

Penunjuk ke string Unicode karakter lebar yang dihentikan null yang berisi nama objek penyimpanan yang akan dibuka. Karakter 000 hingga 01f, berfungsi sebagai karakter pertama dari nama aliran/penyimpanan, dicadangkan untuk digunakan oleh OLE. Ini adalah pembatasan file gabungan, bukan pembatasan penyimpanan terstruktur. Ini diabaikan jika pstgPrioritybukan-NULL.

[in] pstgPriority

Harus NULL. Nilai non-NULL akan mengembalikan STG_E_INVALIDPARAMETER.

[in] grfMode

Menentukan mode akses yang akan digunakan saat membuka objek penyimpanan. Untuk deskripsi nilai yang mungkin, lihat Konstanta STGM. Mode lain yang Anda pilih setidaknya harus menentukan STGM_SHARE_EXCLUSIVE saat memanggil metode ini.

[in] snbExclude

Harus NULL. Nilai non-NULL akan mengembalikan STG_E_INVALIDPARAMETER.

[in] reserved

Dicadangkan untuk digunakan di masa mendatang; harus nol.

[out] ppstg

Jika berhasil, arahkan ke lokasi penunjuk IStorage ke objek penyimpanan yang dibuka. Parameter ini diatur ke NULL jika terjadi kesalahan.

Mengembalikan nilai

Metode ini dapat mengembalikan salah satu nilai ini.

Menampilkan kode Deskripsi
S_OK Objek penyimpanan berhasil dibuka.
E_PENDING Hanya Penyimpanan Asinkron: Bagian atau semua data penyimpanan saat ini tidak tersedia.
STG_E_ACCESSDENIED Tidak cukup izin untuk membuka objek penyimpanan.
STG_E_FILENOTFOUND Objek penyimpanan dengan nama yang ditentukan tidak ada.
STG_E_INSUFFICIENTMEMORY Objek penyimpanan tidak dibuka karena kurangnya memori.
STG_E_INVALIDFLAG Nilai yang ditentukan untuk parameter grfMode bukan nilai konstanta STGM yang valid.
STG_E_INVALIDFUNCTION Kombinasi bendera yang ditentukan dalam parameter grfMode tidak didukung.
STG_E_INVALIDNAME Bukan nilai yang valid untuk pwcsName.
STG_E_INVALIDPOINTER Penunjuk yang ditentukan untuk objek penyimpanan tidak valid.
STG_E_INVALIDPARAMETER Salah satu parameter tidak valid.
STG_E_REVERTED Objek penyimpanan telah dibatalkan oleh operasi kembali di atasnya di pohon transaksi.
STG_E_TOOMANYOPENFILES Objek penyimpanan tidak dibuat karena terlalu banyak file yang terbuka.
STG_S_CONVERTED Aliran yang ada dengan nama yang ditentukan diganti dengan objek penyimpanan baru yang berisi satu aliran yang disebut CONTENTS. Dalam mode langsung, penyimpanan baru segera ditulis ke disk. Dalam mode bertransaksi, penyimpanan baru ditulis ke penyimpanan sementara dalam memori dan kemudian ditulis ke disk saat diterapkan.

Keterangan

Jika parameter pstgPriorityADALAH NULL, parameter tersebut diabaikan. Jika parameter pstgPriority bukan NULL, parameter tersebut adalah penunjuk IStorage ke pembukaan elemen objek penyimpanan sebelumnya, biasanya yang dibuka dalam mode prioritas. Objek penyimpanan harus ditutup dan dibuka kembali sesuai dengan grfMode. Ketika metode IStorage::OpenStorage kembali, pstgPriority tidak lagi valid. Gunakan nilai yang disediakan dalam parameter ppstg .

Objek penyimpanan dapat dibuka dengan STGM_DELETEONRELEASE, dalam hal ini objek dihancurkan ketika menerima rilis akhir. Ini berguna untuk membuat objek penyimpanan sementara.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows 2000 Server [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header objidl.h
Pustaka Uuid.lib
DLL Ole32.dll

Lihat juga

IStorage - Implementasi File Gabungan

IStorage::CreateStorage