Udostępnij przez


Opracowywanie interfejsu

Interfejs RPC opisuje funkcje zdalne implementujące program serwera. Interfejs zapewnia, że klient i serwer komunikują się przy użyciu tych samych reguł, gdy klient wywołuje procedurę zdalną, którą oferuje serwer. Interfejs składa się z nazwy interfejsu, niektórych atrybutów, opcjonalnych definicji typu lub stałej oraz zestawu deklaracji procedury. Każda deklaracja procedury musi zawierać nazwę procedury, typ zwracany i listę parametrów.

Interfejsy są definiowane w języku Microsoft Interface Definition Language (MIDL). Jeśli znasz język C lub C++, definicje interfejsu MIDL wydają się dość proste. MIDL przypomina język C i C++ na wiele sposobów.

Podczas tworzenia aplikacji RPC edytor tekstów służy do definiowania interfejsu i przechowywania go w pliku tekstowym z rozszerzeniem idl. Aby uzyskać więcej informacji, zobacz pliki IDL i ACF. Kompilator MIDL generuje plik nagłówkowy, który program zawiera w plikach źródłowych klienta i serwera. Kompilator MIDL generuje również dwa pliki źródłowe języka C. Skompilujesz i połączysz jedną z nich z programem klienckim, a drugą z programem serwera. Te dwa pliki źródłowe języka C to wycinki klienta i serwera. Aby zapoznać się z omówieniem stubów klienta i serwera, zobacz Jak działa RPC. Aby zapoznać się z omówieniem kompilatora MIDL, zobacz Kompilowanie pliku MIDL.

Domyślnie zastępy klienta i serwera mają taką samą nazwę, co może powodować problemy, jeśli klient łączy się z zastępem serwera lub na odwrót. Opcja prefiksu MIDL uniemożliwia występowanie tego typowego błędu.

Poniższa ilustracja przedstawia proces tworzenia interfejsu.

tworzenie wycinków klienta i serwera z opcją /prefiks uniemożliwia przypadkowe problemy z kompilacją

Istnieje możliwość, że należy również określić plik konfiguracji aplikacji (ACF) dla danych wejściowych kompilatora MIDL. Aby uzyskać więcej informacji na temat plików konfiguracji aplikacji, zobacz pliki IDL i ACF.

Oprócz kompilatora MIDL zazwyczaj należy użyć narzędzia Uuidgen do wygenerowania uniwersalnego unikatowego identyfikatora (UUID, zamiennego z terminem GUID). W tej sekcji przedstawiono informacje na temat obu tych narzędzi podzielonych na następujące tematy: