ignorer l’attribut
L’attribut [ignore] désigne qu’un pointeur contenu dans une structure ou une union et l’objet indiqué par le pointeur ne sont pas transmis. L’attribut [ignore] est limité aux membres de pointeurs de structures ou d’unions.
[ignore] pointer-member-type pointer-name;
Paramètres
-
pointeur-member-type
-
Spécifie le type du membre pointeur de la structure ou de l’union.
-
pointer-name
-
Spécifie le nom du membre de pointeur qui doit être ignoré pendant le marshaling.
Notes
La valeur d’un membre de structure avec l’attribut [ignore] n’est pas définie à la destination. Un paramètre [in] n’est pas défini sur l’ordinateur distant. Un paramètre [out] n’est pas défini sur l’ordinateur local.
L’attribut [ignore] vous permet d’empêcher la transmission de données. Cela est utile dans des situations telles qu’une liste doublement liée. L’exemple suivant inclut une liste doublement liée qui introduit l’alias de données :
/* IDL file */
typedef struct _DBL_LINK_NODE_TYPE
{
long value;
struct _DBL_LINK_NODE_TYPE * next;
struct _DBL_LINK_NODE_TYPE * previous;
} DBL_LINK_NODE_TYPE;
HRESULT remote_op([in] DBL_LINK_NODE_TYPE * list_head);
/* application */
DBL_LINK_NODE_TYPE * p, * q
p = (DBL_LINK_NODE_TYPE *) midl_user_allocate(
sizeof(DBL_LINK_NODE_TYPE));
q = (DBL_LINK_NODE_TYPE *) midl_user_allocate(
sizeof(DBL_LINK_NODE_TYPE));
p->next = q;
q->previous = p;
p->previous = q->next = NULL;
..
remote_op(p);
L’alias se produit dans l’exemple précédent, car la même zone de mémoire est disponible à partir de deux pointeurs différents dans la fonction p et p-next-previous>>.
Notez que [ignore] ne peut pas être utilisé comme attribut de type.
Exemples
typedef struct _DBL_LINK_NODE_TYPE
{
long value;
struct _DBL_LINK_NODE_TYPE * next;
[ignore] struct _DBL_LINK_NODE_TYPE * previous;
} DBL_LINK_NODE_TYPE;
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour