Share via


Méthode IEmptyVolumeCache2 ::InitializeEx (emptyvc.h)

Initialise le gestionnaire de nettoyage de disque. Il offre une meilleure prise en charge de la localisation que Initialize.

Syntaxe

HRESULT InitializeEx(
  [in]      HKEY    hkRegKey,
  [in]      LPCWSTR pcwszVolume,
  [in]      LPCWSTR pcwszKeyName,
  [out]     LPWSTR  *ppwszDisplayName,
  [out]     LPWSTR  *ppwszDescription,
  [out]     LPWSTR  *ppwszBtnText,
  [in, out] DWORD   *pdwFlags
);

Paramètres

[in] hkRegKey

Type : HKEY

Handle de la clé de Registre qui contient les informations sur l’objet gestionnaire.

[in] pcwszVolume

Type : LPCWSTR

Pointeur vers une chaîne Unicode terminée par null avec la racine du volume, par exemple, « C : ».

[in] pcwszKeyName

Type : LPCWSTR

Pointeur vers une chaîne Unicode terminée par null avec le nom de la clé de Registre du gestionnaire.

[out] ppwszDisplayName

Type : LPWSTR*

Pointeur vers une chaîne Unicode terminée par null avec le nom qui sera affiché dans la liste des gestionnaires de nettoyage de disque. Vous devez affecter une valeur à ce paramètre.

[out] ppwszDescription

Type : LPWSTR*

Pointeur vers une chaîne Unicode terminée par null qui s’affiche lorsque cet objet est sélectionné dans la liste des nettoyeurs de disque disponibles du gestionnaire de nettoyage de disque. Vous devez affecter une valeur à ce paramètre.

[out] ppwszBtnText

Type : LPWSTR*

Pointeur vers une chaîne Unicode terminée par null avec le texte qui sera affiché sur le bouton Paramètres du gestionnaire de nettoyage de disque. Si l’indicateur EVCF_HASSETTINGS est défini, vous devez affecter une valeur à ppwszBtnText. Sinon, vous pouvez le définir sur NULL.

[in, out] pdwFlags

Type : DWORD*

Indicateurs utilisés pour transmettre des informations au gestionnaire et revenir au gestionnaire de nettoyage de disque.

Ces indicateurs peuvent être passés à l’objet :

EVCF_OUTOFDISKSPACE

Si cet indicateur est défini, l’utilisateur n’a plus d’espace disque sur le lecteur. Lorsque cet indicateur est reçu, le gestionnaire doit être agressif pour libérer de l’espace disque, même si cela entraîne une perte de performances. Toutefois, le gestionnaire ne doit pas supprimer les fichiers qui entraîneraient l’échec d’une application ou la perte de données par l’utilisateur.

EVCF_SETTINGSMODE

Si le gestionnaire de nettoyage de disque est exécuté selon une planification, il définit l’indicateur EVCF_SETTINGSMODE . Vous devez affecter des valeurs aux paramètres ppwszDisplayName et ppwszDescription . Si cet indicateur est défini, le gestionnaire de nettoyage de disque n’appelle pas GetSpaceUsed, Purge ou ShowProperties. Étant donné que Purge ne sera pas appelé, le nettoyage doit être géré par InitializeEx. Le gestionnaire doit ignorer le paramètre pcwszVolume et propre tous les fichiers inutiles, quel que soit le lecteur sur lequel ils se trouvent. Étant donné qu’il n’y a aucune possibilité de commentaires des utilisateurs, seuls les fichiers qui sont extrêmement sûrs pour propre vers le haut doivent être touchés.

Ces indicateurs peuvent être passés par le gestionnaire au gestionnaire de nettoyage de disque :

EVCF_DONTSHOWIFZERO

Définissez cet indicateur lorsqu’il n’y a aucun fichier à supprimer. Lorsque GetSpaceUsed est appelé, définissez le paramètre pdwSpaceUsed sur zéro et le gestionnaire de nettoyage de disque omet le gestionnaire de sa liste.

EVCF_ENABLEBYDEFAULT

Définissez cet indicateur pour que le gestionnaire soit vérifié par défaut dans la liste du gestionnaire de nettoyage de disque. Le gestionnaire sera exécuté chaque fois que l’utilitaire de nettoyage de disque s’exécute, sauf si l’utilisateur efface la zone de case activée du gestionnaire. Une fois la zone de case activée désactivée, le gestionnaire n’est pas exécuté tant que l’utilisateur ne le sélectionne pas à nouveau.

EVCF_ENABLEBYDEFAULT_AUTO

Définissez cet indicateur pour que le gestionnaire s’exécute automatiquement pendant le nettoyage planifié. Cet indicateur ne doit être défini que lorsque la suppression des fichiers est à faible risque. Comme avec EVCF_ENABLEBYDEFAULT, l’utilisateur peut choisir de ne pas exécuter le gestionnaire en désactivant sa zone de case activée dans la liste du gestionnaire de nettoyage de disque.

EVCF_HASSETTINGS

Définissez cet indicateur pour indiquer que le gestionnaire peut afficher une interface utilisateur. Un exemple d’interface utilisateur simple est une zone de liste qui affiche les fichiers deletables et permet à l’utilisateur de sélectionner ceux à supprimer. Le gestionnaire de nettoyage de disque affiche ensuite un bouton sous la description du gestionnaire de nettoyage. L’utilisateur clique sur ce bouton pour demander l’interface utilisateur. Utilisez le paramètre ppwszBtnText pour spécifier le texte du bouton.

EVCF_REMOVEFROMLIST

Définissez cet indicateur pour supprimer le gestionnaire de la liste du gestionnaire de nettoyage de disque. Toutes les informations du Registre sont supprimées et le gestionnaire ne peut pas être réexécuté tant que la clé et ses valeurs n’ont pas été restaurées. Cet indicateur est principalement utilisé pour les opérations de nettoyage ponctuelles.

Valeur retournée

Type : HRESULT

Cette méthode peut retourner l’une de ces valeurs.

Code de retour Description
S_OK
Opération réussie.
S_FALSE
Il n’y a aucun fichier à supprimer.
E_ABORT
L’opération de nettoyage a pris fin prématurément.
E_FAIL
L’opération de nettoyage a échoué.

Remarques

Le gestionnaire de nettoyage de disque Windows 2000 appelle d’abord IEmptyVolumeCache2 ::InitializeEx pour initialiser un gestionnaire de nettoyage de disque. Il n’appelle Initialize que si l’interface IEmptyVolumeCache2 n’est pas implémentée . Le gestionnaire de nettoyage de disque Windows 98 prend uniquement en charge Initialize.

InitializeEx est destiné à fournir une meilleure prise en charge de la localisation que Initialize. Quand InitializeEx est appelé, l’application gestionnaire doit affecter des valeurs localisées de manière appropriée aux paramètres ppwszDisplayName et ppwszDescription . Si le bouton Paramètres est activé, vous devez également affecter une valeur au paramètre ppwszBtnText . Contrairement à Initialize, si vous définissez ces chaînes sur NULL pour avertir le gestionnaire de nettoyage de disque de récupérer les valeurs par défaut du Registre, InitializeEx échoue.

Utilisez CoTaskMemAlloc pour allouer de la mémoire pour les chaînes retournées via ppwszDisplayName, ppwszDescription et ppwszBtnText. Le gestionnaire de nettoyage de disque libère la mémoire quand elle n’est plus nécessaire.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel, Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête emptyvc.h
DLL Shell32.dll (version 5.0 ou ultérieure)