Привязка на стороне клиента

Дескрипторы привязки состоят из последовательности протоколов, имени или адреса главного компьютера программы сервера и конечной точки серверной программы. Таким образом, клиентская программа должна получить или предоставить эти сведения для создания привязки.

Если в клиентской программе используются автоматические дескрипторы привязки, вам не нужно писать специальный исходный код для создания привязки или управления ею. Заглушка клиента вызывает функции RPC, необходимые для установления и поддержания привязки. Необходимо указать, что клиент использует автоматические дескрипторы привязки в файле конфигурации приложения (ACF) и проектирует интерфейс соответствующим образом. Дополнительные сведения см. в разделе "Автоматические дескрипторы привязки".

Предположим, например, что вы разрабатываете клиентская программа, которая называется удаленными функциями метки времени. Здесь заглушки выполняют всю работу, и клиенту необходимо включить только созданный файл заголовка Auto.h, чтобы получить прототипы функций для удаленных процедур. Вызовы клиентских приложений к удаленным процедурам выглядят так же, как если бы они были вызовами локальных процедур, как показано в следующем примере:

/* auto handle client application (fragment) */
#include <windows.h>
#include <stdio.h>
#include <time.h>
#include "auto.h"    // header file generated by the MIDL compiler
 
 
void main(int argc, char **argv)
{
    time_t t1;
    time_t t2;
    char * pszTime;
    ...
 
    GetTime(&t1);  // GetTime is a remote procedure
    GetTime(&t2);
 
    pszTime = ctime(&t1);
    printf("time 1= %s\n", pszTime);
 
    pszTime = ctime(&t2);
    printf("time 2= %s\n", pszTime);
 
    Shutdown();    // Shutdown is a remote procedure
    exit(0);
}

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

Если приложение использует неявные или явные дескрипторы привязки, клиент должен получить сведения о привязке и вызвать функции RPC для создания дескрипторов. Где клиент получает сведения о привязке, зависит от требований приложения. Программа установки, устанавливающая клиентское приложение, может хранить сведения о привязке в создаваемых переменных среды. Он также может сохранять сведения о привязке в файле конфигурации для конкретного приложения. Так как сведения о привязке в переменных среды или файлах конфигурации обычно хранятся в виде строк, клиентскому приложению потребуется преобразовать строку в привязку. В средах Windows XP/2000 сведения о привязке можно получить из Active Directory. Дополнительные сведения см . в разделе "Использование строковых привязок".

Большинство сетей имеют службу имен. Серверные программы могут объявлять себя в базе данных службы имен. Когда клиент начинает выполнение, он может получить сведения о привязке из базы данных службы имен. Дополнительные сведения см. в разделе "Импорт из баз данных службы имен".

Действия, необходимые для привязки с неявными и явными дескрипторами, рассматриваются в следующих разделах:

Краткий обзор этих разделов см. в разделе "Подключение клиента и сервера".