Método IEmptyVolumeCache2::InitializeEx (emptyvc.h)
Inicializa o manipulador de limpeza de disco. Ele fornece melhor suporte para localização do que Inicializar.
Sintaxe
HRESULT InitializeEx(
[in] HKEY hkRegKey,
[in] LPCWSTR pcwszVolume,
[in] LPCWSTR pcwszKeyName,
[out] LPWSTR *ppwszDisplayName,
[out] LPWSTR *ppwszDescription,
[out] LPWSTR *ppwszBtnText,
[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:".
[in] pcwszKeyName
Tipo: LPCWSTR
Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo com o nome da chave do Registro do manipulador.
[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. Você deve atribuir um valor a esse parâmetro.
[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 limpadores de disco disponíveis do gerenciador de limpeza de disco. Você deve atribuir um valor a esse parâmetro.
[out] ppwszBtnText
Tipo: LPWSTR*
Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo com o texto que será exibido no botão Configurações do gerenciador de limpeza de disco. Se o sinalizador EVCF_HASSETTINGS estiver definido, você deverá atribuir um valor a ppwszBtnText. Caso contrário, você pode defini-lo como NULL.
[in, out] pdwFlags
Tipo: DWORD*
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 for executado em um agendamento, ele definirá o sinalizador EVCF_SETTINGSMODE . Você deve atribuir valores aos parâmetros ppwszDisplayName e ppwszDescription . Se esse sinalizador estiver definido, o gerenciador de limpeza de disco não chamará GetSpaceUsed, Purge ou ShowProperties. Como a Limpeza não será chamada, a limpeza deve ser tratada por InitializeEx. 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 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 de disco. O manipulador será executado sempre que o utilitário de 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. Use o parâmetro ppwszBtnText para especificar o texto do botão.
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.
Retornar valor
Tipo: HRESULT
Esse método pode retornar um desses valores.
Código de retorno | Descrição |
---|---|
|
Êxito. |
|
Não há arquivos a serem excluídos. |
|
A operação de limpeza foi encerrada prematuramente. |
|
Falha na operação de limpeza. |
Comentários
O gerenciador de limpeza de disco do Windows 2000 chamará primeiro IEmptyVolumeCache2::InitializeEx para inicializar um manipulador de limpeza de disco. Ele só chamará Initialize se a interface IEmptyVolumeCache2 não for implementada. O gerenciador de limpeza de disco do Windows 98 só dá suporte a Inicializar.
InitializeEx destina-se a fornecer melhor suporte de localização do que Inicializar. Quando InitializeEx é chamado, o aplicativo manipulador deve atribuir valores localizados adequadamente aos parâmetros ppwszDisplayName e ppwszDescription . Se o botão Configurações estiver habilitado, você também deverá atribuir um valor ao parâmetro ppwszBtnText . Ao contrário de Inicializar, se você definir essas cadeias de caracteres como NULL para notificar o gerenciador de limpeza de disco para recuperar os valores padrão do registro, InitializeEx falhará.
Use CoTaskMemAlloc para alocar memória para as cadeias de caracteres retornadas por meio de ppwszDisplayName, ppwszDescription e ppwszBtnText. O gerenciador de limpeza de disco liberará a memória quando ela não for mais necessária.
Requisitos
Requisito | Valor |
---|---|
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) |