Udostępnij za pośrednictwem


default (C++)

Wskazuje, że niestandardowe lub zdefiniowane w ramach coclass dispinterface reprezentuje domyślnego interfejsu programowania.

[ default( 
   interface1, 
   interface2 
) ]

Parametry

  • interface1
    Interfejs domyślny, który będzie udostępniane do środowisk skryptów, które utworzyć obiekt na podstawie klasy zdefiniowane w domyślną atrybut.

    Jeśli nie określono żadnego interfejsu domyślnego, pierwsze wystąpienie interfejsu nonsource jest używana jako domyślna.

  • interface2(opcjonalnie)
    Domyślny interfejs źródłowy.Należy także określić ten interfejs z źródło atrybut.

    Jeśli nie określono żadnego interfejsu źródło domyślne, pierwszy interfejs źródłowy jest używany jako domyślny.

Uwagi

Domyślną atrybut C++ ma taką samą funkcjonalność jak domyślną MIDL atrybutu.Domyślną atrybut jest również używany z przypadku atrybut.

Przykład

Następujący kod pokazuje, jak domyślną jest używana w definicji "coclass" do określenia ICustomDispatch jako domyślnego interfejsu programowania:

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

Źródło atrybut ma również przykład jak używać domyślną.

Wymagania

Atrybutu kontekstu

Stosuje się do

Klasa, struct, członek danych

Powtarzalne

Nr

Wymagane atrybuty

"coclass" (gdy jest stosowany do klasy lub struct)

Nieprawidłowe atrybuty

Brak

Aby uzyskać więcej informacji, zobacz Kontekstów atrybutu.

Zobacz też

Informacje

coclass

Inne zasoby

atrybuty IDL

Atrybuty klasy

Attributes Samples