IRowsetNotify::OnRowsetChange

Notifies the consumer of any change affecting the entire rowset.

Syntax

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

Parameters

  • pRowset
    [in] A pointer to the rowset, because the consumer may be receiving notifications from multiple rowsets and this identifies which one is calling.

  • eReason
    [in] The reason for the change as indicated by the value of DBREASON. If this value is not recognized by the method, the method returns S_OK or DB_S_UNWANTEDREASON.

  • ePhase
    [in] The phase of this notification.

  • fCantDeny
    [in] When this flag is set to TRUE, the consumer cannot veto the event by returning S_FALSE because the provider cannot undo the event.

Return Code

  • S_OK
    The method succeeded.

  • S_FALSE
    The notification, expressed by the value of DBREASON or DBEVENTPHASE or both, is vetoed by reason of logical objection or a failure to be able to implement.

  • DB_S_UNWANTEDPHASE
    The consumer is not interested in receiving this phase for this reason. The provider can optimize by making no further calls with this reason and phase. The phases for other reasons are unaffected.

  • DB_S_UNWANTEDREASON
    The consumer is not interested in receiving any phases for this reason. The provider can optimize by making no further calls with this reason.

  • E_FAIL
    A consumer-specific error occurred. The provider continues the operation.

Comments

Possible reasons are any of the DBREASON_ROWSET_* reasons.

No phases occur; this method is equivalent to DBEVENTPHASE_DIDEVENT.

Unless the consumer returns S_FALSE, the provider continues the operation. This is true even if the consumer returns E_FAIL or any other error code.

See Also

Reference

IRowsetNotify::OnFieldChange

IRowsetNotify::OnRowChange