次の方法で共有


IRowsetNotifyCP クラス

コネクション ポイント インターフェイス IRowsetNotify のプロバイダー サイトを実装します。

構文

template <class T, class ReentrantEventSync = CComSharedMutex>
class IRowsetNotifyCP :
   public IConnectionPointImpl<
      T,
      piid = &__uuidof(IRowsetNotify),
      CComDynamicUnkArray DynamicUnkArray>,
   public ReentrantEventSync

パラメーター

T
IRowsetNotifyCP の派生クラス。

ReentrantEventSync
再入をサポートするミューテックス クラス (既定値は CComSharedMutex)。 ミューテックスは、1 つのスレッドがリソースに排他アクセスできるようにする同期オブジェクトです。

piid
IRowsetNotify コネクション ポイント インターフェイスのインターフェイス ID ポインター (IID*)。 既定値は &__uuidof(IRowsetNotify) です。

DynamicUnkArray
CComDynamicUnkArray 型の配列。これは、クライアント シンク インターフェイスへの IUnknown ポインターの動的に割り当てられた配列です。

必要条件

ヘッダー: atldb.h

メンバー

メソッド

Name 説明
Fire_OnFieldChange 列の値に対する変更をコンシューマーに通知します。
Fire_OnRowChange 行に影響を与える変更をコンシューマーに通知します。
Fire_OnRowsetChange 行セット全体に影響を与える変更をコンシューマーに通知します。

解説

IRowsetNotifyCP は、行セットの内容に対する変更のコネクション ポイント IID_IRowsetNotify をリスナーに通知するブロードキャスト関数を実装します。

IRowsetNotifyImpl を使用して、コンシューマー ("シンク" とも呼ばれます) に IRowsetNotify を実装して登録し、コンシューマーが通知を処理できるようにする必要もあることに注意してください。 コンシューマーでのコネクション ポイント インターフェイスの実装については、「通知の受信」を参照してください。

通知の実装の詳細については、「更新可能なプロバイダーの作成」の通知のサポートに関するページを参照してください。

IRowsetNotifyCP::Fire_OnFieldChange

OnFieldChange イベントをブロードキャストして、列の値に対する変更をコンシューマーに通知します。

構文

HRESULT Fire_OnFieldChange(IRowset* pRowset,
   HROW hRow,
   DBORDINAL cColumns,
   DBORDINAL* rgColumns,
   DBREASON eReason,
   DBEVENTPHASE ePhase,
   BOOL fCantDeny);

パラメーター

"OLE DB プログラマーズ リファレンス" の「IRowsetNotify::OnFieldChange」を参照してください。

IRowsetNotifyCP::Fire_OnRowChange

OnRowChange イベントを接続ポイント IID_IRowsetNotify 上のすべてのリスナーにブロードキャストして、行に影響を与える変更をコンシューマーに通知します。

構文

HRESULT Fire_OnRowChange(IRowset* pRowset,
   DBCOUNTITEM cRows,
   const HROW rghRows[],
   DBREASON eReason,
   DBEVENTPHASE ePhase,
   BOOL fCantDeny);

パラメーター

"OLE DB プログラマーズ リファレンス" の「IRowsetNotify::OnRowChange」を参照してください。

IRowsetNotifyCP::Fire_OnRowsetChange

OnRowsetChange イベントを接続ポイント IID_IRowsetNotify 上のすべてのリスナーにブロードキャストして、行セット全体に影響を与える変更をコンシューマーに通知します。

構文

HRESULT Fire_OnRowsetChange(IRowset* pRowset,
   DBREASON eReason,
   DBEVENTPHASE ePhase,
   BOOL fCantDeny);

パラメーター

"OLE DB プログラマーズ リファレンス" の「IRowsetNotify::OnRowsetChange」を参照してください。

関連項目

OLE DB プロバイダー テンプレートに関するページ
OLE DB プロバイダー テンプレートのアーキテクチャ
通知 (COM)
BEGIN_CONNECTION_POINT_MAP
END_CONNECTION_POINT_MAP
CONNECTION_POINT_ENTRY
更新可能なプロバイダーの作成