Platform SDK: Active Directory, ADSI, and Directory Services

Object Picker Scopes and Filters

The Look in drop-down list contains the scopes from which the user can select objects. A scope is a domain, computer, workgroup, or global catalog that stores information about and provides access to a set of available objects. The entries in the scope list depend on the scope types and the target computer specified when you last called the IDsObjectPicker::Initialize method to initialize the dialog box.

A scope type is a generic category of scopes, such as all domains in the enterprise to which the target computer belongs, or the global catalog for the target computer's enterprise, or the target computer itself. For each specified scope type, the dialog box uses the context of the target computer to determine the scope list entries.

When you call the Initialize method, you must specify a DSOP_INIT_INFO structure containing an array of DSOP_SCOPE_INIT_INFO structures. Each entry in the array specifies one or more scope types as well as applicable filters and other attributes. The filters determine the types of objects—such as users, groups, contacts, and computers—the user can select from a given scope type. When the user selects a scope from the list, the dialog box applies the filters for that scope type to display a list of objects from which the user can select.

Each DSOP_SCOPE_INIT_INFO structure contains a DSOP_FILTER_FLAGS structure that specifies the filters for that scope type. The DSOP_FILTER_FLAGS structure distinguishes between uplevel and downlevel scopes.

Objsel.h defines two sets of filter flags: one for uplevel scopes and one for downlevel scopes.