MDAC 2.5 SDK - OLE DB Programmer's Reference
Chapter 12: OLE DB Object Notifications
States and State Transitions in Providers
The following diagram shows the events that take place within a rowset method, such as IRowsetChange::SetData, when it is implemented in a provider that supports notifications.
Provider state/state transition diagram
States
- Enter Method and Exit Method are conceptual states representing the initial and final states of a method issuing notifications.
- OKTODO, ABOUTTODO, SYNCHAFTER, DIDEVENT, and FAILEDTODO are states representing notifications sent by the method to consumers.
- Preliminary Work, Permanent Work, and Undo Work are internal states representing work done by the provider between notification phases.
Transitions
- Arrows with a heavy continuous line represent transitions within states when all consumers return S_OK as a result of the notification sent by the state at the start of the arrow. In general, a transition through a heavy continuous line represents an acceptance path by the consumer on the notification.
- Arrows with a light continuous line represent transitions within states when at least one consumer returns S_FALSE as a result of the notification sent by the state at the start of the arrow. In general, a transition through a light continuous line represents a cancellation path by the consumer on the notification.
- Arrows with a dashed line represent internal transitions within the method. The transitions from Preliminary Work or Permanent Work to FAILEDTODO are transitions that result from some error in the execution of the method. A transition from Enter Method to Exit Method represents a path where the method detects some error condition that implies no notification work.