다음을 통해 공유


IConnectionPoint::Advise 메서드(ocidl.h)

연결 지점 개체와 클라이언트의 싱크 간에 연결을 설정합니다.

구문

HRESULT Advise(
  [in]  IUnknown *pUnkSink,
  [out] DWORD    *pdwCookie
);

매개 변수

[in] pUnkSink

클라이언트의 조언 싱크에서 IUnknown 인터페이스에 대한 포인터입니다. 클라이언트의 싱크는 연결 지점에서 나가는 호출을 수신합니다.

[out] pdwCookie

이 연결을 고유하게 식별하는 반환된 토큰에 대한 포인터입니다. 호출자는 나중에 이 토큰을 사용하여 IConnectionPoint::Unadvise 메서드에 전달하여 연결을 삭제합니다. 연결이 성공적으로 설정되지 않은 경우 이 값은 0입니다.

반환 값

이 메서드는 다음 값뿐만 아니라 E_OUTOFMEMORY 및 E_UNEXPECTED 표준 반환 값을 반환할 수 있습니다.

반환 코드 Description
S_OK
연결이 설정되었으며 *pdwCookie 에 연결 토큰이 있습니다.
E_POINTER
pUnkSink 또는 pdwCookie의 값이 잘못되었습니다. 예를 들어 두 포인터 중 하나가 NULL일 수 있습니다.
CONNECT_E_ADVISELIMIT
연결 지점이 이미 연결 한계에 도달하여 더 이상 수용할 수 없습니다.
CONNECT_E_CANNOTCONNECT
싱크는 이 연결 지점에 필요한 인터페이스를 지원하지 않습니다.

설명

조언 은 연결 지점과 pUnkSink로 식별된 호출자의 싱크 간에 연결을 설정합니다.

연결점은 QueryInterface 를 호출하여 이벤트가 발생할 때 호출할 올바른 나가는 인터페이스 포인터를 가져와야 하며 연결 지점에서 관리하는 나가는 인터페이스에 대한 IID를 사용해야 합니다. IID가 IConnectionPointContainer::FindConnectionPoint 메서드에 전달되면 동일한 연결점에 대한 인터페이스 포인터가 반환됩니다.

구현자에 대한 참고 사항

연결점은 올바른 나가는 인터페이스에 대해 pUnkSink 포인터를 쿼리해야 합니다. 이 쿼리가 실패하면 이 메서드는 CONNECT_E_CANNOTCONNECT 반환해야 합니다.

pdwCookie 값은 연결점의 지정된 instance 대한 각 연결에 대해 고유해야 합니다.

요구 사항

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

추가 정보

IConnectionPoint