Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt an, dass die benutzerdefinierte Schnittstelle oder Disp-Schnittstelle innerhalb einer Co-Klasse die Standard-Programmierschnittstelle darstellt.
Syntax
[ default(interface1, interface2) ]
Parameter
interface1
Die Standardschnittstelle, die Skriptumgebungen zur Verfügung gestellt wird, die ein Objekt basierend auf der mit dem default Attribut definierten Klasse erstellen.
Wenn keine Standardschnittstelle angegeben wird, wird das erste Vorkommen einer Nicht-Quellschnittstelle als Standard verwendet.
Schnittstelle2
(Optional) Die Standardquellschnittstelle. Sie müssen diese Schnittstelle auch beim source -Attribut angeben.
Wenn keine Standard-Quellschnittstelle angegeben ist, wird die erste Quellschnittstelle als Standard verwendet.
Hinweise
Das default C++-Attribut verfügt über die gleiche Funktionalität wie das Standardmäßige MIDL-Attribut. Das default Attribut wird auch mit dem Case-Attribut verwendet.
Beispiel
Der folgende Code zeigt, wie default in der Definition einer CoClass verwendet wird, um als Standardprogrammierbarkeitsschnittstelle anzugeben ICustomDispatch :
// 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);
}
Das Quell-Attribut weist außerdem ein Beispiel für die Verwendung defaultauf.
Anforderungen
| Attributkontext | Wert |
|---|---|
| Gilt für | class, structDatenmememm |
| Wiederholbar | No |
| Erforderliche Attribute | coclass (bei Anwendung auf class oder struct) |
| Ungültige Attribute | Keine |
Weitere Informationen finden Sie unter Attributkontexte.