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


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

Интерфейс 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). В этом разделе представлены сведения об обоих этих инструментах, разделенных на следующие разделы: