MDAC 2.5 SDK - OLE DB Programmer's Reference
OLE DB Interfaces
The IScopedOperations interface supports recursive operations on a tree-structured namespace, such as a file system, that is bound to an OLE DB row object. The scope of the row object is defined by the tree or subtree whose root node is bound to the row object. Each node in the tree can be bound to its own row object. One of the columns in each row object can be a rowset containing a row for each child of the node that is bound to the row object. The entire tree can thus be bound by a structure of row and rowset objects.
In tree-structured namespaces such as a file system or an e-mail system, each row object can be associated with a default stream column that stores the contents of a file or an e-mail message. On the row object, the default stream column is identified by a special constant column ID (DBID). The consumer passes this column ID as an argument to IRow::Open to get the default stream. After the application has obtained the default stream from a row, it can return to the containing row by calling IGetSourceRow::GetSourceRow.
IScopedOperations is an optional interface on row objects. Providers may choose whether or not to support it for trees or subtrees rooted at a given row node.
URLs can be specified in either absolute or relative format but must reside with the scope of the current row object.
Note In addition to IScopedOperations, consumers can use IDBCreateCommand, which is an optional interface on row objects, to create a command object that can be used within the scope of the row object.
Method | Description |
Copy | Copies trees or subtrees from source URLs to destination URLs. |
Delete | Deletes trees or subtrees specified by URLs. |
Move | Moves trees or subtrees from source URLs to destination URLs. |
OpenRowset | Opens a rowset containing the child rows of the current row or of a URL-named row within the scope of the current row. Due to interface and method factoring, IScopedOperations::OpenRowset is not inherited from IOpenRowset. However, it is the very same method, adapted for direct binding within the scope of the current row. |