IShellLibrary ::Save, méthode (shobjidl_core.h)
Enregistre la bibliothèque dans un nouveau fichier Description de la bibliothèque (*.library-ms).
Syntaxe
HRESULT Save(
[in] IShellItem *psiFolderToSaveIn,
[in] LPCWSTR pszLibraryName,
[in] LIBRARYSAVEFLAGS lsf,
[out] IShellItem **ppsiSavedTo
);
Paramètres
[in] psiFolderToSaveIn
Type : IShellItem*
Objet IShellItem qui spécifie le dossier dans lequel enregistrer la bibliothèque, ou NULL pour enregistrer la bibliothèque avec les bibliothèques par défaut de l’utilisateur dans le FOLDERID_Libraries dossier connu.
[in] pszLibraryName
Type : LPCWSTR
Nom de fichier sous lequel enregistrer la bibliothèque. Le nom de fichier ne doit pas inclure l’extension de nom de fichier ; l’extension de nom de fichier est ajoutée automatiquement.
[in] lsf
Type : LIBRARYSAVEFLAGS
Valeur LIBRARYSAVEFLAGS qui spécifie comment gérer une collision de nom de bibliothèque.
[out] ppsiSavedTo
Type : IShellItem**
Objet IShellItem qui représente le fichier de description de la bibliothèque dans lequel la bibliothèque a été enregistrée.
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
IShellLibrary ::Save et SHSaveLibraryInFolderPath créent un fichier de bibliothèque et enregistrez le fichier sur le disque. Pour enregistrer les modifications apportées à une bibliothèque qui a un fichier de bibliothèque existant, appelez IShellLibrary ::Commit.
Si la bibliothèque est enregistrée dans le dossier Bibliothèques connues (FOLDERID_Libraries), l’emplacement de la bibliothèque est automatiquement ajouté à l’index système.
Pour des raisons pratiques, SHSaveLibraryInFolderPath peut être utilisé à la place de cette méthode.
Exemples
L’exemple de code suivant montre la fonction d’assistance SHSaveLibraryInFolderPath, qui encapsule cette méthode.
//
// 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;
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | shobjidl_core.h (inclure Shobjidl.h) |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour