oleautomation özniteliği

Oleautomation özniteliği, bir arabirimin Otomasyon ile uyumlu olduğunu gösterir.

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

Parametreler

string-uuid

Uuidgen yardımcı programı tarafından oluşturulan bir UUID dizesini belirtir.

interface-attribute-list

Arabirime bir bütün olarak uygulanan diğer öznitelikleri belirtir.

arabirim adı

Arabirimin adını belirtir.

temel arabirim

Bu türetilmiş arabirimin üye işlevlerini, durum kodlarını ve arabirim özniteliklerini devraldığı Otomasyon arabiriminin adını belirtir. Tüm Otomasyon arabirimleri IUnknown veya IDispatch'ten türetilir.

Açıklamalar

[oleautomation] arabiriminin üyeleri için belirtilen parametreler ve dönüş türleri, aşağıdaki tabloda listelendiği gibi Otomasyon uyumlu olmalıdır.

Türü Açıklama
mantıksal VARIANT_TRUE veya VARIANT_FALSE değerine sahip olabilecek veri öğesi. Boyut VARIANT_BOOL karşılık gelir.
İmzasız karakter 8 bit imzasız veri öğesi.
çift 64 bit IEEE kayan noktalı sayı.
float 32 bit IEEE kayan nokta numarası.
int Boyutu sisteme bağımlı olan imzalı tamsayı. 32 bit platformlarda MIDL, int'i 32 bit işaretli bir tamsayı olarak ele alır.
long 32 bit işaretli tamsayı.
kısa 16 bit işaretli tamsayı.
BSTR Otomasyon konusu BSTR'de açıklandığı gibi uzunluk ön ekli dize.
PARA BIRIMI 8 bayt, sabit kayan noktalı sayı.
TARİH 30 Aralık 1899'dan bu yana 64 bit, kayan nokta kesirli gün sayısı.
SCODE VT_ERROR karşılık gelen 16 bit sistemler için yerleşik hata türü.
Typedef enummyenum Boyutu sisteme bağımlı olan imzalı tamsayı.
Arabirim IDispatch * IDispatch arabirimi (VT_DISPATCH) işaretçisi.
Arabirim IUnknown * IDispatch'ten (VT_UNKNOWN) türetilmeyen bir arabirim işaretçisi. (Herhangi bir OLE arabirimi , IUnknown arabirimiyle temsil edilebilir.)
dispinterfaceTypename * IDispatch'ten türetilen arabirim işaretçisi (VT_DISPATCH).
CoclassTypename * Ortak sınıf adı işaretçisi (VT_UNKNOWN).
[oleautomation] interfaceTypename * IUnknown'dan türetilen bir arabirim işaretçisi.
SAFEARRAY(TypeName) TypeName yukarıdaki türlerden herhangi biridir. Bu türlerin dizisi.
Typename* TypeName yukarıdaki türlerden herhangi biridir. Tür işaretçisi.
Ondalık 96 bit işaretsiz ikili tamsayı, 10 değişken gücüyle ölçeklendirilir. Bir sayı için boyut ve ölçek sağlayan ondalık veri türü (koordinatlarda olduğu gibi).

 

Bir parametre, türü Otomasyon uyumlu bir tür, Otomasyon uyumlu bir tür işaretçisi veya Otomasyon uyumlu türde bir SAFEARRAY ise Otomasyon ile uyumludur.

Dönüş türü HRESULT, SCODE veya void ise Otomasyon ile uyumludur. Ancak MIDL, arabirim yöntemlerinin HRESULT veya SCODE döndürmesini gerektirir. Void döndürülerek derleyici hatası oluşur.

Bir üye, dönüş türü ve tüm parametreleri Otomasyon ile uyumluysa Otomasyon ile uyumludur.

Arabirim, IDispatch veya IUnknown'dan türetilmişse Otomasyon ile uyumludur, [oleautomation] özniteliğine sahiptir ve VTBL girdilerinin tümü Otomasyon ile uyumludur. 32 bit platformlar için arabirimdeki tüm yöntemler için çağrı kuralı STDCALL olmalıdır. 16 bit sistemler için tüm yöntemlerin CDECL çağırma kuralı olmalıdır.

Her dispinterface örtük olarak Otomasyon ile uyumludur. Bu nedenle dispinterface üzerinde [oleautomation] özniteliğini kullanmamalısınız.

MIDL derleyicisi /osf anahtarını kullanarak derleme yaptığınızda [oleautomation] özniteliği kullanılamaz.

Flags

TYPEFLAG_FOLEAUTOMATION

Örnekler

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.
}

Ayrıca bakınız

Arabirim Tanımı (IDL) Dosyası

MIDL ile Tür Kitaplığı Oluşturma

ODL Dosyası Örneği

ODL Dosyası Söz Dizimi

/Osf

Uuıd