Compartilhar via


Método IEmptyVolumeCache::Initialize (emptyvc.h)

Inicializa o manipulador de limpeza de disco, com base nas informações armazenadas na chave do Registro especificada.

Sintaxe

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

Parâmetros

[in] hkRegKey

Tipo: HKEY

Um identificador para a chave do Registro que contém as informações sobre o objeto do manipulador.

[in] pcwszVolume

Tipo: LPCWSTR

Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo com a raiz do volume , por exemplo, "C:".

[out] ppwszDisplayName

Tipo: LPWSTR*

Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo com o nome que será exibido na lista de manipuladores do gerenciador de limpeza de disco. Se nenhum valor for atribuído, o valor do Registro será usado.

[out] ppwszDescription

Tipo: LPWSTR*

Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que será exibida quando esse objeto for selecionado na lista de manipuladores de limpeza de disco disponíveis do gerenciador de limpeza de disco. Se nenhum valor for atribuído, o valor do Registro será usado.

[in, out] pdwFlags

Tipo: DWORD*

Os sinalizadores usados para passar informações para o manipulador e de volta para o gerenciador de limpeza de disco.

Esses sinalizadores podem ser passados para o objeto :

EVCF_OUTOFDISKSPACE

Se esse sinalizador estiver definido, o usuário estará sem espaço em disco na unidade. Quando esse sinalizador é recebido, o manipulador deve ser agressivo quanto à liberação de espaço em disco, mesmo que isso resulte em uma perda de desempenho. O manipulador, no entanto, não deve excluir arquivos que causariam falha em um aplicativo ou o usuário perder dados.

EVCF_SETTINGSMODE

Se o gerenciador de limpeza de disco estiver sendo executado em um agendamento, ele definirá esse sinalizador. Você deve atribuir valores aos parâmetros ppwszDisplayName e ppwszDescription . Se esse sinalizador for definido, o gerenciador de limpeza de disco não chamará IEmptyVolumeCache::GetSpaceUsed, IEmptyVolumeCache::P urge ou IEmptyVolumeCache::ShowProperties. Como IEmptyVolumeCache::P urge não será chamado, a limpeza deve ser tratada por IEmptyVolumeCache::Initialize. O manipulador deve ignorar o parâmetro pcwszVolume e limpo todos os arquivos desnecessários, independentemente da unidade em que eles estão. Como não há nenhuma oportunidade para comentários do usuário, somente os arquivos extremamente seguros para limpo devem ser tocados.

Esses sinalizadores podem ser passados pelo manipulador de volta para o gerenciador de limpeza de disco:

EVCF_DONTSHOWIFZERO

Defina esse sinalizador quando não houver arquivos a serem excluídos. Quando IEmptyVolumeCache::GetSpaceUsed for chamado, defina o parâmetro pdwSpaceUsed como zero e o gerenciador de limpeza de disco omitirá o manipulador de sua lista.

EVCF_ENABLEBYDEFAULT

Defina esse sinalizador para que o manipulador seja verificado por padrão na lista do gerenciador de limpeza. Ele será executado sempre que o utilitário limpeza de disco for executado, a menos que o usuário limpe a caixa de marcar do manipulador. Depois que a caixa marcar for desmarcada, o manipulador não será executado até que o usuário a selecione novamente.

EVCF_ENABLEBYDEFAULT_AUTO

Defina esse sinalizador para que o manipulador seja executado automaticamente durante a limpeza agendada. Esse sinalizador só deve ser definido quando a exclusão dos arquivos for de baixo risco. Assim como acontece com EVCF_ENABLEBYDEFAULT, o usuário pode optar por não executar o manipulador desmarcando sua caixa de marcar na lista do gerenciador de limpeza de disco.

EVCF_HASSETTINGS

Defina esse sinalizador para indicar que o manipulador pode exibir uma interface do usuário. Um exemplo de uma interface do usuário simples é uma caixa de listagem que exibe os arquivos deletáveis e permite que o usuário selecione quais serão excluídos. O gerenciador de limpeza de disco exibirá um botão abaixo da descrição do manipulador de limpeza. O usuário clica nesse botão para solicitar a interface do usuário. O texto do botão padrão é "Configurações", mas o manipulador pode especificar um texto diferente definindo o valor AdvancedButtonText em sua chave do Registro.

EVCF_REMOVEFROMLIST

Defina esse sinalizador para remover o manipulador da lista do gerenciador de limpeza de disco. Todas as informações do Registro serão excluídas e o manipulador não poderá ser executado novamente até que a chave e seus valores sejam restaurados. Esse sinalizador é usado principalmente para operações de limpeza única.

Valor retornado

Tipo: HRESULT

Esse método pode retornar um desses valores.

Código de retorno Descrição
S_OK
Êxito.
S_FALSE
Não há arquivos a serem excluídos.
E_ABORT
A operação de limpeza foi encerrada prematuramente.
E_FAIL
Falha na operação de limpeza.

Comentários

Esse método é usado pelo gerenciador de limpeza de disco do Windows 98. O Windows 2000 usa o método InitializeEx exportado por IEmptyVolumeCache2.

Use CoTaskMemAlloc para alocar memória para as cadeias de caracteres retornadas por meio de ppwszDisplayName e ppwszDescription. O gerenciador de limpeza de disco liberará a memória quando ela não for mais necessária.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional, Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho emptyvc.h
DLL Shell32.dll (versão 5.0 ou posterior)