Condividi tramite


Metodo IEmptyVolumeCache2::InitializeEx (emptyvc.h)

Inizializza il gestore di pulizia del disco. Offre un supporto migliore per la localizzazione rispetto a Initialize.

Sintassi

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

Parametri

[in] hkRegKey

Tipo: HKEY

Handle per la chiave del Registro di sistema che contiene le informazioni sull'oggetto gestore.

[in] pcwszVolume

Tipo: LPCWSTR

Puntatore a una stringa Unicode con terminazione Null con la radice del volume, ad esempio "C:".

[in] pcwszKeyName

Tipo: LPCWSTR

Puntatore a una stringa Unicode con terminazione Null con il nome della chiave del Registro di sistema del gestore.

[out] ppwszDisplayName

Tipo: LPWSTR*

Puntatore a una stringa Unicode con terminazione Null con il nome che verrà visualizzato nell'elenco dei gestori di pulizia del disco. È necessario assegnare un valore a questo parametro.

[out] ppwszDescription

Tipo: LPWSTR*

Puntatore a una stringa Unicode con terminazione Null che verrà visualizzata quando questo oggetto viene selezionato dall'elenco di utilità di pulizia del disco disponibili. È necessario assegnare un valore a questo parametro.

[out] ppwszBtnText

Tipo: LPWSTR*

Puntatore a una stringa Unicode con terminazione Null con il testo che verrà visualizzato nel pulsante Impostazioni di Gestione pulizia disco. Se il flag EVCF_HASSETTINGS è impostato, è necessario assegnare un valore a ppwszBtnText. In caso contrario, è possibile impostarlo su NULL.

[in, out] pdwFlags

Tipo: DWORD*

Flag usati per passare le informazioni al gestore e tornare al gestore di pulizia del disco.

Questi flag possono essere passati all'oggetto :

EVCF_OUTOFDISKSPACE

Se questo flag è impostato, l'utente non ha spazio su disco nell'unità. Quando questo flag viene ricevuto, il gestore deve essere aggressivo per liberare spazio su disco, anche se comporta una perdita di prestazioni. Il gestore, tuttavia, non deve eliminare i file che causano un errore di un'applicazione o l'utente perde i dati.

EVCF_SETTINGSMODE

Se il gestore pulizia disco viene eseguito in base a una pianificazione, verrà impostato il flag EVCF_SETTINGSMODE . È necessario assegnare valori ai parametri ppwszDisplayName e ppwszDescription . Se questo flag è impostato, gestione pulizia disco non chiamerà GetSpaceUsed, Purge o ShowProperties. Poiché l'eliminazione non verrà chiamata, la pulizia deve essere gestita da InitializeEx. Il gestore deve ignorare il parametro pcwszVolume e pulire eventuali file non necessari indipendentemente dall'unità su cui si trovano. Poiché non è possibile inviare commenti e suggerimenti degli utenti, è consigliabile toccare solo i file estremamente sicuri da pulire.

Questi flag possono essere passati dal gestore alla gestione pulizia disco:

EVCF_DONTSHOWIFZERO

Impostare questo flag quando non sono presenti file da eliminare. Quando viene chiamato GetSpaceUsed , impostare il parametro pdwSpaceUsed su zero e gestione pulizia disco ometterà il gestore dall'elenco.

EVCF_ENABLEBYDEFAULT

Impostare questo flag in modo che il gestore sia selezionato per impostazione predefinita nell'elenco di Gestione pulizia dischi. Il gestore verrà eseguito ogni volta che viene eseguita l'utilità di pulizia del disco, a meno che l'utente non deseleziona la casella di controllo del gestore. Dopo aver deselezionato la casella di controllo, il gestore non verrà eseguito fino a quando l'utente non lo seleziona nuovamente.

EVCF_ENABLEBYDEFAULT_AUTO

Impostare questo flag in modo che il gestore venga eseguito automaticamente durante la pulizia pianificata. Questo flag deve essere impostato solo quando l'eliminazione dei file è a basso rischio. Come per EVCF_ENABLEBYDEFAULT, l'utente può scegliere di non eseguire il gestore deselezionando la casella di controllo nell'elenco di Gestione pulizia disco.

EVCF_HASSETTINGS

Impostare questo flag per indicare che il gestore può visualizzare un'interfaccia utente. Un esempio di interfaccia utente semplice è una casella di riepilogo che visualizza i file deletable e consente all'utente di selezionare quelli da eliminare. Gestione pulizia disco visualizzerà quindi un pulsante sotto la descrizione del gestore di pulizia. L'utente fa clic su questo pulsante per richiedere l'interfaccia utente. Usare il parametro ppwszBtnText per specificare il testo del pulsante.

EVCF_REMOVEFROMLIST

Impostare questo flag per rimuovere il gestore dall'elenco di Gestione pulizia dischi. Tutte le informazioni del Registro di sistema verranno eliminate e il gestore non può essere eseguito di nuovo finché la chiave e i relativi valori non vengono ripristinati. Questo flag viene usato principalmente per le operazioni di pulizia monouso.

Valore restituito

Tipo: HRESULT

Questo metodo può restituire uno di questi valori.

Codice restituito Descrizione
S_OK
Operazione completata.
S_FALSE
Nessun file da eliminare.
E_ABORT
L'operazione di pulizia è stata terminata prematuramente.
E_FAIL
Operazione di pulizia non riuscita.

Commenti

Gestione pulizia disco di Windows 2000 chiamerà prima IEmptyVolumeCache2::InitializeEx per inizializzare un gestore di pulizia del disco. Chiamerà Initialize solo se l'interfaccia IEmptyVolumeCache2 non è implementata. Lo strumento di gestione pulizia dischi di Windows 98 supporta solo Initialize.

InitializeEx è progettato per offrire un supporto di localizzazione migliore rispetto a Initialize. Quando viene chiamato InitializeEx , l'applicazione del gestore deve assegnare valori localizzati in modo appropriato ai parametri ppwszDisplayName e ppwszDescription . Se il pulsante Impostazioni è abilitato, è necessario assegnare anche un valore al parametro ppwszBtnText . A differenza di Initialize, se si impostano queste stringhe su NULL per notificare al gestore pulizia disco di recuperare i valori predefiniti dal Registro di sistema, InitializeEx avrà esito negativo.

Usare CoTaskMemAlloc per allocare memoria per le stringhe restituite tramite ppwszDisplayName, ppwszDescription e ppwszBtnText. Gestione pulizia disco libera la memoria quando non è più necessaria.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional, Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione emptyvc.h
DLL Shell32.dll (versione 5.0 o successiva)