Metode IStorage::CreateStream (objidl.h)
Metode CreateStream membuat dan membuka objek stream dengan nama yang ditentukan yang terkandung dalam objek penyimpanan ini. Semua elemen dalam objek penyimpanan, baik aliran maupun objek penyimpanan lainnya, disimpan dalam ruang nama yang sama.
Sintaks
HRESULT CreateStream(
[in] const OLECHAR *pwcsName,
[in] DWORD grfMode,
[in] DWORD reserved1,
[in] DWORD reserved2,
[out] IStream **ppstm
);
Parameter
[in] pwcsName
Penunjuk ke string Unicode karakter lebar yang dihentikan null yang berisi nama aliran yang baru dibuat. Nama dapat digunakan nanti untuk membuka atau membuka kembali aliran. Panjang nama tidak boleh melebihi 31 karakter, tidak termasuk terminator string. 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.
[in] grfMode
Menentukan mode akses yang akan digunakan saat membuka aliran yang baru dibuat. Untuk informasi selengkapnya dan deskripsi nilai yang mungkin, lihat Konstanta STGM.
[in] reserved1
Dicadangkan untuk digunakan di masa mendatang; harus nol.
[in] reserved2
Dicadangkan untuk digunakan di masa mendatang; harus nol.
[out] ppstm
Saat kembali, arahkan ke lokasi penunjuk antarmuka IStream baru. Ini hanya valid jika operasi berhasil. Ketika terjadi kesalahan, parameter ini diatur ke NULL.
Nilai kembali
Metode ini dapat mengembalikan salah satu nilai ini.
Menampilkan kode | Deskripsi |
---|---|
S_OK | Aliran baru berhasil dibuat. |
E_PENDING | Hanya Penyimpanan Asinkron: Sebagian atau semua data yang diperlukan saat ini tidak tersedia. |
STG_E_ACCESSDENIED | Tidak cukup izin untuk membuat aliran. |
STG_E_FILEALREADYEXISTS | Nama yang ditentukan untuk aliran sudah ada di objek penyimpanan dan parameter grfMode menyertakan nilai STGM_FAILIFTHERE. |
STG_E_INSUFFICIENTMEMORY | Aliran tidak dibuat 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; misalnya, ketika metode ini dipanggil tanpa bendera STGM_SHARE_EXCLUSIVE. |
STG_E_INVALIDNAME | Nilai tidak valid untuk pwcsName. |
STG_E_INVALIDPOINTER | Penunjuk yang ditentukan untuk objek aliran 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 | Aliran tidak dibuat karena terlalu banyak file terbuka. |
Keterangan
Jika aliran dengan nama yang ditentukan dalam parameter pwcsName sudah ada dan parameter grfMode menyertakan bendera STGM_CREATE, aliran yang ada digantikan oleh yang baru dibuat. Penghancuran aliran lama dan pembuatan objek stream baru tunduk pada mode transaksi pada objek penyimpanan induk.
Implementasi file campuran yang disediakan COM dari metode IStorage::CreateStream tidak mendukung perilaku berikut:
- Bendera STGM_DELETEONRELEASE tidak didukung.
- Mode yang ditransaksikan (STGM_TRANSACTED) tidak didukung untuk objek stream.
- Membuka aliran yang sama lebih dari sekali dari penyimpanan yang sama tidak didukung. Bendera mode berbagi STGM_SHARE_EXCLUSIVE harus ditentukan dalam parameter grfMode .
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk