Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This method freezes a certain aspect of the object's presentation so that it does not change until the IViewObject::Unfreezemethod is called.

Syntax

HRESULT Freeze( 
  DWORD 
dwAspect, 
  LONG 
lindex, 
  void* 
pvAspect, 
  DWORD* 
pdwFreeze
);

Parameters

dwAspect

[in] Specifies how the object is to be represented.

Representations include content, an icon, a thumbnail, or a printed document.

Valid values are taken from the enumeration DVASPECT.

lindex

[in] Portion of the object that is of interest for the draw operation.

Its interpretation varies with dwAspect.

pvAspect

[in] Pointer to additional information about the view of the object specified in dwAspect.

Because none of the current aspects support additional information, pvAspectmust always be NULL.

pdwFreeze

[out] Pointer to where an identifying DWORDkey is returned.

This unique key is later used to cancel the freeze by calling Unfreeze.

This key is an index that the default cache uses to keep track of which object is frozen.

Return Value

One of the values in the following table is returned.

Value Description

S_OK

The presentation was frozen.

VIEW_S_ALREADYFROZEN

Presentation was frozen.

The value of pdwFreezeis the identifying key of the frozen object.

OLE_E_BLANK

The presentation is not in cache.

DV_E_LINDEX

Invalid value for lindex; currently only -1 is supported.

DV_E_DVASPECT

Invalid value for dwAspect.

Remarks

The Freezemethod causes the view object to freeze its drawn representation until a subsequent call to Unfreezereleases it. After calling Freeze, successive calls to IViewObject::Drawwith the same parameters produce the same picture until Unfreezeis called.

Freezeis not part of the persistent state of the object and does not continue across unloads and reloads of the object.

The most common use of this method is for banded printing.

While in a frozen state, view notifications are not sent. Pending view notifications are deferred to the subsequent call to Unfreeze.

To determine whether the platform supports this interface, see Determining Supported COM APIs.

Requirements

Header Oleidl.h, oleidl.idl
Library oleaut32.lib, uuid.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also