Метод IViewObject::Freeze (oleidl.h)
Замораживает рисованное представление объекта, чтобы оно не изменялось до вызова метода IViewObject::Unfreeze . Чаще всего этот метод используется для чередуемой печати.
Синтаксис
HRESULT Freeze(
[in] DWORD dwDrawAspect,
[in] LONG lindex,
[in] void *pvAspect,
[out] DWORD *pdwFreeze
);
Параметры
[in] dwDrawAspect
Указывает способ представления объекта. Представления включают содержимое, значок, эскиз или печатный документ. Допустимые значения взяты из перечисления DVASPECT. Дополнительные сведения см. в перечислении DVASPECT .
[in] lindex
Часть объекта, требуемая для операции рисования. Его интерпретация зависит от dwAspect. Дополнительные сведения см. в перечислении DVASPECT .
[in] pvAspect
Указатель на дополнительные сведения о представлении объекта, указанного в dwAspect. Так как ни один из текущих аспектов не поддерживает дополнительные сведения, параметр pvAspect всегда должен иметь значение NULL.
[out] pdwFreeze
Указатель на то, где возвращается идентифицирующий ключ DWORD. Этот уникальный ключ позже используется для отмены заморозки путем вызова IViewObject::Unfreeze. Этот ключ представляет собой индекс, используемый кэшем по умолчанию для отслеживания того, какой объект заморожен.
Возвращаемое значение
Этот метод возвращает значение S_OK при успешном завершении. Другие возможные возвращаемые значения включают следующее.
Код возврата | Описание |
---|---|
|
Презентация уже заморожена. Значение pdwFreeze — это идентифицирующие ключ уже замороженного объекта. |
|
Представление не в кэше. |
|
Недопустимое значение для lindex; Настоящее время; поддерживается только -1. |
|
Недопустимое значение для dwAspect. |
Комментарии
Метод IViewObject::Freeze заставляет объект представления замораживать свое отрисованное представление до тех пор, пока последующий вызов IViewObject::Unfreeze не освобождает его. После вызова IViewObject::Freeze последовательные вызовы IViewObject::D raw с теми же параметрами создают тот же рисунок, пока не будет вызван метод IViewObject::Unfreeze .
IViewObject::Freeze не является частью постоянного состояния объекта и не продолжается при выгрузке и перезагрузке объекта.
Чаще всего этот метод используется для чередуемой печати.
В замороженном состоянии уведомления представления не отправляются. Ожидающие уведомления о представлении откладываются на последующий вызов IViewObject::Unfreeze.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | oleidl.h |