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.