Condividi tramite


Metodo IViewObject::Freeze (oleidl.h)

Blocca la rappresentazione disegnata di un oggetto in modo che non cambierà finché non viene chiamato il metodo IViewObject::Unfreeze . L'uso più comune di questo metodo è per la stampa a banda.

Sintassi

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

Parametri

[in] dwDrawAspect

Specifica la modalità con cui l'oggetto deve essere rappresentato. Le rappresentazioni includono contenuto, un'icona, un'anteprima o un documento stampato. I valori validi vengono acquisiti dall'enumerazione DVASPECT. Per altre informazioni, vedere l'enumerazione DVASPECT .

[in] lindex

Parte dell'oggetto che riveste interesse per l'operazione di creazione. La sua interpretazione varia con dwAspect. Per altre informazioni, vedere l'enumerazione DVASPECT .

[in] pvAspect

Puntatore a informazioni aggiuntive sulla visualizzazione dell'oggetto specificato in dwAspect. Poiché nessuno degli aspetti correnti supporta informazioni aggiuntive, pvAspect deve sempre essere NULL.

[out] pdwFreeze

Puntatore a dove viene restituita una chiave DWORD di identificazione. Questa chiave univoca viene usata in seguito per annullare il blocco chiamando IViewObject::Unfreeze. Questa chiave è un indice usato dalla cache predefinita per tenere traccia di quale oggetto è bloccato.

Valore restituito

Questo metodo restituisce S_OK se l'operazione ha esito positivo. Gli altri valori restituiti possibili includono i seguenti:

Codice restituito Descrizione
VIEW_S_ALREADY_FROZEN
La presentazione è già stata bloccata. Il valore di pdwFreeze è la chiave di identificazione dell'oggetto già bloccato.
OLE_E_BLANK
Presentazione non nella cache.
DV_E_LINDEX
Valore non valido per lindex; Attualmente; è supportato solo -1.
DV_E_DVASPECT
Valore non valido per dwAspect.

Commenti

Il metodo IViewObject::Freeze causa il blocco dell'oggetto view fino a quando non viene rilasciata una chiamata successiva a IViewObject::Unfreeze . Dopo aver chiamato IViewObject::Freeze, le chiamate successive a IViewObject::D raw con gli stessi parametri producono la stessa immagine fino a quando non viene chiamato IViewObject::Unfreeze .

IViewObject::Freeze non fa parte dello stato persistente dell'oggetto e non continua a scaricare e ricaricare l'oggetto.

L'uso più comune di questo metodo è per la stampa a banda.

Mentre in uno stato bloccato, le notifiche di visualizzazione non vengono inviate. Le notifiche di visualizzazione in sospeso vengono posticipate alla chiamata successiva a IViewObject::Unfreeze.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione oleidl.h

Vedi anche

DVASPECT

IViewObject

IViewObject::Unfreeze