Compartilhar via


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

Faz uma cópia privada do proxy para a interface especificada.

Sintaxe

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

Parâmetros

[in] pProxy

Um ponteiro para a interface cujo proxy deve ser copiado. Esse parâmetro não pode ser NULL.

[out] ppCopy

Um ponteiro para o ponteiro da interface IUnknown que recebe a cópia do proxy. Esse parâmetro não pode ser NULL.

Retornar valor

Esse método pode retornar os valores a seguir.

Código de retorno Descrição
S_OK
O método foi concluído com sucesso.
E_INVALIDARG
Um ou mais argumentos não são válidos.

Comentários

CopyProxy é chamado pelo cliente para fazer uma cópia privada do proxy para a interface especificada. A cópia de proxy tem valores padrão para as informações de autenticação. Suas informações de autenticação podem ser alteradas por meio de uma chamada para IClientSecurity::SetBlanket sem afetar nenhum outro cliente do proxy original. A cópia tem uma referência e o chamador de CopyProxy deve garantir que a cópia do proxy seja liberada.

Interfaces locais, como IUnknown e IClientSecurity, não podem ser copiadas. Você não pode duplicar um gerenciador de proxy usando CopyProxy.

Cópias do mesmo proxy têm uma relação especial em relação a QueryInterface. Dado um proxy, a, da interface IA de um objeto remoto, suponha que uma cópia de um seja criada, chamada b. Nesse caso, chamar QueryInterface do proxy b para IID_IA não recuperará a interface ia em b, mas a do proxy original.

Observe que qualquer pessoa pode consultar um proxy e alterar a segurança nele usando SetBlanket. No entanto, quando você tiver feito uma cópia de um proxy, ninguém poderá obter a cópia, a menos que você a dê a elas. Somente as pessoas que têm a cópia podem definir a segurança nela.

A função auxiliar CoCopyProxy encapsula uma chamada QueryInterface para um ponteiro para IClientSecurity, uma chamada para CopyProxy com o ponteiro IClientSecurity e a versão do ponteiro IClientSecurity .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho objidl.h (inclua ObjIdl.h)

Confira também

CoCopyProxy

Iclientsecurity