Aracılığıyla paylaş


Varsayılan (C++)

Varsayılan programlama arabirimi özel veya coclass içinde tanımlı görüntüleme arabirimi temsil ettiğini gösterir.

[ default(
   interface1,
   interface2
) ]

Parametreler

  • interface1
    Nesne oluşturma komut dosyası yazma ortamları için kullanıma sunulacaktır varsayılan arabirimi ile tanımlanan sınıf temel varsayılan özniteliği.

    Varsayılan arabirim belirtilmezse, varsayılan olarak ilk geçtiği bir nonsource arabirimi kullanılır.

  • interface2(isteğe bağlı)
    Varsayılan kaynak arabirimi.Bu arabirimle belirtmeniz gerekir kaynak özniteliği.

    Varsayılan kaynak Arabirim belirtilmezse, varsayılan olarak ilk kaynak arabirim kullanılır.

Notlar

Varsayılan C++ öznitelik aynı işlevselliğe sahip varsayılan MIDL özniteliği.Varsayılan özniteliği ile kullanılan aynı zamanda durumda özniteliği.

Örnek

Aşağıdaki kod programlarını nasıl varsayılan belirtmek için kullanılan bir coclass tanımına dayanan ICustomDispatch varsayılan programlama arabirimi olarak:

// cpp_attr_ref_default.cpp
// compile with: /LD
#include "windows.h"
[module(name="MyLibrary")];

[object, uuid("9E66A290-4365-11D2-A997-00C04FA37DDB")]
__interface ICustom {
   HRESULT Custom([in] long l, [out, retval] long *pLong);
};

[dual, uuid("9E66A291-4365-11D2-A997-00C04FA37DDB")] 
__interface IDual {
   HRESULT Dual([in] long l, [out, retval] long *pLong);
};

[object, uuid("9E66A293-4365-11D2-A997-00C04FA37DDB")]
__interface ICustomDispatch : public IDispatch {
   HRESULT Dispatch([in] long l, [out, retval] long *pLong);
};

[   coclass,
   default(ICustomDispatch), 
   source(IDual),
   uuid("9E66A294-4365-11D2-A997-00C04FA37DDB")
]
class CClass : public ICustom, public IDual, public ICustomDispatch {
   HRESULT Custom(long l, long *pLong) { return(S_OK); }
   HRESULT Dual(long l, long *pLong) { return(S_OK); }
   HRESULT Dispatch(long l, long *pLong) { return(S_OK); }
};

int main() {
#if 0 // Can't instantiate without implementations of IUnknown/IDispatch
   CClass *pClass = new CClass;

   long llong;

   pClass->custom(1, &llong);
   pClass->dual(1, &llong);
   pClass->dispinterface(1, &llong);
   pClass->dispatch(1, &llong);

   delete pClass;
#endif
   return(0);
}

Kaynak özniteliğine sahip da nasıl kullanılacağını gösteren bir örnek varsayılan.

Gereksinimler

Öznitelik içerik

Uygulama alanı

sınıf, struct, veri üyesi

Yinelenebilir

Hayyr

Gerekli öznitelikleri

coclass (türlerine uygulandığında sınıfı veya struct)

Geçersiz öznitelik

None

Daha fazla bilgi için bkz: Öznitelik içerikleri.

Ayrıca bkz.

Başvuru

coclass

Diğer Kaynaklar

IDL öznitelikleri

Sınıf öznitelikleri

Attributes Samples