Partager via


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

Effectue une copie privée du proxy pour l’interface spécifiée.

Syntaxe

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

Paramètres

[in] pProxy

Pointeur vers l’interface dont le proxy doit être copié. Ce paramètre ne peut pas être NULL.

[out] ppCopy

Pointeur vers le pointeur d’interface IUnknown qui reçoit la copie du proxy. Ce paramètre ne peut pas être NULL.

Valeur retournée

Cette méthode peut retourner les valeurs suivantes.

Code de retour Description
S_OK
La commande s'est correctement terminée.
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.

Remarques

CopyProxy est appelé par le client pour effectuer une copie privée du proxy pour l’interface spécifiée. La copie proxy a des valeurs par défaut pour les informations d’authentification. Ses informations d’authentification peuvent être modifiées par le biais d’un appel à IClientSecurity ::SetBlanket sans affecter d’autres clients du proxy d’origine. La copie a une référence, et l’appelant de CopyProxy doit s’assurer que la copie proxy est libérée.

Les interfaces locales, telles que IUnknown et IClientSecurity, ne peuvent pas être copiées. Vous ne pouvez pas dupliquer un gestionnaire de proxy à l’aide de CopyProxy.

Les copies du même proxy ont une relation spéciale par rapport à QueryInterface. Étant donné un proxy, a, de l’interface IA d’un objet distant, supposons qu’une copie de a soit créée, appelée b. Dans ce cas, l’appel de QueryInterface à partir du proxy b pour IID_IA ne récupère pas l’interface IA sur b, mais celle sur a, le proxy d’origine.

Notez que tout le monde peut interroger un proxy et modifier sa sécurité à l’aide de SetBlanket. Toutefois, lorsque vous avez effectué une copie d’un proxy, personne ne peut obtenir la copie à moins que vous ne la lui doniez. Seules les personnes qui ont la copie peuvent définir la sécurité sur celle-ci.

La fonction d’assistance CoCopyProxy encapsule un appel QueryInterface pour un pointeur vers IClientSecurity, un appel à CopyProxy avec le pointeur IClientSecurity et la publication du pointeur IClientSecurity .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête objidl.h (inclure ObjIdl.h)

Voir aussi

CoCopyProxy

IClientSecurity