Метод IEmptyVolumeCache::Initialize (emptyvc.h)
Инициализирует обработчик очистки диска на основе сведений, хранящихся в указанном разделе реестра.
Синтаксис
HRESULT Initialize(
[in] HKEY hkRegKey,
[in] LPCWSTR pcwszVolume,
[out] LPWSTR *ppwszDisplayName,
[out] LPWSTR *ppwszDescription,
[in, out] DWORD *pdwFlags
);
Параметры
[in] hkRegKey
Тип: HKEY
Дескриптор раздела реестра, который содержит сведения об объекте обработчика.
[in] pcwszVolume
Тип: LPCWSTR
Указатель на строку Юникода, завершаемую значением NULL, с корнем тома, например "C:".
[out] ppwszDisplayName
Тип: LPWSTR*
Указатель на строку Юникода, завершающуюся null, с именем, которое будет отображаться в списке обработчиков диспетчера очистки диска. Если значение не назначено, будет использоваться значение реестра.
[out] ppwszDescription
Тип: LPWSTR*
Указатель на строку Юникода, завершающуюся значением NULL, которая будет отображаться при выборе этого объекта из списка доступных обработчиков очистки диска диспетчера очистки диска. Если значение не назначено, будет использоваться значение реестра.
[in, out] pdwFlags
Тип: DWORD*
Флаги, используемые для передачи информации в обработчик и обратно в диспетчер очистки диска.
Эти флаги можно передать в объект :
EVCF_OUTOFDISKSPACE
Если этот флаг установлен, у пользователя не будет места на диске. При получении этого флага обработчик должен активно освобождать место на диске, даже если это приводит к снижению производительности. Однако обработчик не должен удалять файлы, которые могут привести к сбою приложения или потере данных пользователем.
EVCF_SETTINGSMODE
Если диспетчер очистки диска запускается по расписанию, он установит этот флаг. Необходимо назначить значения параметрам ppwszDisplayName и ppwszDescription . Если этот флаг установлен, диспетчер очистки диска не будет вызывать IEmptyVolumeCache::GetSpaceUsed, IEmptyVolumeCache::P urge или IEmptyVolumeCache::ShowProperties. Так как метод IEmptyVolumeCache::P urge не вызывается, очистка должна обрабатываться методом IEmptyVolumeCache::Initialize. Обработчик должен игнорировать параметр pcwszVolume и очищать все ненужные файлы независимо от того, на каком диске они находятся. Так как нет возможности для отзывов пользователей, следует коснуться только тех файлов, которые очень безопасны для очистки.
Эти флаги могут быть переданы обработчиком обратно в диспетчер очистки диска:
EVCF_DONTSHOWIFZERO
Установите этот флаг, если нет файлов для удаления. При вызове метода IEmptyVolumeCache::GetSpaceUsed задайте для параметра pdwSpaceUsed нулевое значение, а диспетчер очистки диска опустит обработчик из списка.
EVCF_ENABLEBYDEFAULT
Установите этот флаг, чтобы обработчик по умолчанию проверялся в списке диспетчера очистки. Он будет запускаться при каждом запуске программы очистки диска, если пользователь не снимет проверка поля обработчика. После очистки проверка обработчик не будет запущен до тех пор, пока пользователь не выберет его снова.
EVCF_ENABLEBYDEFAULT_AUTO
Установите этот флаг, чтобы обработчик запускался автоматически во время запланированной очистки. Этот флаг следует устанавливать только в том случае, если удаление файлов является низким риском. Как и в случае с EVCF_ENABLEBYDEFAULT, пользователь может не запускать обработчик, очищая его проверка в списке диспетчера очистки диска.
EVCF_HASSETTINGS
Установите этот флаг, чтобы указать, что обработчик может отображать пользовательский интерфейс. Примером простого пользовательского интерфейса является поле со списком, в котором отображаются файлы, которые можно удалить, и пользователь может выбрать, какие из них следует удалить. Затем диспетчер очистки диска отобразит кнопку под описанием обработчика очистки. Пользователь нажимает эту кнопку, чтобы запросить пользовательский интерфейс. Текст кнопки по умолчанию — "Параметры", но обработчик может указать другой текст, задав значение AdvancedButtonText в своем разделе реестра.
EVCF_REMOVEFROMLIST
Установите этот флаг, чтобы удалить обработчик из списка диспетчера очистки диска. Все сведения о реестре будут удалены, и обработчик не может быть запущен повторно до тех пор, пока не будут восстановлены ключ и его значения. Этот флаг используется в основном для однократных операций очистки.
Возвращаемое значение
Тип: HRESULT
Этот метод может возвращать одно из этих значений.
Код возврата | Описание |
---|---|
|
Успешно. |
|
Удаляемые файлы отсутствуют. |
|
Операция очистки была завершена преждевременно. |
|
Операция очистки завершилась сбоем. |
Комментарии
Этот метод используется диспетчером очистки диска Windows 98. В Windows 2000 используется метод InitializeEx , экспортируемый IEmptyVolumeCache2.
Используйте CoTaskMemAlloc для выделения памяти для строк, возвращаемых через ppwszDisplayName и ppwszDescription. Диспетчер очистки диска освободит память, когда она больше не нужна.
Требования
Минимальная версия клиента | Windows 2000 Professional, Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | emptyvc.h |
DLL | Shell32.dll (версия 5.0 или более поздняя) |