Freigeben über


Die IDL-Datei

Die IDL-Datei besteht aus einer oder mehreren Schnittstellendefinitionen, die jeweils über einen Header und einen Textkörper verfügen. Der Header enthält Informationen, die für die gesamte Schnittstelle gelten, z. B. die UUID. Diese Informationen werden in eckigen Klammern eingeschlossen, gefolgt von der Schlüsselwort (keyword) Schnittstelle und dem Schnittstellennamen. Der Text enthält Datentypdefinitionen im C-Stil und Funktionsprototypen, ergänzt durch Attribute, 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 von Client und Server verbunden werden, wenn mehrere Versionen einer RPC-Schnittstelle vorhanden sind.

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

Die Clientanwendung sollte in der Lage sein, die Serveranwendung herunterzufahren, sodass die Schnittstelle einen Prototyp für eine andere Remotefunktion enthält, Shutdown , die später in diesem Tutorial 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);
}