# IPropertyNotifySink

The IPropertyNotifySink interface is implemented by a sink object to receive notifications about property changes from an object that supports IPropertyNotifySink as an “outgoing” interface. The client that needs to receive the notifications in this interface (from a supporting connectable object) creates a sink with this interface and connects it to the connectable object through the connection point mechanism. For more information on connection points, see IConnectionPointContainer.

The object is itself required to call the methods of IPropertyNotifySink only for those properties marked with the [bindable] and [requestedit] attributes in the object’s type information. When the object changes a [bindable] property, it is required to call IPropertyNotifySink::OnChanged. When the object is about to change a [requestedit] property, it must call IPropertyNotifySink::OnRequestEdit before changing the property and must also honor the action specified by the sink on return from this call.

The one exception to this rule is that no notifications are sent as a result of an object’s initialization or loading procedures. At initialization time, it is assumed that all properties change and that all must be allowed to change. Notifications to this interface are therefore meaningful only in the context of a fully initialized/loaded object.

##### When to Implement

Implement this interface for a sink object that receives notifications about property changes from an object that supports this kind of notification.

##### When to Use

Use this interface to notify a sink object about changes in a property.

Methods in Vtable Order

IUnknown Methods | Description
QueryInterface | Returns pointers to supported interfaces.
AddRef | Increments reference count.
Release | Decrements reference count.

IPropertyNotifySink Methods | Description
OnChanged | Notifies a sink that a bindable property has changed.
OnRequestEdit | Notifies a sink that a requestedit property is about to change.

See Also

IConnectionPoint, IConnectionPointContainer

Also, see the Automation branch of the help file for further explanations of type information, ODL files, and type libraries.