Entwickeln der Schnittstelle
Eine RPC-Schnittstelle beschreibt die Remotefunktionen, die das Serverprogramm implementiert. Die Schnittstelle stellt sicher, dass Client und Server mit den gleichen Regeln kommunizieren, wenn der Client eine Remoteprozedur aufruft, die der Server anbietet. Eine Schnittstelle besteht aus einem Schnittstellennamen, einigen Attributen, optionalen Typ- oder Konstantendefinitionen und einer Reihe von Prozedurdeklarationen. Jede Prozedurdeklaration muss einen Prozedurnamen, einen Rückgabetyp und eine Parameterliste enthalten.
Schnittstellen werden in der Microsoft Interface Definition Language (MIDL) definiert. Wenn Sie mit C oder C++ vertraut sind, erscheinen MIDL-Schnittstellendefinitionen ziemlich einfach. MIDL ähnelt C und C++ in vielerlei Hinsicht.
Beim Entwickeln einer RPC-Anwendung wird ein Text-Editor verwendet, um die Schnittstelle zu definieren und in einer Textdatei mit der Idl-Erweiterung zu speichern. Weitere Informationen finden Sie unter Die IDL- und ACF-Dateien. Der MIDL-Compiler generiert eine Headerdatei, die Ihr Programm in den Client- und Serverquelldateien enthält. Der MIDL-Compiler generiert auch zwei C-Quelldateien. Sie kompilieren und verknüpfen eine dieser Elemente mit Ihrem Clientprogramm, die andere mit Ihrem Serverprogramm. Diese beiden C-Quelldateien sind die Client- und Server-Stubs. Eine Übersicht über die Client- und Server-Stubs finden Sie unter Funktionsweise von RPC. Eine Übersicht über den MIDL-Compiler finden Sie unter Kompilieren einer MIDL-Datei.
Standardmäßig haben der Client- und Serverstub denselben Namen, was zu Problemen führen kann, wenn der Client mit dem Serverstub verknüpft ist oder umgekehrt. Wenn Sie die Option MIDL /prefix verwenden, wird verhindert, dass dieser häufige Fehler auftritt.
Die folgende Abbildung zeigt den Prozess zum Erstellen einer Schnittstelle.
Möglicherweise müssen Sie auch eine Anwendungskonfigurationsdatei (Application Configuration File, ACF) für die Eingabe an den MIDL-Compiler angeben. Weitere Informationen zu Anwendungskonfigurationsdateien finden Sie unter Die IDL- und ACF-Dateien.
Zusätzlich zum MIDL-Compiler müssen Sie in der Regel das Hilfsprogramm Uuidgen verwenden, um einen universellen eindeutigen Bezeichner (UUID, austauschbar mit dem Begriff GUID) zu generieren. Dieser Abschnitt enthält Informationen zu beiden Tools, die in die folgenden Themen unterteilt sind: