Метод IClientSecurity::CopyProxy (objidl.h)
Создает закрытую копию прокси-сервера для указанного интерфейса.
Синтаксис
HRESULT CopyProxy(
[in] IUnknown *pProxy,
[out] IUnknown **ppCopy
);
Параметры
[in] pProxy
Указатель на интерфейс, прокси-сервер которого необходимо скопировать. Этот параметр не может иметь значение NULL.
[out] ppCopy
Указатель на указатель интерфейса IUnknown , который получает копию прокси-сервера. Этот параметр не может иметь значение NULL.
Возвращаемое значение
Этот метод может возвращать следующие значения.
Код возврата | Описание |
---|---|
|
Метод завершился успешно. |
|
Один или несколько аргументов недопустимы. |
Комментарии
Метод CopyProxy вызывается клиентом для создания частной копии прокси-сервера для указанного интерфейса. Копия прокси-сервера имеет значения по умолчанию для сведений о проверке подлинности. Сведения о проверке подлинности можно изменить с помощью вызова IClientSecurity::SetBlanket , не затрагивая других клиентов исходного прокси-сервера. Копия имеет одну ссылку, и вызывающий объект CopyProxy должен убедиться, что копия прокси-сервера будет освобождена.
Локальные интерфейсы, такие как IUnknown и IClientSecurity, не могут быть скопированы. Невозможно дублировать диспетчер прокси-серверов с помощью CopyProxy.
Копии одного и того же прокси-сервера имеют особую связь относительно QueryInterface. Предположим, что при использовании прокси-сервера (a) интерфейса IA удаленного объекта создается копия , которая называется b. В этом случае вызов QueryInterface из прокси-сервера b для IID_IA получает не интерфейс IA на b, а на исходном прокси-сервере.
Обратите внимание, что любой пользователь может запросить прокси-сервер и изменить безопасность на нем с помощью SetBlanket. Однако, когда вы сделали копию прокси-сервера, никто не сможет получить копию, если вы не предоставите ее им. Только пользователи, у которых есть копия, могут установить для нее безопасность.
Вспомогательная функция CoCopyProxy инкапсулирует вызов QueryInterface для указателя на IClientSecurity, вызов CopyProxy с указателем IClientSecurity и освобождение указателя IClientSecurity .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | objidl.h (включая ObjIdl.h) |