IViewObject::Freeze
Freezes a
certain aspect of the object s presentation
so that it does not change until the IViewObject::Unfreeze
HRESULT Freeze(
DWORD dwAspect, |
//How the
object is to be represented |
LONG lindex, |
//Part of
the object of interest in the draw operation |
void * pvAspect, |
//Always
NULL |
DWORD * pdwFreeze |
//Points to
location containing an identifying key |
); |
|
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. 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
Return Values
S_OK
The
presentation was successfully frozen.
VIEW_S_ALREADYFROZEN
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
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.
See Also