abaikan atribut
Atribut [abaikan] menunjuk bahwa penunjuk yang terkandung dalam struktur atau gabungan dan objek yang ditunjukkan oleh penunjuk tidak ditransmisikan. Atribut [abaikan] dibatasi untuk menunjuk anggota struktur atau serikat pekerja.
[ignore] pointer-member-type pointer-name;
-
jenis pointer-member
-
Menentukan jenis anggota penunjuk struktur atau union.
-
nama penunjuk
-
Menentukan nama anggota pointer yang akan diabaikan selama marshaling.
Nilai anggota struktur dengan atribut [abaikan] tidak ditentukan di tujuan. Parameter [in] tidak ditentukan di komputer jarak jauh. Parameter [out] tidak ditentukan di komputer lokal.
Atribut [abaikan] memungkinkan Anda mencegah transmisi data. Ini berguna dalam situasi seperti daftar yang ditautkan ganda. Contoh berikut menyertakan daftar tertaut ganda yang memperkenalkan alias data:
/* 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 terjadi dalam contoh sebelumnya karena area memori yang sama tersedia dari dua pointer yang berbeda dalam fungsi p dan p-next-previous>>.
Perhatikan bahwa [abaikan] tidak dapat digunakan sebagai atribut jenis.
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;