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 |
---|---|
|
Die Methode wurde erfolgreich abgeschlossen. |
|
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) |