IShellLibrary::Metode simpan (shobjidl_core.h)
Menyimpan pustaka ke file Deskripsi Pustaka (*.library-ms) baru.
Sintaks
HRESULT Save(
[in] IShellItem *psiFolderToSaveIn,
[in] LPCWSTR pszLibraryName,
[in] LIBRARYSAVEFLAGS lsf,
[out] IShellItem **ppsiSavedTo
);
Parameter
[in] psiFolderToSaveIn
Jenis: IShellItem*
Objek IShellItem yang menentukan folder untuk menyimpan pustaka, atau NULL untuk menyimpan pustaka dengan pustaka default pengguna di folder FOLDERID_Libraries diketahui.
[in] pszLibraryName
Jenis: LPCWSTR
Nama file untuk menyimpan pustaka. Nama file tidak boleh menyertakan ekstensi nama file; ekstensi nama file ditambahkan secara otomatis.
[in] lsf
Jenis: LIBRARYSAVEFLAGS
Nilai LIBRARYSAVEFLAGS yang menentukan cara menangani tabrakan nama pustaka.
[out] ppsiSavedTo
Jenis: IShellItem**
Objek IShellItem yang mewakili file deskripsi pustaka tempat pustaka disimpan.
Nilai kembali
Jenis: HRESULT
Jika metode ini berhasil, metode ini mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.
Keterangan
IShellLibrary::Save dan SHSaveLibraryInFolderPath membuat file pustaka baru, dan menyimpan file ke disk. Untuk menyimpan perubahan yang dibuat pada pustaka yang memiliki file pustaka yang sudah ada, panggil IShellLibrary::Commit.
Jika pustaka disimpan di folder Pustaka yang diketahui (FOLDERID_Libraries), lokasi pustaka secara otomatis ditambahkan ke indeks sistem.
Untuk kenyamanan, SHSaveLibraryInFolderPath dapat digunakan sebagai pengganti metode ini.
Contoh
Contoh kode berikut menunjukkan fungsi pembantu SHSaveLibraryInFolderPath, yang membungkus metode ini.
//
// from shobjidl.h
//
__inline HRESULT SHSaveLibraryInFolderPath(
__in IShellLibrary *plib,
__in PCWSTR pszFolderPath,
__in PCWSTR pszLibraryName,
__in LIBRARYSAVEFLAGS lsf,
__deref_opt_out PWSTR *ppszSavedToPath
)
{
if (ppszSavedToPath)
{
*ppszSavedToPath = NULL;
}
IShellItem *psiFolder;
HRESULT hr = SHCreateItemFromParsingName(
pszFolderPath,
NULL,
IID_PPV_ARGS(&psiFolder));
if (SUCCEEDED(hr))
{
IShellItem *psiSavedTo;
hr = plib->Save(psiFolder, pszLibraryName, lsf, &psiSavedTo);
if (SUCCEEDED(hr))
{
if (ppszSavedToPath)
{
hr = psiSavedTo->GetDisplayName(
SIGDN_DESKTOPABSOLUTEPARSING,
ppszSavedToPath);
}
psiSavedTo->Release();
}
psiFolder->Release();
}
return hr;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 7 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 R2 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | shobjidl_core.h (termasuk Shobjidl.h) |
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