Compartir a través de


Método IEmptyVolumeCache2::InitializeEx (emptyvc.h)

Inicializa el controlador de limpieza de disco. Proporciona una mejor compatibilidad con la localización que Initialize.

Sintaxis

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

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:".

[in] pcwszKeyName

Tipo: LPCWSTR

Puntero a una cadena Unicode terminada en null con el nombre de la clave del Registro del controlador.

[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. Debe asignar un valor a este parámetro.

[out] ppwszDescription

Tipo: LPWSTR*

Puntero a una cadena Unicode terminada en null que se mostrará cuando este objeto esté seleccionado en la lista de limpiadores de disco disponibles del administrador de limpieza de disco. Debe asignar un valor a este parámetro.

[out] ppwszBtnText

Tipo: LPWSTR*

Puntero a una cadena Unicode terminada en null con el texto que se mostrará en el botón Configuración del administrador de limpieza de disco. Si se establece la marca EVCF_HASSETTINGS , debe asignar un valor a ppwszBtnText. De lo contrario, puede establecerlo en NULL.

[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 pierda datos.

EVCF_SETTINGSMODE

Si el administrador de limpieza de disco se ejecuta según una programación, establecerá la marca de EVCF_SETTINGSMODE . Debe asignar valores a los parámetros ppwszDisplayName y ppwszDescription . Si se establece esta marca, el administrador de limpieza de disco no llamará a GetSpaceUsed, Purge o ShowProperties. Dado que no se llamará a Purge , InitializeEx 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 pasar estas marcas de nuevo al administrador de limpieza de disco:

EVCF_DONTSHOWIFZERO

Establezca esta marca cuando no haya archivos que eliminar. Cuando se llama a 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 de disco. El controlador se ejecutará cada vez que se ejecute la utilidad de 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 debe establecerse 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. Use el parámetro ppwszBtnText para especificar el texto del botón.

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 restauren la clave y sus valores. Esta marca se usa principalmente para las operaciones de limpieza únicas.

Valor devuelto

Tipo: HRESULT

Este método puede devolver uno de estos valores.

Código devuelto Descripción
S_OK
Correcto.
S_FALSE
No hay archivos que eliminar.
E_ABORT
La operación de limpieza finalizó prematuramente.
E_FAIL
Error en la operación de limpieza.

Comentarios

El administrador de limpieza de disco de Windows 2000 llamará primero a IEmptyVolumeCache2::InitializeEx para inicializar un controlador de limpieza de disco. Solo llamará a Initialize si la interfaz IEmptyVolumeCache2 no está implementada. El administrador de limpieza de disco de Windows 98 solo admite Initialize.

InitializeEx está pensado para proporcionar una mejor compatibilidad con la localización que Initialize. Cuando se llama a InitializeEx , la aplicación de controlador debe asignar valores localizados correctamente a los parámetros ppwszDisplayName y ppwszDescription . Si el botón Configuración está habilitado, también debe asignar un valor al parámetro ppwszBtnText . A diferencia de Initialize, si establece estas cadenas en NULL para notificar al administrador de limpieza de disco que recupere los valores predeterminados del registro, se producirá un error en InitializeEx .

Use CoTaskMemAlloc para asignar memoria para las cadenas devueltas a través de ppwszDisplayName, ppwszDescription y ppwszBtnText. El administrador de limpieza de disco liberará la memoria cuando ya no sea necesario.

Requisitos

Requisito Value
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)