Поделиться через


Разработка интерфейса

Интерфейс RPC описывает удаленные функции, которые реализует серверная программа. Интерфейс гарантирует, что клиент и сервер взаимодействуют с помощью одних и того же правила, когда клиент вызывает удаленную процедуру, которую предлагает сервер. Интерфейс состоит из имени интерфейса, некоторых атрибутов, необязательных определений типов или констант, а также набора объявлений процедур. Каждое объявление процедуры должно содержать имя процедуры, тип возвращаемого значения и список параметров.

Интерфейсы определяются в языке определения интерфейса Майкрософт (MIDL). Если вы знакомы с C или C++, определения интерфейса MIDL покажутся довольно простыми. MIDL во многом напоминает C и C++.

При разработке приложения RPC текстовый редактор используется для определения интерфейса и его хранения в текстовом файле с расширением IDL. Дополнительные сведения см. в разделе Файлы IDL и ACF. Компилятор MIDL создает файл заголовка, который программа включает в исходные файлы клиента и сервера. Компилятор MIDL также создает два исходных файла C. Одна из них компилируется и связывается с клиентской программой, а другая — с серверной программой. Эти два исходных файла C являются заглушками клиента и сервера. Общие сведения о клиентских и серверных заглушках см. в разделе Принцип работы RPC. Обзор компилятора MIDL см. в разделе Компиляция MIDL-файла.

По умолчанию заглушка клиента и сервера имеют одно и то же имя, что может вызвать проблемы, если клиент связывается с заглушкой сервера или наоборот. Использование параметра MIDL /prefix предотвращает возникновение этой распространенной ошибки.

На следующем рисунке показан процесс создания интерфейса.

Создание заглушки клиента и сервера с параметром /prefix предотвращает случайные проблемы с компиляцией

Возможно, также потребуется указать файл конфигурации приложения (ACF) для ввода в компилятор MIDL. Дополнительные сведения о файлах конфигурации приложения см. в разделе Файлы IDL и ACF.

Помимо компилятора MIDL, обычно необходимо использовать служебную программу Uuidgen для создания универсального уникального идентификатора (UUID, взаимозаменяемого с термином GUID). В этом разделе представлены сведения о обоих этих средствах, разделенные на следующие темы: