atribut oleautomation

Atribut oleautomation menunjukkan bahwa antarmuka kompatibel dengan Automation.

[ 
    oleautomation, 
    uuid(string-uuid)
    [ , interface-attribute-list] 
] 
interface interface-name : base-interface
{
    ...
}

Parameter

string-uuid

Menentukan string UUID yang dihasilkan oleh utilitas Uuidgen.

daftar atribut antarmuka

Menentukan atribut lain yang berlaku untuk antarmuka secara keseluruhan.

nama antarmuka

Menentukan nama antarmuka.

antarmuka dasar

Menentukan nama antarmuka Automation tempat antarmuka turunan ini mewarisi fungsi anggota, kode status, dan atribut antarmuka. Semua antarmuka Automation berasal dari IUnknown atau IDispatch.

Keterangan

Parameter dan jenis pengembalian yang ditentukan untuk anggota antarmuka [oleautomation] harus kompatibel dengan Automation, seperti yang tercantum dalam tabel berikut.

Jenis Deskripsi
boolean Item data yang dapat memiliki nilai VARIANT_TRUE atau VARIANT_FALSE. Ukurannya sesuai dengan VARIANT_BOOL.
char yang tidak bertanda Item data 8-bit yang tidak ditandatangani.
double Angka titik float IEEE 64-bit.
Float Angka titik mengambang IEEE 32-bit.
int Bilangan bulat bertanda tangan, yang ukurannya bergantung pada sistem. Pada platform 32-bit, MIDL memperlakukan int sebagai bilangan bulat bertanda tangan 32-bit.
panjang Bilangan bulat bertanda tangan 32-bit.
pendek Bilangan bulat bertanda tangan 16-bit.
BSTR String awalan panjang, seperti yang dijelaskan dalam topik Automation BSTR.
PENUKARAN VALUTA ASING Angka floating-point tetap 8-byte.
DATE Jumlah fraksional titik pecahan 64-bit sejak 30 Desember 1899.
SCODE Untuk jenis kesalahan bawaan sistem 16-bit yang sesuai dengan VT_ERROR.
Enum typedef  myenum Bilangan bulat bertanda tangan, yang ukurannya bergantung pada sistem.
Antarmuka IDispatch * Arahkan ke antarmuka IDispatch (VT_DISPATCH).
Antarmuka IUnknown * Penunjuk ke antarmuka yang tidak berasal dari IDispatch (VT_UNKNOWN). (Antarmuka OLE apa pun dapat diwakili oleh antarmuka IUnknown-nya .)
dispinterface  Typename * Penunjuk ke antarmuka yang berasal dari IDispatch (VT_DISPATCH).
Coclass  Typename * Penunjuk ke nama coclass (VT_UNKNOWN).
Antarmuka [oleautomation] Â Typename * Penunjuk ke antarmuka yang berasal dari IUnknown.
SAFEARRAY(TypeName) TypeName adalah salah satu jenis di atas. Array dari jenis-jenis ini.
TypeName * TypeName adalah salah satu jenis di atas. Penunjuk ke jenis.
Desimal Bilangan bulat biner tidak bertanda 96-bit diskalakan oleh kekuatan variabel 10. Jenis data desimal yang menyediakan ukuran dan skala untuk angka (seperti dalam koordinat).

 

Parameter kompatibel dengan Automation jika jenisnya adalah jenis yang kompatibel dengan Automation, penunjuk ke jenis yang kompatibel dengan Automation, atau SAFEARRAY dari jenis yang kompatibel dengan Automation.

Jenis pengembalian kompatibel dengan Automation jika jenisnya adalah HRESULT, SCODE, atau batal. Namun, MIDL mengharuskan metode antarmuka mengembalikan HRESULT atau SCODE. Mengembalikan kekosongan menghasilkan kesalahan pengkompilasi.

Anggota kompatibel dengan Automation jika jenis pengembaliannya dan semua parameternya kompatibel dengan Automation.

Antarmuka kompatibel dengan Automation jika berasal dari IDispatch atau IUnknown, antarmuka memiliki atribut [oleautomation ], dan semua entri VTBL-nya kompatibel dengan Automation. Untuk platform 32-bit, konvensi panggilan untuk semua metode dalam antarmuka harus STDCALL. Untuk sistem 16-bit, semua metode harus memiliki konvensi panggilan CDECL.

Setiap dispinterface secara implisit kompatibel dengan Automation. Oleh karena itu Anda tidak boleh menggunakan atribut [oleautomation] pada dispinterface.

Atribut [oleautomation] tidak tersedia saat Anda mengkompilasi menggunakan sakelar midl compiler /osf .

Bendera

TYPEFLAG_FOLEAUTOMATION

Contoh

library Hello
{
    importlib("stdole32.tlb");
    [
        uuid(12345678-1234-1234-1234-123456789ABC),
        helpstring("Application object for the Hello application."),
        oleautomation,
        dual
    ]
    interface IHello : IDispatch
    {
        // Interface definition statements.
    }

    // Other library definition statements.
}

Lihat juga

File Definisi Antarmuka (IDL)

Membuat Pustaka Jenis Dengan MIDL

Contoh File ODL

Sintaks File ODL

/osf

uuid