Распределенные вычисления: технология Microsoft RPC. Часть1. Фертиков В.В. - 12 стр.

UptoLike

Составители: 

12
HelloProc мы с самого начала определили в собственном исходном фай -
ле HELLOP.C, так что она может компилироваться и компоноваться как с авто -
номной прикладной программой , так и с распределенным приложением , к реа-
лизации которого мы приступаем .
Файл на языке определения интерфейсов
Первый шаг при создании распределенного приложения должен обеспе-
чить возможность клиенту и серверу найти друг друга и связаться через сеть.
Для этого формально определяется интерфейс с использованием языка опреде-
ления интерфейсов Microsoft (MIDL). Интерфейс состоит из типов данных,
функциональных прототипов, атрибутов и информации интерфейса. Определе-
ние интерфейса сохраняется в собственном файле с расширением IDL. Для
удобства этот пример использует то же самое имя, HELLO, как для IDL файла,
так и для файла языка C. Вы можете использовать и различные имена для этих
двух файлов:
/* файл: hello.idl */
[ uuid (6B29FC40-CA47-1067-B31D-00DD010662DA),
version(1.0)
]
interface hello
{
void HelloProc([in, string] unsigned char * pszString);
}
Конструкции IDL файла отличаются от конструкций в исходных файлах
языка C, но они достаточно очевидны . IDL файл состоит из двух частей : заго -
ловка интерфейса и тела интерфейса. Заголовок интерфейса включает инфор-
мацию относительно интерфейса в целом , такую как его идентификатор и но-
мер версии. Он состоит из спецификации, заключенной в квадратные скобки и
заканчивающейся ключевым словом interface и именем интерфейса. Заголо-
вок интерфейса в этом примере включает ключевые слова uuid, version и
interface. Тело интерфейса заключено в фигурные скобки и содержит типы
данных и функциональные прототипы .
UUID универсально уникальный идентификатор (universally unique
identifier), строка из пяти групп шестнадцатеричных цифр, разделяемых дефи-
сами. Эти пять групп соответственно содержат восемь цифр, четыре цифры , че-
тыре цифры, четыре цифры и 12 цифр. Например , "6B29FC40-CA47-1067-
B31D-00DD010662DA" является допустимым UUID. В среде Microsoft
Windows NT UUID также известен как GUID, или глобально уникальный иден-
тификатор (globally unique identifier). UUID интерфейса можно получить при
помощи специальной утилиты uuidgen, которая генерирует уникальные иден-
тификаторы в требуемом формате.
Тело интерфейса содержит С - подобные определения типов данных и
функциональных прототипов, к которым добавлены атрибуты . Атрибуты при-
                                    12
    HelloProc мы с самого начала определили в собственном исходном фай-
ле HELLOP.C, так что она может компилироваться и компоноваться как с авто-
номной прикладной программой, так и с распределенным приложением, к реа-
лизации которого мы приступаем.

     Файл на языке определения интерфейсов
     Первый шаг при создании распределенного приложения должен обеспе-
чить возможность клиенту и серверу найти друг друга и связаться через сеть.
Для этого формально определяется интерфейс с использованием языка опреде-
ления интерфейсов Microsoft (MIDL). Интерфейс состоит из типов данных,
функциональных прототипов, атрибутов и информации интерфейса. Определе-
ние интерфейса сохраняется в собственном файле с расширением IDL. Для
удобства этот пример использует то же самое имя, HELLO, как для IDL файла,
так и для файла языка C. Вы можете использовать и различные имена для этих
двух файлов:

/* файл: hello.idl */

[ uuid (6B29FC40-CA47-1067-B31D-00DD010662DA),
  version(1.0)
]
interface hello
{
void HelloProc([in, string] unsigned char * pszString);
}

     Конструкции IDL файла отличаются от конструкций в исходных файлах
языка C, но они достаточно очевидны. IDL файл состоит из двух частей: заго-
ловка интерфейса и тела интерфейса. Заголовок интерфейса включает инфор-
мацию относительно интерфейса в целом, такую как его идентификатор и но-
мер версии. Он состоит из спецификации, заключенной в квадратные скобки и
заканчивающейся ключевым словом interface и именем интерфейса. Заголо-
вок интерфейса в этом примере включает ключевые слова uuid, version и
interface . Тело интерфейса заключено в фигурные скобки и содержит типы
данных и функциональные прототипы.
     UUID – универсально уникальный идентификатор (universally unique
identifier), строка из пяти групп шестнадцатеричных цифр, разделяемых дефи-
сами. Эти пять групп соответственно содержат восемь цифр, четыре цифры, че-
тыре цифры, четыре цифры и 12 цифр. Например, "6B29FC40-CA47-1067-
B31D-00DD010662DA " – является допустимым UUID. В среде Microsoft
Windows NT UUID также известен как GUID, или глобально уникальный иден-
тификатор (globally unique identifier). UUID интерфейса можно получить при
помощи специальной утилиты uuidgen, которая генерирует уникальные иден-
тификаторы в требуемом формате.
     Тело интерфейса содержит С-подобные определения типов данных и
функциональных прототипов, к которым добавлены атрибуты. Атрибуты при-