Разработка сервера
При создании серверной программы для распределенного приложения необходимо использовать файл заголовка и серверную заглушку, создаваемые компилятором MIDL. Дополнительные сведения см. в разделе Разработка интерфейса. Включите файл заголовка в программный файл сервера C. Скомпилируйте заглушку сервера с исходными файлами C, которые составляют приложение. Свяжите результирующий объектный файл с библиотекой импорта. Этот процесс показан на следующей схеме.
Как видно из примера на рисунке, для определения интерфейса использовался MIDL-файл с именем MyApp.idl. Компилятор MIDL использовал MyApp.idl для создания MyApp_s.c и MyApp.h. Он также создает исходный файл C для заглушки клиента, но это не относится к данному конкретному обсуждению. Исходный файл C для серверной программы (в данном случае Mysrvr.c) должен содержать файл Myapp.h. Кроме того, потребуется включить файлы Rpc.h и Rpcndr.h.
Серверное приложение было разработано в двух файлах: Mysrvr.c и Rprocs.c. Файл Mysrvr.c содержит функции, необходимые для запуска серверной программы. Удаленные процедуры, предлагаемые серверной программой, содержатся в файле Rprocs.c.
Файлы Mysrvr.c и Rprocs.c были скомпилированы вместе с Myapp_s.c для создания объектных файлов. Затем файлы объектов были связаны с библиотекой времени выполнения RPC и любыми другими библиотеками, которые могут потребоваться. Результатом является исполняемая серверная программа с именем Mysrvr.exe.
Если вы не скомпилируете IDL-файл в режиме совместимости Open Software Foundation (OSF) (/osf), серверная программа должна предоставить функцию для выделения памяти и функцию для ее освобождения. Для Windows 2000 и более поздних версий Windows рекомендуемый режим — /Oicf. Дополнительные сведения см. в разделах Как выделяется и освобождается память, а также Указатели и выделение памяти.