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 |
---|---|
|
Operazione completata. |
|
Nessun file da eliminare. |
|
L'operazione di pulizia è stata terminata prematuramente. |
|
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) |