Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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