Overview of Notifications

Notifications permit an application to be aware of changes to its data. Frequently, numerous consumers require access and/or updating ability to the same data. It is therefore necessary for these consumers to know when changes occur. In OLE DB, notifications are sent by the provider when significant changes occur to row or rowset state. This chapter explains when notifications are sent, as well as how to nest and group them. It also discusses ways to screen out unwanted events or phases, enhancing the consumer’s knowledge of the data's state. To illustrate a method issuing notifications, states and state transitions in providers and consumers are diagrammed.

For more information on Go to
Consumers and providers Consumers and Providers” in Chapter 1, “Overview of OLE DB”
When notifications are sent When Notifications Are Sent” in this chapter
Nested notifications When Notifications Are Sent” in this chapter
Grouped notifications When Notifications Are Sent” in this chapter
States and state transitions in providers States and State Transitions in Providers” in this chapter
States and state transitions in consumers States and State Transitions in Consumers” in this chapter
Threading and notifications "Threading and Notifications" in Chapter 14, "Programming Considerations"

Consumers may need to be aware of changes other consumers make to a shared rowset. For example, suppose multiple consumers share a rowset and some of these consumers update the rowset directly by using IRowsetChange or IRowsetUpdate. The nonupdating consumers may want to be notified of changes made by updating consumers to be able to refresh their local state.

To be notified of such changes, which are called endogenous changes, consumers implement IRowsetNotify and register it on a connection point with the provider. Providers call the methods in this interface to notify the consumers of changes made by other consumers of the same rowset.