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 |