IViewObject ::Freeze, méthode (oleidl.h)
Fige la représentation dessinée d’un objet afin qu’elle ne change pas tant que la méthode IViewObject ::Unfreeze n’est pas appelée. L’utilisation la plus courante de cette méthode est pour l’impression à bandes.
HRESULT Freeze(
[in] DWORD dwDrawAspect,
[in] LONG lindex,
[in] void *pvAspect,
[out] DWORD *pdwFreeze
);
[in] dwDrawAspect
Spécifie la représentation de l'objet. Les représentations incluent du contenu, une icône, une miniature ou un document imprimé. Les valeurs valides sont extraites de l’énumération DVASPECT. Pour plus d’informations, consultez l’énumération DVASPECT .
[in] lindex
Partie de l'objet appropriée pour l'opération de dessin. Son interprétation varie selon dwAspect. Pour plus d’informations, consultez l’énumération DVASPECT .
[in] pvAspect
Pointeur vers des informations supplémentaires sur la vue de l’objet spécifié dans dwAspect. Étant donné qu’aucun des aspects actuels ne prend en charge d’informations supplémentaires, pvAspect doit toujours avoir la valeur NULL.
[out] pdwFreeze
Pointeur vers l’emplacement où une clé DWORD d’identification est retournée. Cette clé unique est ensuite utilisée pour annuler le blocage en appelant IViewObject ::Unfreeze. Cette clé est un index que le cache par défaut utilise pour suivre l’objet qui est figé.
Cette méthode retourne S_OK en cas de réussite. Les autres valeurs de retour possibles sont les suivantes.
Code de retour | Description |
---|---|
|
La présentation a déjà été figée. La valeur de pdwFreeze est la clé d’identification de l’objet déjà figé. |
|
Présentation non dans le cache. |
|
Valeur non valide pour lindex ; Actuellement; seul -1 est pris en charge. |
|
Valeur non valide pour dwAspect. |
La méthode IViewObject ::Freeze fait figer la représentation dessinée de l’objet view jusqu’à ce qu’un appel ultérieur à IViewObject ::Unfreeze le libère. Après avoir appelé IViewObject ::Freeze, les appels successifs à IViewObject ::D raw avec les mêmes paramètres produisent la même image jusqu’à ce que IViewObject ::Unfreeze soit appelé.
IViewObject ::Freeze ne fait pas partie de l’état persistant de l’objet et ne se poursuit pas entre les déchargements et les rechargements de l’objet.
L’utilisation la plus courante de cette méthode est pour l’impression à bandes.
Dans un état figé, les notifications d’affichage ne sont pas envoyées. Les notifications d’affichage en attente sont différées à l’appel suivant à IViewObject ::Unfreeze.
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | oleidl.h |