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 |
---|---|
|
연결이 설정되었으며 *pdwCookie 에 연결 토큰이 있습니다. |
|
pUnkSink 또는 pdwCookie의 값이 잘못되었습니다. 예를 들어 두 포인터 중 하나가 NULL일 수 있습니다. |
|
연결 지점이 이미 연결 한계에 도달하여 더 이상 수용할 수 없습니다. |
|
싱크는 이 연결 지점에 필요한 인터페이스를 지원하지 않습니다. |
설명
조언 은 연결 지점과 pUnkSink로 식별된 호출자의 싱크 간에 연결을 설정합니다.
연결점은 QueryInterface 를 호출하여 이벤트가 발생할 때 호출할 올바른 나가는 인터페이스 포인터를 가져와야 하며 연결 지점에서 관리하는 나가는 인터페이스에 대한 IID를 사용해야 합니다. IID가 IConnectionPointContainer::FindConnectionPoint 메서드에 전달되면 동일한 연결점에 대한 인터페이스 포인터가 반환됩니다.
구현자에 대한 참고 사항
연결점은 올바른 나가는 인터페이스에 대해 pUnkSink 포인터를 쿼리해야 합니다. 이 쿼리가 실패하면 이 메서드는 CONNECT_E_CANNOTCONNECT 반환해야 합니다.pdwCookie 값은 연결점의 지정된 instance 대한 각 연결에 대해 고유해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | ocidl.h |