Поделиться через


Метод 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 при успешном завершении. Другие возможные возвращаемые значения включают следующее.

Код возврата Описание
VIEW_S_ALREADY_FROZEN
Презентация уже заморожена. Значение pdwFreeze — это идентифицирующие ключ уже замороженного объекта.
OLE_E_BLANK
Представление не в кэше.
DV_E_LINDEX
Недопустимое значение для lindex; Настоящее время; поддерживается только -1.
DV_E_DVASPECT
Недопустимое значение для 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

См. также раздел

DVASPECT

IViewObject

IViewObject::Unfreeze