Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Для максимального контроля над процессом привязки клиентские и серверные приложения могут использовать явные дескрипторы привязки. Как и неявные дескрипторы, явные дескрипторы привязки позволяют клиентскому приложению выбрать сервер для выполнения вызовов. Кроме того, явные дескрипторы привязки позволяют клиент-серверному приложению создавать аутентифицированный сеанс связи RPC. С явными дескрипторами клиент может подключаться к нескольким серверам и выполнять удаленные процедуры на нескольких серверах. Многопоточные и асинхронные клиентские приложения могут даже подключаться к нескольким серверам и одновременно выполнять несколько удаленных процедур.
Клиентское приложение должно передать явный дескриптор в качестве параметра каждому удаленному вызову процедуры. Чтобы соответствовать стандарту OSF, дескриптор должен быть указан в качестве первого параметра для каждой удаленной процедуры. Однако расширения Майкрософт в RPC позволяют указать дескриптор привязки в других местах. Дополнительные сведения см. в разделе расширения Microsoft RPC Binding-Handle.
Чтобы создать явный дескриптор, объявите дескриптор в качестве параметра удаленным операциям в файле IDL. Пример Hello, World может быть переопределён для использования явного дескриптора, как показано.
/* IDL file for explicit handles */
[
uuid(20B309B1-015C-101A-B308-02608C4C9B53),
version(1.0)
]
interface hello
{
void HelloProc([in] handle_t h1,
[in, string] char * pszString);
}
Явные и неявные дескрипторы можно объединить в одном интерфейсе. Если функция имеет явный дескриптор в списке параметров, этот дескриптор будет использоваться. Если функция в интерфейсе с использованием неявных дескрипторов не указывает явный дескриптор, будет использоваться неявный дескриптор по умолчанию.