Share via


Beispiel für LABRADOR-Attribute: Implementiert einen Server ohne Benutzeroberfläche

LABRADOR-Attribute-Beispiel veranschaulicht die ATL verwenden, um einen exe-Server ohne Benutzeroberfläche zu implementieren. Der Server ermöglicht Erstellung eines Objekts, das zwei benutzerdefinierte Schnittstellen definiert in Labrador.idl unterstützt.

SicherheitshinweisSicherheitshinweis

Dieser Beispielcode soll ein Konzept veranschaulichen, und es wird nur den Code, der für dieses Konzept relevant sind. Möglicherweise erfüllt dieser nicht die Sicherheitsanforderungen für eine bestimmte Umgebung, und er sollte nicht genau wie dargestellt verwendet werden. Wir empfehlen, Sicherheits- und Fehlerbehandlungscode hinzuzufügen, um Ihre Projekte sicherer und stabiler zu machen. Microsoft stellt diesen Beispielcode "Wie besehen"keine Garantien.

So erhalten Sie Beispiele und Anweisungen für deren Installation:

Um Beispiele von Visual Studio zuzugreifen

  • im Menü Hilfe Menü klicken Beispiele.

    Standardmäßig sind die Beispiele in installiert. Laufwerk: \Programme\Microsoft visual Studio 10.0\Samples\.

  • Die neueste Version dieses Beispiels und eine Liste der anderen Beispiele finden Sie unter Visual Studio Samples auf der MSDN-Website.

Erstellen und Ausführen des Beispiels

Dieses Beispiel verwendet drei Komponenten: der Server, die Marshalling-DLL und der Treiber.

So erstellen und Registrieren der Komponenten

  1. Öffnen Sie die Projektmappendatei Labrador.sln

  2. From the Build menu, click Build Solution.

    Der Server, die Marshalling-DLL und der Treiber werden erstellt und registriert werden.

Den Treiber ausgeführt

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt Labdriv, und wählen Sie als Startprojekt festlegen.

  2. Debuggen Sie von Menü, klicken Sie auf Starten ohne Debuggen.

    Der Treiber wird ein Objekt erstellen, wenige Aufrufe dorthin und ihn freigeben.

Attribute

In diesem Beispiel werden die folgenden Attribute verwendet:

aggregatable, coclass, default, emitidl, helpstring, in, module, object, out, progid, string, threading, uuid, version, vi_progid

Schlüsselwörter

In diesem Beispiel werden die folgenden Schlüsselwörter verwendet:

_CrtDumpMemoryLeaks;_tcsicmp;_tcstok;_tprintf;_vstprintf;ATLASSERT;BEGIN_COM_MAP;BEGIN_OBJECT_MAP;CComObjectRoot;CoCreateInstance;COM_INTERFACE_ENTRY;CoUninitialize;DECLARE_NOT_AGGREGATABLE;DECLARE_REGISTRY;DispatchMessage;END_OBJECT_MAP;GetCurrentThreadId;GetMessage;OBJECT_ENTRY;OutputDebugString;PostThreadMessage;Trace;va_end;va_list;va_start;wcscpy_s

Hinweis

Einige Beispiele wie diesen, wurden nicht geändert, um Änderungen in der Visual C++-Assistenten, Bibliotheken und Compiler, demonstrieren aber dennoch wie Sie die gewünschte Aufgabe durchführen.

Siehe auch

Weitere Ressourcen

ATL-Attributbeispiele