omitir atributo

El atributo [ignore] designa que un puntero contenido en una estructura o unión y el objeto indicado por el puntero no se transmite. El atributo [ignore] está restringido a los miembros de puntero de estructuras o uniones.

[ignore] pointer-member-type pointer-name;

Parámetros

pointer-member-type

Especifica el tipo del miembro de puntero de la estructura o unión.

pointer-name

Especifica el nombre del miembro del puntero que se va a omitir durante la serialización.

Comentarios

El valor de un miembro de estructura con el atributo [ignore] no está definido en el destino. Un parámetro [in] no se define en el equipo remoto. Un parámetro [out] no está definido en el equipo local.

El atributo [ignore] permite evitar la transmisión de datos. Esto resulta útil en situaciones como una lista vinculada doble. En el ejemplo siguiente se incluye una lista vinculada doble que presenta el alias de datos:

/* 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);

El alias se produce en el ejemplo anterior porque el mismo área de memoria está disponible desde dos punteros diferentes en la función p y p-next-previous>>.

Tenga en cuenta que [ignore] no se puede usar como atributo de tipo.

Ejemplos

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;

Vea también

Atributos de matriz y Sized-Pointer

Matrices

Matrices y punteros

En

out

Ptr

Ref

unique