다음을 통해 공유


IClientSecurity::CopyProxy 메서드(objidl.h)

지정된 인터페이스에 대한 프록시의 프라이빗 복사본을 만듭니다.

구문

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

매개 변수

[in] pProxy

프록시를 복사할 인터페이스에 대한 포인터입니다. 이 매개 변수는 NULL일 수 없습니다.

[out] ppCopy

프록시의 복사본을 수신하는 IUnknown 인터페이스 포인터에 대한 포인터입니다. 이 매개 변수는 NULL일 수 없습니다.

반환 값

이 메서드는 다음 값을 반환할 수 있습니다.

반환 코드 Description
S_OK
메서드가 완료되었습니다.
E_INVALIDARG
하나 이상의 인수가 잘못되었습니다.

설명

CopyProxy 는 지정된 인터페이스에 대한 프록시의 프라이빗 복사본을 만들기 위해 클라이언트에서 호출됩니다. 프록시 복사본에는 인증 정보에 대한 기본값이 있습니다. 해당 인증 정보는 원래 프록시의 다른 클라이언트에 영향을 주지 않고 IClientSecurity::SetBlanket 호출을 통해 변경할 수 있습니다. 복사본에는 하나의 참조가 있으며 CopyProxy 의 호출자는 프록시 복사본이 해제되었는지 확인해야 합니다.

IUnknownIClientSecurity와 같은 로컬 인터페이스는 복사할 수 없습니다. CopyProxy를 사용하여 프록시 관리자를 복제할 수 없습니다.

동일한 프록시의 복사본에는 QueryInterface와 관련된 특별한 관계가 있습니다. 원격 개체의 IA 인터페이스에 대한 프록시가 지정된 경우 의 복사본이 생성되어 b라고 합니다. 이 경우 IID_IA 대해 b 프록시에서 QueryInterface 를 호출하면 b에서 IA 인터페이스를 검색하지 않고 원래 프록시의 IA 인터페이스를 검색합니다.

누구나 SetBlanket을 사용하여 프록시를 쿼리하고 보안을 변경할 수 있습니다. 그러나 프록시의 복사본을 만든 경우 복사를 제공하지 않는 한 아무도 복사본을 가져올 수 없습니다. 복사본이 있는 사용자만 보안을 설정할 수 있습니다.

도우미 함수 CoCopyProxy는 IClientSecurity에 대한 포인터, IClientSecurity 포인터가 있는 CopyProxy 호출 및 IClientSecurity 포인터의 릴리스에 대한 QueryInterface 호출을 캡슐화합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 objidl.h(ObjIdl.h 포함)

추가 정보

CoCopyProxy

IClientSecurity