Udostępnij za pośrednictwem


Plik IDL

Plik IDL składa się z co najmniej jednej definicji interfejsu, z których każda ma nagłówek i treść. Nagłówek zawiera informacje dotyczące całego interfejsu, takie jak identyfikator UUID. Te informacje są ujęte w nawiasy kwadratowe i następuje słowo kluczowe interfejsu i nazwa interfejsu. Treść zawiera definicje typów danych w stylu C i prototypy funkcji rozszerzone o atrybuty opisujące sposób przesyłania danych za pośrednictwem sieci.

W tym przykładzie nagłówek interfejsu zawiera tylko identyfikator UUID i numer wersji. Numer wersji gwarantuje, że jeśli istnieje wiele wersji interfejsu RPC, zostaną połączone tylko zgodne wersje klienta i serwera.

Treść interfejsu zawiera prototyp funkcji dla HelloProc. W tym prototypie parametr funkcji pszString ma atrybuty [w] i [ciąg]. Atrybut [in] informuje bibliotekę czasu wykonywania, że parametr jest przekazywany tylko z klienta do serwera. Atrybut [string] określa, że element wycinkowy powinien traktować parametr jako ciąg znaków w stylu C.

Aplikacja kliencka powinna mieć możliwość zamknięcia aplikacji serwera, więc interfejs zawiera prototyp innej funkcji zdalnej,Shutdown , który zostanie zaimplementowany w dalszej części tego samouczka.

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