Freigeben über


IClientSecurity::CopyProxy-Methode (objidl.h)

Erstellt eine private Kopie des Proxys für die angegebene Schnittstelle.

Syntax

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

Parameter

[in] pProxy

Ein Zeiger auf die Schnittstelle, deren Proxy kopiert werden soll. Dieser Parameter darf nicht NULL sein.

[out] ppCopy

Ein Zeiger auf den IUnknown-Schnittstellenzeiger , der die Kopie des Proxys empfängt. Dieser Parameter darf nicht NULL sein.

Rückgabewert

Diese Methode kann die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich abgeschlossen.
E_INVALIDARG
Mindestens ein Argument ist ungültig.

Hinweise

CopyProxy wird vom Client aufgerufen, um eine private Kopie des Proxys für die angegebene Schnittstelle zu erstellen. Die Proxykopie verfügt über Standardwerte für die Authentifizierungsinformationen. Die Authentifizierungsinformationen können durch einen Aufruf von IClientSecurity::SetBlanket geändert werden, ohne dass sich dies auf andere Clients des ursprünglichen Proxys auswirkt. Die Kopie verfügt über einen Verweis, und der Aufrufer von CopyProxy muss sicherstellen, dass die Proxykopie freigegeben wird.

Lokale Schnittstellen wie IUnknown und IClientSecurity können nicht kopiert werden. Sie können einen Proxy-Manager nicht mit CopyProxy duplizieren.

Kopien desselben Proxys weisen eine besondere Beziehung in Bezug auf QueryInterface auf. Angenommen, ein Proxy der IA-Schnittstelle eines Remoteobjekts, wird eine Kopie eines erstellt, genannt b. In diesem Fall wird beim Aufrufen von QueryInterface aus dem b-Proxy für IID_IA nicht die IA-Schnittstelle auf b, sondern die IA-Schnittstelle für a, den ursprünglichen Proxy, abgerufen.

Beachten Sie, dass jeder mithilfe von SetBlanket einen Proxy abfragen und die Sicherheit dafür ändern kann. Wenn Sie jedoch eine Kopie eines Proxys erstellt haben, kann niemand die Kopie erhalten, es sei denn, Sie geben sie ihm. Nur Personen, die über die Kopie verfügen, können die Sicherheit dafür festlegen.

Die Hilfsfunktion CoCopyProxy kapselt einen QueryInterface-Aufruf für einen Zeiger auf IClientSecurity, einen Aufruf von CopyProxy mit dem IClientSecurity-Zeiger und die Freigabe des IClientSecurity-Zeigers .

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile objidl.h (include ObjIdl.h)

Weitere Informationen

CoCopyProxy

IClientSecurity