Método IEmptyVolumeCache::Initialize (emptyvc.h)
Inicializa el controlador de limpieza de disco, en función de la información almacenada en la clave del Registro especificada.
Sintaxis
HRESULT Initialize(
[in] HKEY hkRegKey,
[in] LPCWSTR pcwszVolume,
[out] LPWSTR *ppwszDisplayName,
[out] LPWSTR *ppwszDescription,
[in, out] DWORD *pdwFlags
);
Parámetros
[in] hkRegKey
Tipo: HKEY
Identificador de la clave del Registro que contiene la información sobre el objeto de controlador.
[in] pcwszVolume
Tipo: LPCWSTR
Puntero a una cadena Unicode terminada en null con la raíz del volumen, por ejemplo, "C:".
[out] ppwszDisplayName
Tipo: LPWSTR*
Puntero a una cadena Unicode terminada en null con el nombre que se mostrará en la lista de controladores del administrador de limpieza de disco. Si no se asigna ningún valor, se usará el valor del Registro.
[out] ppwszDescription
Tipo: LPWSTR*
Puntero a una cadena Unicode terminada en null que se mostrará cuando este objeto esté seleccionado en la lista del administrador de limpieza de disco de los controladores de limpieza de disco disponibles. Si no se asigna ningún valor, se usará el valor del Registro.
[in, out] pdwFlags
Tipo: DWORD*
Marcas que se usan para pasar información al controlador y volver al administrador de limpieza de disco.
Estas marcas se pueden pasar al objeto :
EVCF_OUTOFDISKSPACE
Si se establece esta marca, el usuario no tiene espacio en disco en la unidad. Cuando se recibe esta marca, el controlador debe ser agresivo al liberar espacio en disco, incluso si se produce una pérdida de rendimiento. Sin embargo, el controlador no debe eliminar archivos que provocarían un error en una aplicación o que el usuario perdiera los datos.
EVCF_SETTINGSMODE
Si el administrador de limpieza de disco se ejecuta según una programación, establecerá esta marca. Debe asignar valores a los parámetros ppwszDisplayName y ppwszDescription . Si se establece esta marca, el administrador de limpieza de disco no llamará a IEmptyVolumeCache::GetSpaceUsed, IEmptyVolumeCache::P urge o IEmptyVolumeCache::ShowProperties. Dado que no se llamará a IEmptyVolumeCache::P urge , IEmptyVolumeCache::Initialize debe controlar la limpieza. El controlador debe omitir el parámetro pcwszVolume y limpiar los archivos innecesarios, independientemente de la unidad en la que se encuentren. Dado que no hay ninguna oportunidad para los comentarios de los usuarios, solo se deben tocar los archivos que son extremadamente seguros para limpiar.
El controlador puede volver a pasar estas marcas al administrador de limpieza de disco:
EVCF_DONTSHOWIFZERO
Establezca esta marca cuando no haya archivos que eliminar. Cuando se llama a IEmptyVolumeCache::GetSpaceUsed , establezca el parámetro pdwSpaceUsed en cero y el administrador de limpieza de disco omitirá el controlador de su lista.
EVCF_ENABLEBYDEFAULT
Establezca esta marca para que el controlador esté activado de forma predeterminada en la lista del administrador de limpieza. Se ejecutará cada vez que se ejecute la utilidad Limpieza de disco, a menos que el usuario desactive la casilla del controlador. Una vez desactivada la casilla, el controlador no se ejecutará hasta que el usuario lo vuelva a seleccionar.
EVCF_ENABLEBYDEFAULT_AUTO
Establezca esta marca para que el controlador se ejecute automáticamente durante la limpieza programada. Esta marca solo se debe establecer cuando la eliminación de los archivos es de bajo riesgo. Al igual que con EVCF_ENABLEBYDEFAULT, el usuario puede optar por no ejecutar el controlador desactivando su casilla en la lista del administrador de limpieza de disco.
EVCF_HASSETTINGS
Establezca esta marca para indicar que el controlador puede mostrar una interfaz de usuario. Un ejemplo de una interfaz de usuario simple es un cuadro de lista que muestra los archivos deletables y permite al usuario seleccionar cuáles eliminar. Después, el administrador de limpieza de disco mostrará un botón debajo de la descripción del controlador de limpieza. El usuario hace clic en este botón para solicitar la interfaz de usuario. El texto del botón predeterminado es "Configuración", pero el controlador puede especificar otro texto estableciendo el valor AdvancedButtonText en su clave del Registro.
EVCF_REMOVEFROMLIST
Establezca esta marca para quitar el controlador de la lista del administrador de limpieza de disco. Se eliminará toda la información del Registro y el controlador no se podrá volver a ejecutar hasta que se restaure la clave y sus valores. Esta marca se usa principalmente para las operaciones de limpieza única.
Valor devuelto
Tipo: HRESULT
Este método puede devolver uno de estos valores.
Código devuelto | Descripción |
---|---|
|
Correcto. |
|
No hay archivos que eliminar. |
|
La operación de limpieza finalizó prematuramente. |
|
Error en la operación de limpieza. |
Comentarios
El administrador de limpieza de disco de Windows 98 usa este método. Windows 2000 usa el método InitializeEx exportado por IEmptyVolumeCache2.
Use CoTaskMemAlloc para asignar memoria para las cadenas devueltas a través de ppwszDisplayName y ppwszDescription. El administrador de limpieza de disco liberará la memoria cuando ya no sea necesario.
Requisitos
Cliente mínimo compatible | Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | emptyvc.h |
Archivo DLL | Shell32.dll (versión 5.0 o posterior) |