Compartilhar via


Método IViewObject::Freeze (oleidl.h)

Congela a representação desenhada de um objeto para que ele não seja alterado até que o método IViewObject::Unfreeze seja chamado. O uso mais comum desse método é para impressão em banda.

Sintaxe

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

Parâmetros

[in] dwDrawAspect

Especifica como o objeto deve ser representado. As representações incluem conteúdo, um ícone, uma miniatura ou um documento impresso. Os valores válidos são obtidos da enumeração DVASPECT. Consulte a enumeração DVASPECT para obter mais informações.

[in] lindex

Parte do objeto que é de interesse para a operação de desenho. Sua interpretação varia de acordo com dwAspect. Consulte a enumeração DVASPECT para obter mais informações.

[in] pvAspect

Ponteiro para informações adicionais sobre a exibição do objeto especificado em dwAspect. Como nenhum dos aspectos atuais dá suporte a informações adicionais, pvAspect sempre deve ser NULL.

[out] pdwFreeze

Ponteiro para onde uma chave DWORD de identificação é retornada. Essa chave exclusiva é usada posteriormente para cancelar o congelamento chamando IViewObject::Unfreeze. Essa chave é um índice que o cache padrão usa para controlar qual objeto está congelado.

Retornar valor

Esse método retorna S_OK com êxito. Outros valores retornados possíveis incluem o seguinte.

Código de retorno Descrição
VIEW_S_ALREADY_FROZEN
A apresentação já foi congelada. O valor de pdwFreeze é a chave de identificação do objeto já congelado.
OLE_E_BLANK
Apresentação não em cache.
DV_E_LINDEX
Valor inválido para lindex; Atualmente; há suporte para apenas -1.
DV_E_DVASPECT
Valor inválido para dwAspect.

Comentários

O método IViewObject::Freeze faz com que o objeto de exibição congele sua representação desenhada até que uma chamada subsequente para IViewObject::Unfreeze o libere . Depois de chamar IViewObject::Freeze, chamadas sucessivas para IViewObject::D raw com os mesmos parâmetros produzem a mesma imagem até que IViewObject::Unfreeze seja chamado.

IViewObject::Freeze não faz parte do estado persistente do objeto e não continua entre descarregamentos e recarregamentos do objeto.

O uso mais comum desse método é para impressão em banda.

Enquanto estiver em um estado congelado, as notificações de exibição não são enviadas. As notificações de exibição pendentes são adiadas para a chamada subsequente para IViewObject::Unfreeze.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho oleidl.h

Confira também

DVASPECT

Iviewobject

IViewObject::Unfreeze