Freigeben über


IPDRIVE-Beispiel: Demonstriert eine Automatisierungsclientanwendung

Das IPDRIVE-Beispiel ist eine einfache Automatisierung (früher OLE-Automatisierung)-Clientanwendung, die die Beispielanwendung INPROC steuert. Es testet die Funktionalität von INPROC steuern und Automatisierung in-Process-Server. IPDRIVE kann sowohl die prozessinterne Version als auch die Out-of-Process bzw. lokale Serverversion von INPROC, veranschaulichen die Leistungsvorteile prozessinterner Komponenten. Finden Sie im INPROC Beispiel Weitere Informationen.

Hinweis

Bevor Sie IPDRIVE ausführen, müssen Sie die Beispielanwendung INPROC ausführen, damit sich INPROC in der Registrierung registriert.

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

So erstellen Sie und führen das IPDRIVE-Beispiel

  1. Folgen Sie den Anweisungen ausführen, erstellen und registrieren das INPROC-Beispiel.

  2. Öffnen Sie die Projektmappe ipdrive.sln.

  3. erstellen Sie Menü, klicken Sie auf erstellen.

  4. Führen Sie IPDRIVE als eigenständige Anwendung, damit er sich selbst mit dem System registrieren kann.

    Wenn Sie IPDRIVE ausführen, wird das INPROC-Beispiel geladen und erstellen Sie ein variant Map-Objekt, das Sie mithilfe des IPDRIVE Schnittstelle bearbeiten können.

Ein Objekt variant Zuordnung ist wesentlich wie der MFC-CMap-Auflistung. Es dient, einen anderen beliebigen Wert ein beliebigen Wert zuzuordnen. Jeder Wert ist eine VARIANT, die aus einem Typ und einem Wert besteht. Die Benutzeroberfläche von IPDRIVE können Sie den Typ und den Wert zugreifen. Typ-Wert-Paar kann auf andere Type-Wert-Paar zugeordnet werden.

IPDRIVE stellt außerdem zwei Schaltflächen, Test1 und Test2, die verwendet werden können, um die Leistung der Serveranwendung INPROC testen bereit. Diese Funktionen testen zum größten Teil der Funktion Aufruf Zusatzaufwand für die Automatisierung. Funktionsaufrufe wird voraussichtlich mit den lokalen Server-Versionen von INPROC als mit den in-Process-Versionen von INPROC wesentlich größer sein. Ein lokaler Server wird in einem eigenen Adressraum als separate ausführbare Datei ausgeführt. Daher muss ein Remoteprozeduraufruf (RPC) an die Methoden und Eigenschaften seiner Objekte zuzugreifen. Ein in-Process-Server jedoch als DLL im Adressbereich des Clients geladen und einen REMOTEPROZEDURAUFRUF ist nicht erforderlich. Die Test1 und Test2 Schaltflächen genau fünf Sekunden lang ausführen, dann zeigt die Anzahl der Aufrufe. Weitere Aufrufe, die eine bessere Leistung.

INPROC enthält auch eine einfachere Auflistung (ein String-Array), die nicht von IPDRIVE angewendet wird.

Schlüsselwörter

Dieses Beispiel demonstriert die Verwendung der folgenden Schlüsselwörter:

AfxMessageBox; AfxOleInit; AfxThrowUserException; CArchive::IsStoring; CComboBox::GetCurSel; CComboBox::SetCurSel; CControlBar::EnableDocking; CControlBar::GetBarStyle; CControlBar::SetBarStyle; CDialog::DoModal; CDocument::OnNewDocument; CFrameWnd::DockControlBar; CFrameWnd::EnableDocking; CObject::AssertValid; CObject::Dump; CObject::Serialize; COleDispatchDriver::GetProperty; COleDispatchDriver::InvokeHelper; COleDispatchDriver::SetProperty; CScrollView::ResizeParentToFit; CStatusBar::Create; CStatusBar::SetIndicators; CString::AllocSysString; CString::Format; CString::GetBuffer; CString::LoadString; CString::ReleaseBuffer; CToolBar::Create; CToolBar::LoadBitmap; CToolBar::SetButtons; CView::GetDocument; CView::OnInitialUpdate; CWinApp::AddDocTemplate; CWinApp::InitInstance; CWinApp::LoadStdProfileSettings; CWinApp::OnFileNew; CWnd::DoDataExchange; CWnd::GetDlgItem; CWnd::GetParentFrame; CWnd::GetWindowText; CWnd::OnCreate; CWnd::SetDlgItemText; CWnd::SetWindowText; DragAcceptFiles; GetKeyState; GetTickCount; max; wsprintf

Hinweis

Einige Beispiele, z. B. eine, 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

MFC-Beispiele