Freigeben über


Die IDL-Datei

Die IDL-Datei besteht aus einer oder mehreren Schnittstellendefinitionen, die jeweils über eine Kopfzeile und einen Textkörper verfügen. Der Header enthält Informationen, die für die gesamte Schnittstelle gelten, z. B. die UUID. Diese Informationen sind in eckige Klammern eingeschlossen und folgen dem Schlüsselwort Schnittstelle und dem Schnittstellennamen. Der Textkörper enthält Datentypdefinitionen und Funktionsprototypen im C-Stil, die mit Attributen erweitert werden, die beschreiben, wie die Daten über das Netzwerk übertragen werden.

In diesem Beispiel enthält der Schnittstellenheader nur die UUID und die Versionsnummer. Die Versionsnummer stellt sicher, dass nur kompatible Versionen des Clients und Servers verbunden werden, wenn mehrere Versionen einer RPC-Schnittstelle vorhanden sind.

Der Schnittstellentext enthält den Funktionsprototyp für HelloProc. In diesem Prototyp verfügt der Funktionsparameter pszString über die Attribute [in] und [Zeichenfolge]. Das attribut [in] teilt der Laufzeitbibliothek mit, dass der Parameter nur vom Client an den Server übergeben wird. Das attribut [string] gibt an, dass der Stub den Parameter als Zeichenfolge im C-Stil behandeln soll.

Die Clientanwendung sollte in der Lage sein, die Serveranwendung herunterzufahren, sodass die Schnittstelle einen Prototyp für eine andere Remotefunktion enthält,Herunterfahren, die später in diesem Lernprogramm implementiert wird.

//file hello.idl
[
    uuid(7a98c250-6808-11cf-b73b-00aa00b677a7),
    version(1.0)
]
interface hello
{
    void HelloProc([in, string] unsigned char * pszString);
    void Shutdown(void);
}