Providers can be built on top of OLE object storage systems. In this case, the columns of the rowset generally correspond to the properties of the objects, rather than to the objects themselves. One of these properties is known as the self property. The value stored in the column corresponding to the self property is the OLE object itself. That is, when the consumer gets the value of this column, it gets the OLE object to which the other properties in the rowset apply. For information about how the consumer gets or sets this object, see "Getting and Setting IPersist* Objects" earlier in this chapter.
In the column ID for this column, the guid element is DBCOL_SELFCOLUMNS and the pwszName or ulPropid element is assigned by the object (command or session) that created the rowset. The pwszName or ulPropid elements will be needed, for example, when joining two rows, each of which contains an OLE object and each of which therefore has a column corresponding to the self property.