Export (0) Print
Expand All

IViewObject::Freeze method

Freezes the drawn representation of an object so that it will not change until the IViewObject::Unfreeze method is called. The most common use of this method is for banded printing.

Syntax


HRESULT Freeze(
  [in]   DWORD dwDrawAspect,
  [in]   LONG lindex,
  [in]   void *pvAspect,
  [out]  DWORD *pdwFreeze
);

Parameters

dwDrawAspect [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. See the DVASPECT enumeration for more information.

lindex [in]

Portion of the object that is of interest for the draw operation. Its interpretation varies with dwAspect. See the DVASPECT enumeration for more information.

pvAspect [in]

Pointer to additional information about the view of the object specified in dwAspect. Since none of the current aspects support additional information, pvAspect must always be NULL.

pdwFreeze [out]

Pointer to where an identifying DWORD key is returned. This unique key is later used to cancel the freeze by calling IViewObject::Unfreeze. This key is an index that the default cache uses to keep track of which object is frozen.

Return value

This method returns S_OK on success. Other possible return values include the following.

Return codeDescription
VIEW_S_ALREADY_FROZEN

Presentation has already been frozen. The value of pdwFreeze is the identifying key of the already frozen object.

OLE_E_BLANK

Presentation not in cache.

DV_E_LINDEX

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

DV_E_DVASPECT

Invalid value for dwAspect.

 

Remarks

The IViewObject::Freeze method causes the view object to freeze its drawn representation until a subsequent call to IViewObject::Unfreeze releases it. After calling IViewObject::Freeze, successive calls to IViewObject::Draw with the same parameters produce the same picture until IViewObject::Unfreeze is called.

IViewObject::Freeze is 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 IViewObject::Unfreeze.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

OleIdl.h

IDL

OleIdl.Idl

IID

IID_IViewObject is defined as 0000010d-0000-0000-C000-000000000046

See also

IViewObject
DVASPECT
IViewObject::Unfreeze

 

 

Community Additions

ADD
Show:
© 2014 Microsoft