Bagikan melalui


atribut async_uuid

Atribut antarmuka [async_uuid] mengarahkan pengompilasi MIDL untuk menentukan versi antarmuka COM yang sinkron dan asinkron.

[ 
    object, 
    uuid(string-uuid1), 
    async_uuid(string-uuid2)[ [, interface-attribute-list] 
]
interface interface-name : base-interface
{
    interface-definition
}

Parameter

string-uuid1

String UUID, yang dihasilkan oleh utilitas Uuidgen, yang mengidentifikasi versi antarmuka yang sinkron.

string-uuid2

String UUID, yang dihasilkan oleh utilitas Uuidgen, yang mengidentifikasi versi asinkron antarmuka.

daftar atribut antarmuka

Atribut lain yang berlaku untuk antarmuka secara keseluruhan. Anda tidak dapat menggunakan atribut [versi] dalam antarmuka COM.

nama antarmuka

Nama antarmuka.

antarmuka dasar

Antarmuka tempat antarmuka ini berasal. Antarmuka dasar harus IUnknown atau antarmuka asinkron yang berasal, baik secara langsung maupun tidak langsung, dari IUnknown.

definisi antarmuka

Menentukan pernyataan IDL yang membentuk definisi antarmuka.

Keterangan

Penggunaan atribut ini memerlukan Windows 2000 atau versi Windows yang lebih baru.

Saat Anda menerapkan atribut [async_uuid] ke antarmuka COM (yaitu, antarmuka yang memiliki atribut [objek] ), pengompilasi MIDL menghasilkan definisi asinkron antarmuka, selain versi tradisional yang sinkron. Antarmuka asinkron akan memiliki nama yang sama dengan antarmuka sinkron, tetapi dengan awalan "Asinkron". Pengidentifikasi antarmuka (IID) akan menjadi UUID yang ditentukan sebagai parameter untuk atribut [async_uuid ].

Untuk antarmuka asinkron, MIDL membagi setiap metode menjadi metode mulai dan selesai yang terpisah. Metode awal memiliki nama metode sinkron dengan awalan "Begin_" dan menyertakan semua parameter [in] dari metode sinkron. Metode finish memiliki nama metode sinkron dengan awalan "Finish_" dan mencakup semua parameter [out] dari metode sinkron. Jika metode sinkron memiliki parameter [in, out] mereka akan disertakan dalam metode awal dan selesai asinkron.

Jika metode antarmuka asinkron memiliki atribut [call_as] , MIDL akan menghasilkan deklarasi untuk metode awal dan akhir . Anda harus menerapkan kedua metode.

Setiap antarmuka asinkron adalah pengubah pada antarmuka sinkron dan, dengan demikian, tidak memiliki grafik pewarisan terpisah. Ini berarti Anda tidak dapat menentukan antarmuka sinkron dari antarmuka asinkron (selain IUnknown). Antarmuka sinkron juga tidak dapat mewarisi dari antarmuka asinkron. Pengkompilasi MIDL akan mengeluarkan pesan kesalahan jika Anda mencoba salah satunya.

Contoh

[
    object, 
    uuid(0c733a30-2a1c-11ce-ade5-00aa0044773d),
    async_uuid(1c733a30-2a1c-11ce-ade5-00aa0044773d),
    pointer_default(unique)
]
interface IMyInterface : IUnknown
{
    /* Interface definition goes here*/
}

Lihat juga

Menentukan Antarmuka COM

File Definisi Antarmuka (IDL)

call_as

iid_is

In

Lokal

Objek

Out ekspres

Versi