Makes a private copy of the specified proxy.
HRESULT CopyProxy(
IUnknown * punkProxy , |
//IUnknown pointer to the proxy to copy |
IUnknown ** ppunkCopy |
//Indirect IUnknown pointer to the copy |
); |
Parameter
Return Values
Remarks
IClientSecurity::CopyProxy makes a private copy of the specified proxy for the calling client. Its authentication information may be changed through a call to IClientSecurity::SetBlanket without affecting any other clients of the original proxy. The copy has the default values for the authentication information. The copy has one reference and must be released.
The helper function CoCopyProxy encapsulates a QueryInterface call on the proxy for a pointer to IClientSecurity, and with that pointer calls IClientSecurity::CopyProxy, and then releases the IClientSecurity pointer.
Local interfaces may not be copied. IUnknown and IClientSecurity are examples of existing local interfaces.
Copies of the same proxy have a special relationship with respect to QueryInterface. Given a proxy, a, of the IA interface of a remote object, suppose a copy of a is created, called b. In this case, calling QueryInterface from the b proxy for IID_IA will not retrieve the IA interface on b, but the one on a, the original proxy with the “default” security settings for the IA interface.
See Also