Share via


Standard (C++)

Gibt an, dass die benutzerdefinierte oder die Dispatchschnittstelle, die innerhalb einer Co-Klasse definierten Programmierung der Schnittstelle darstellt.

[ default(
   interface1,
   interface2
) ]

Parameter

  • interface1
    Die Standardschnittstelle verfügbar, die für Skripterstellung Umgebungen ausgeführt wird, die ein Objekt auf der Grundlage der Klasse erstellen, mit dem definiert Standardwert-Attribut.

    Wenn keine Standardschnittstelle angegeben ist, wird das erste Vorkommen einer nonsource Schnittstelle als Standardschnittstelle verwendet.

  • interface2(optional)
    Die standardmäßige Quellschnittstelle.Sie müssen diese Schnittstelle mit dem Quelle-Attribut ebenfalls angegeben werden.

    Wenn keine standardmäßigen Quellschnittstelle angegeben wird, wird die erste Quellschnittstelle als Standard verwendet.

Hinweise

Das Attribut Standardwert C++ verfügt über die gleichen Funktionen wie das Standardwert MIDL-Attribut.Das Attribut wird Standardwert auch mit dem Fall-Attribut verwendet wird.

Beispiel

Der folgende Code zeigt, wie Standardwert in der Definition einer Co-Klasse verwendet wird, um ICustomDispatch Programmierung als die standardmäßige Oberfläche angeben:

// 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 Quelle-Attribut weist außerdem ein Beispiel dafür, wie Standardwertverwendet.

Anforderungen

Attribut-Kontext

Betrifft

Klasse, struct, Datenmember

Wiederholbar

Nein

Erforderliche Attribute

coclass (wenn Sie Klasse oder structangewendet werden)

Ungültige Attribute

None

Weitere Informationen finden Sie unter Attribut-Kontexte.

Siehe auch

Referenz

Co-Klasse

Weitere Ressourcen

IDL-Attribute

Klassen-Attribute

Attributes Samples