Share via


IScopedOperations : IBindResource

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.

When to Implement

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.

When to Call

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.

(Inherited)

All methods of IBindResource.

This topic is a part of: