Sdílet prostřednictvím


default (C++)

Označuje vlastní nebo omezené rozhraní IDispatch definované v rámci coclass představuje výchozí rozhraní pro programování.

[ default( 
   interface1, 
   interface2 
) ]

Parametry

  • interface1
    Výchozí rozhraní, které bude k dispozici pro vytvoření objektu skriptovací prostředí na základě třídy definované s výchozí atributu.

    Pokud není zadán žádný výchozí rozhraní, první výskyt nonsource rozhraní se používá jako výchozí.

  • interface2(volitelné)
    Výchozí zdroj rozhraní.Toto rozhraní je nutné zadat také zdroje atributu.

    Pokud není zadán žádný výchozí zdroj rozhraní, první zdroj rozhraní se používá jako výchozí.

Poznámky

Výchozí C++ atribut má stejné funkce jako výchozí jazyk MIDL atribut.Výchozí atribut je také použít případ atributu.

Příklad

Následující kód zobrazuje, jak výchozí na definici coclass slouží k určení ICustomDispatch jako výchozí rozhraní pro programování:

// 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);
}

Zdroje atribut také obsahuje příklad použití výchozí.

Požadavky

Atribut kontextu

V aplikacích

Třída, struct, datový člen

Opakovatelné

Ne

Požadované atributy

coclass (při použití třídy nebo struct)

Neplatné atributy

Žádná

Další informace naleznete v tématu Kontexty atribut.

Viz také

Referenční dokumentace

coclass

Další zdroje

IDL – atributy

Atributy třídy

Attributes Samples