Verwenden von MIDL
Alle Schnittstellen für Programme, die RPC verwenden, müssen in Microsoft Interface Definition Language (MIDL) definiert und mit dem MIDL-Compiler kompiliert werden. Die folgenden Themen enthalten eine kurze Übersicht über das Erstellen und Kompilieren einer MIDL-Schnittstelle:
Eine ausführliche Erläuterung dieser Themen finden Sie unter Die IDL- und ACF-Dateien.
MIDL-Dateien sind Textdateien, die Sie mit einem Text-Editor erstellen und bearbeiten können. Wenn Sie eine UUID für Ihre Schnittstelle generieren, speichern Sie die Ausgabe in der Regel in einer MIDL-Vorlagendatei. Weitere Informationen zu UUIDs finden Sie unter Generieren von Schnittstellen-UUIDs.
Alle Schnittstellen in MIDL haben das gleiche Format. Sie beginnen mit einem Header, der eine Liste der Schnittstellenattribute und den Schnittstellennamen enthält. Die Attribute sind in eckige Klammern eingeschlossen. Auf den Schnittstellenheader folgt der Text, der in geschweifte Klammern eingeschlossen ist. Im folgenden Beispiel wird eine einfache Schnittstelle gezeigt:
[
uuid(ba209999-0c6c-11d2-97cf-00c04f8eea45),
version(1.0)
]
interface MyInterface
{
const unsigned short INT_ARRAY_LEN = 100;
void MyRemoteProc(
[in] int param1,
[out] int outArray[INT_ARRAY_LEN]
);
}
Einige der Attribute, die in der Regel in einer MIDL-Schnittstellendefinition angezeigt werden, sind die UUID und die Versionsnummer der Schnittstelle. Der Text der Schnittstellendefinition muss die Prozedurdeklarationen aller Remoteprozeduren in der Schnittstelle enthalten. Sie kann auch die Deklarationen von Datentypen und Konstanten enthalten, die für die Schnittstelle erforderlich sind.
Alle Parameter in den Remoteprozedurdeklarationen müssen als [in], [out] oder [in, out] deklariert werden. Diese Deklarationen geben an, dass das Clientprogramm Daten an eine Remoteprozedur übergibt, Daten aus einer Remoteprozedur abruft oder beides. Ausführlichere Informationen zu Schnittstellenparameterdeklarationen finden Sie unter Der IDL-Schnittstellentext.
Der MIDL-Compiler ist ein Befehlszeilentool, das automatisch mit dem Platform Software Development Kit (SDK) installiert wird. Rufen Sie ihn in einem Befehlsfenster auf, indem Sie den Befehl midl gefolgt vom Namen einer MIDL-Datei in der Befehlszeile eingeben. Stellen Sie sicher, dass sich das Verzeichnis mit dem MIDL-Compiler in Ihrem Pfad befindet. Im folgenden Beispiel wird die Verwendung veranschaulicht:
midl MyApp.idl
Beachten Sie, dass Sie die Erweiterung nicht einschließen müssen, wenn der Dateiname die Erweiterung .idl aufweist. Sie können auch die Befehlszeilenoptionen des MIDL-Compilers verwenden, indem Sie sie zwischen dem Befehl midl und dem Dateinamen einfügen. Dies wird im folgenden Beispiel veranschaulicht:
midl /acf MyApp.acf MyApp.idl
In diesem Beispiel wird der MIDL-Compiler mit der Datei MyApp.idl als Eingabedatei ausgeführt. Der Befehlszeilenschalter /acf weist den Compiler an, auch eine Anwendungskonfigurationsdatei (Application Configuration File, ACF) für die Eingabe zu verwenden. Anwendungskonfigurationsdateien werden in den IDL- und ACF-Dateien ausführlicher erläutert.
Ausführlichere Informationen zur Verwendung des MIDL-Compilers finden Sie in der Microsoft Interface Definition Language (MIDL), die Informationen zu den folgenden Themen enthält:
- C-Präprozessoranforderungen für MIDL
- Überlegungen zum C/C++-Compiler
- Für eine RPC-Schnittstelle generierte Dateien
- MIDL-Befehlszeilenreferenz
- MIDL-Sprachreferenz
- MIDL-Compilerfehler und -warnungen