Compartir a través de


Método IClientSecurity::CopyProxy (objidl.h)

Realiza una copia privada del proxy para la interfaz especificada.

Sintaxis

HRESULT CopyProxy(
  [in]  IUnknown *pProxy,
  [out] IUnknown **ppCopy
);

Parámetros

[in] pProxy

Puntero a la interfaz cuyo proxy se va a copiar. Este parámetro no puede ser NULL.

[out] ppCopy

Puntero al puntero de interfaz IUnknown que recibe la copia del proxy. Este parámetro no puede ser NULL.

Valor devuelto

Este método puede devolver los valores siguientes.

Código devuelto Descripción
S_OK
El método se completó correctamente.
E_INVALIDARG
Uno o varios argumentos no son válidos.

Comentarios

El cliente llama a CopyProxy para realizar una copia privada del proxy para la interfaz especificada. La copia de proxy tiene valores predeterminados para la información de autenticación. Su información de autenticación se puede cambiar a través de una llamada a IClientSecurity::SetBlanket sin afectar a ningún otro cliente del proxy original. La copia tiene una referencia y el autor de la llamada de CopyProxy debe asegurarse de que la copia de proxy se libera.

Las interfaces locales, como IUnknown e IClientSecurity, no se pueden copiar. No se puede duplicar un administrador de proxy mediante CopyProxy.

Las copias del mismo proxy tienen una relación especial con respecto a QueryInterface. Dado un proxy, a, de la interfaz IA de un objeto remoto, supongamos que se crea una copia de un elemento , denominado b. En este caso, llamar a QueryInterface desde el proxy b para IID_IA no recuperará la interfaz IA en b, pero la de un proxy original.

Tenga en cuenta que cualquier persona puede consultar un proxy y cambiar la seguridad en él mediante SetBlanket. Sin embargo, cuando haya realizado una copia de un proxy, nadie podrá obtener la copia a menos que la proporcione. Solo las personas que tengan la copia pueden establecer la seguridad en ella.

La función auxiliar CoCopyProxy encapsula una llamada QueryInterface para un puntero a IClientSecurity, una llamada a CopyProxy con el puntero IClientSecurity y la versión del puntero IClientSecurity .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado objidl.h (incluir ObjIdl.h)

Consulte también

CoCopyProxy

IClientSecurity