알림을 받을 수는 어떻게?

OLE DB는 이벤트가 발생할 때 알림을 위한 인터페이스를 제공 합니다. 에 설명 되어 있습니다 합니다 OLE DB Programmer's Reference의 알림 장. 이러한 이벤트의 설치 표준 COM 연결 포인트 메커니즘을 사용합니다. IRowsetNotify 를 통해 이벤트를 검색 하 고 싶어 하는 ATL 개체 클래스 파생 목록에 IRowsetNotify 를 추가 하 고 COM_INTERFACE_ENTRY 매크로 통해 노출 하 여 IRowsetNotify 인터페이스를 구현 하는 예를 들어,。

IRowsetNotify 에 다양 한 시간에 호출 될 수 있습니다 세 가지 방법이 있다. 이러한 메서드 중 하나에 응답 하려는 경우에 관심이 있다면 메서드에 대 한 E_NOTIMPL 을 반환 하는 IRowsetNotifyImpl 클래스를 사용할 수 있습니다.

행 집합을 만들 때 알려야 공급자 지원 IConnectionPointContainer, 알림을 설정 하는 데 필요한 하는 반환 된 행 집합 개체를 원하는。

다음 코드에서는 ATL 개체에서 행 집합을 열고 AtlAdvise 함수를 사용 하 여 알림 싱크를 설정 하는 방법을 보여 줍니다. AtlAdvise 는 AtlUnadvise 를 호출할 때 사용 하는 쿠키를 반환 합니다.

CDBPropSet propset(DBPROPSET_ROWSET);
propset입니다.AddProperty(DBPROP_IConnectionPointContainer, true);

제품입니다.오픈 세션, _T("Products"), 앰프 (propset);

AtlAdvise (product.m_spRowset, GetUnknown(), IID_IRowsetNotify, m_dwCookie)(&A) 

Index