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;

Parameter

jenis pointer-member

Menentukan jenis anggota penunjuk struktur atau union.

nama penunjuk

Menentukan nama anggota pointer yang akan diabaikan selama marshaling.

Keterangan

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.

Contoh

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;

Lihat juga

Atribut Array dan Sized-Pointer

Array

Array dan Pointer

In

Out ekspres

Ptr

Ref

Unik