Metodo IClientSecurity::CopyProxy (objidl.h)

Crea una copia privata del proxy per l'interfaccia specificata.

Sintassi

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

Parametri

[in] pProxy

Puntatore all'interfaccia di cui copiare il proxy. Questo parametro non può essere NULL.

[out] ppCopy

Puntatore al puntatore all'interfaccia IUnknown che riceve la copia del proxy. Questo parametro non può essere NULL.

Valore restituito

Questo metodo può restituire i valori seguenti.

Codice restituito Descrizione
S_OK
Metodo completato correttamente.
E_INVALIDARG
Uno o più argomenti non sono validi.

Commenti

CopyProxy viene chiamato dal client per creare una copia privata del proxy per l'interfaccia specificata. La copia proxy ha valori predefiniti per le informazioni di autenticazione. Le informazioni di autenticazione possono essere modificate tramite una chiamata a IClientSecurity::SetBlanket senza influire su altri client del proxy originale. La copia ha un riferimento e il chiamante di CopyProxy deve assicurarsi che la copia proxy venga liberata.

Le interfacce locali, ad esempio IUnknown e IClientSecurity, non possono essere copiate. Non è possibile duplicare un gestore proxy usando CopyProxy.

Le copie dello stesso proxy hanno una relazione speciale rispetto a QueryInterface. Dato un proxy, un, dell'interfaccia IA di un oggetto remoto, si supponga che venga creata una copia di un oggetto denominato b. In questo caso, la chiamata a QueryInterface dal proxy b per IID_IA non recupererà l'interfaccia IA in b, ma quella in un proxy originale.

Si noti che chiunque può eseguire una query per un proxy e modificare la sicurezza su di esso usando SetBlanket. Tuttavia, quando è stata creata una copia di un proxy, nessuno può ottenere la copia, a meno che non venga dato loro. Solo le persone che dispongono della copia possono impostare la sicurezza.

La funzione helper CoCopyProxy incapsula una chiamata QueryInterface per un puntatore a IClientSecurity, una chiamata a CopyProxy con il puntatore IClientSecurity e il rilascio del puntatore IClientSecurity .

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione objidl.h (include ObjIdl.h)

Vedi anche

CoCopyProxy

IClientSecurity