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 stellen eine kurze Übersicht über das Erstellen und Kompilieren einer MIDL-Schnittstelle bereit:
Eine ausführliche Erläuterung dieser Themen finden Sie unter The IDL and ACF Files.
Definieren einer Schnittstelle mit MIDL
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 von Schnittstellenattributen und den Schnittstellennamen enthält. Die Attribute sind in eckige Klammern eingeschlossen. Auf den Schnittstellenheader folgt der Text, der in eckige Klammern eingeschlossen ist. Eine einfache Schnittstelle wird im folgenden Beispiel 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 enthalten sind, 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 ] , [ outoder ] in [ , out deklariert werden. ] Diese Deklarationen geben an, dass das Clientprogramm Daten an eine Remoteprozedur übergibt, Daten aus einer Remoteprozedur oder beides abfährt. Ausführlichere Informationen zu Schnittstellenparameterdeklarationen finden Sie unter Der IDL-Schnittstellenkörper.
Kompilieren einer MIDL-Datei
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 angeben müssen, wenn der Dateiname die Erweiterung .idl hat. Sie können auch die MIDL-Compilerbefehlszeilenschalter verwenden, indem Sie sie zwischen dem midl-Befehl und dem Dateinamen einfügen. Dies wird im folgenden Beispiel gezeigt:
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 unter The IDL and ACF Files (Die IDL- und ACF-Dateien) genauer erläutert.
Ausführlichere Informationen zur Verwendung des MIDL-Compilers finden Sie im Microsoft Interface Definition Language (MIDL),das Informationen zu den folgenden Themen enthält: