Partager via


énumération CALLFRAME_COPY (callobj.h)

Détermine si les données de trame d’appel copiées peuvent être partagées avec les données de l’image parente en déterminant leur dépendance de durée de vie sur le frame parent.

Syntax

typedef enum __MIDL_ICallFrame_0003 {
  CALLFRAME_COPY_NESTED = 1,
  CALLFRAME_COPY_INDEPENDENT = 2
} CALLFRAME_COPY;

Constantes

 
CALLFRAME_COPY_NESTED
Valeur : 1
Le client est responsable de l’utilisation de l’image d’appel copiée de manière à ce que sa durée de vie soit imbriquée dans la durée de vie de son frame parent, ce qui rend les données partageables. Lorsque cet indicateur est utilisé, des optimisations très significatives peuvent être effectuées et les allocations de mémoire peuvent être évitées en partageant intelligemment les données de paramètres réelles.

Seuls les pointeurs d’interface transitivement accessibles dans les trames sources sont garantis pour être copiés en profondeur et, par conséquent, dans la copie, être stockés en mémoire séparément de celui dans lequel ils sont stockés dans les trames sources ; d’autres types de données peuvent en fait partager la mémoire du frame copié avec la source si l’opération de copie est suffisamment intelligente pour le faire.
CALLFRAME_COPY_INDEPENDENT
Valeur : 2
Le frame d’appel copié aura une durée de vie indépendante de son parent.

Remarques

Une conséquence est que, quel que soit l’indicateur de ces CALLFRAME_COPY passé à ICallFrame ::Copy, les pointeurs d’interface peuvent être modifiés sans conséquence de perturber les pointeurs d’interface résidant dans le frame parent.

Configuration requise

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]
En-tête callobj.h

Voir aussi

ICallFrame ::Copy