Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
ignore
id
in
int
odl
out
ptr
ref
Collapse the table of content
Expand the table of content

ignore attribute

The [ignore] attribute designates that a pointer contained in a structure or union and the object indicated by the pointer is not transmitted. The [ignore] attribute is restricted to pointer members of structures or unions.


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

Parameters

pointer-member-type

Specifies the type of the pointer member of the structure or union.

pointer-name

Specifies the name of the pointer member that is to be ignored during marshaling.

Remarks

The value of a structure member with the [ignore] attribute is undefined at the destination. An [in] parameter is not defined at the remote computer. An [out] parameter is not defined at the local computer.

The [ignore] attribute allows you to prevent transmission of data. This is useful in situations such as a double-linked list. The following example includes a double-linked list that introduces data aliasing:

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

Aliasing occurs in the preceding example because the same memory area is available from two different pointers in the function p and p->next->previous.

Note that [ignore] cannot be used as a type attribute.

Examples

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;

See also

Array and Sized-Pointer Attributes
arrays
Arrays and Pointers
in
out
ptr
ref
unique

 

 

Community Additions

ADD
Show:
© 2015 Microsoft