DSOP_SCOPE_INIT_INFO 结构 (objsel.h)

DSOP_SCOPE_INIT_INFO结构描述具有相同属性的一个或多个范围类型。 范围类型是一种位置类型,例如域、计算机或全局目录,用户可以从中选择对象。 调用 IDsObjectPicker::Initialize 时,此结构与 DSOP_INIT_INFO 一起使用。

语法

typedef struct _DSOP_SCOPE_INIT_INFO {
  ULONG             cbSize;
  ULONG             flType;
  ULONG             flScope;
  DSOP_FILTER_FLAGS FilterFlags;
  PCWSTR            pwzDcName;
  PCWSTR            pwzADsPath;
  HRESULT           hr;
} DSOP_SCOPE_INIT_INFO, *PDSOP_SCOPE_INIT_INFO;

成员

cbSize

包含 结构的大小(以字节为单位)。

flType

指示此结构所描述的范围类型的标志。 如果所有指定的范围都使用相同的设置,则可以合并多个范围类型。 此成员可以是以下标志的组合。

DSOP_SCOPE_TYPE_TARGET_COMPUTER (0x00000001)

DSOP_INIT_INFO 结构的 pwzTargetComputer 成员指定的计算机。

如果目标计算机是上级或下层域控制器,则忽略此标志,除非 在 DSOP_INIT_INFO 结构的 flOptions 成员中设置了 DSOP_FLAG_SKIP_TARGET_COMPUTER_DC_CHECK 标志。

DSOP_SCOPE_TYPE_UPLEVEL_JOINED_DOMAIN (0x00000002)

目标计算机加入到的上级域。 如果设置了此标志,请使用 pwzDcName 成员指定已加入域中域控制器的名称。

DSOP_SCOPE_TYPE_DOWNLEVEL_JOINED_DOMAIN (0x00000004)

目标计算机加入到的下层域。

DSOP_SCOPE_TYPE_ENTERPRISE_DOMAIN (0x00000008)

目标计算机所属的企业中的所有域。 如果指定 了DSOP_SCOPE_TYPE_UPLEVEL_JOINED_DOMAIN 范围,则 DSOP_SCOPE_TYPE_ENTERPRISE_DOMAIN 范围表示企业中除加入的域之外的所有域。

DSOP_SCOPE_TYPE_GLOBAL_CATALOG (0x00000010)

包含企业中所有域的对象的范围。 企业只能包含上级域。

DSOP_SCOPE_TYPE_EXTERNAL_UPLEVEL_DOMAIN (0x00000020)

企业外部但受目标计算机加入的域信任的所有上层域。

DSOP_SCOPE_TYPE_EXTERNAL_DOWNLEVEL_DOMAIN (0x00000040)

企业外部但受目标计算机加入的域信任的所有下层域。

DSOP_SCOPE_TYPE_WORKGROUP (0x00000080)

目标计算机加入到的工作组。 仅当目标计算机未加入域时适用。

可从工作组中选择的唯一对象类型是计算机。

DSOP_SCOPE_TYPE_USER_ENTERED_UPLEVEL_SCOPE (0x00000100)

使用户能够进入上级范围。 如果未指定 DSOP_SCOPE_TYPE_USER_ENTERED_* 类型,则对话框会将用户限制为“ 查找 范围”下拉列表中的范围。

DSOP_SCOPE_TYPE_USER_ENTERED_DOWNLEVEL_SCOPE (0x00000200)

使用户能够进入下层范围。

flScope

指示用于返回从此范围中选择的对象的 ADsPath 的格式的标志。 flScope 成员还可以指示“查找范围”下拉列表中显示的初始范围。 此成员可以是以下标志的组合。

LDAP 和全局编录 (GC) 路径可以转换为 WinNT ADsPath 语法。 GC 路径可以转换为 LDAP 格式。 如果指定DSOP_SCOPE_FLAG_WANT_SID_PATH或DSOP_SCOPE_FLAG_WANT_PROVIDER_LDAP标志,则可以将具有 objectSid 属性的 WinNT 对象转换为 LDAP 格式。 没有其他转换是合法的。

DSOP_SCOPE_FLAG_STARTING_SCOPE (0x00000001)

此结构描述的范围最初是在 “查找范围 ”下拉列表中选择的。 只有一个范围可以指定此标志。 如果没有范围指定此标志,则初始作用域是传递给 IDsObjectPicker::Initialize 方法的范围数组中第一个成功创建的范围。

DSOP_SCOPE_FLAG_WANT_PROVIDER_WINNT (0x00000002)

ADsPaths 将转换为使用 WinNT 提供程序。 有关详细信息,请参阅 WinNT ADsPath

DSOP_SCOPE_FLAG_WANT_PROVIDER_LDAP (0x00000004)

将 ADsPath 转换为使用 LDAP 提供程序。 有关详细信息,请参阅 LDAP ADsPath

DSOP_SCOPE_FLAG_WANT_PROVIDER_GC (0x00000008)

从此范围中选择的对象的 ADsPaths 将转换为使用 GC 提供程序。

DSOP_SCOPE_FLAG_WANT_SID_PATH (0x00000010)

具有 objectSid 属性的 ADsPath 将转换为 格式 LDAP://< SID=x> ,其中 x 表示 objectSid 属性值的十六进制数字。

DSOP_SCOPE_FLAG_WANT_DOWNLEVEL_BUILTIN_PATH (0x00000020)

下层已知 SID 对象的 ADsPath 是空字符串,除非 (指定此标志。 DSOP_DOWNLEVEL_FILTER_INTERACTIVE) 。 如果指定了此标志,则路径的格式为

WinNT://NT AUTHORITY/InteractiveWinNT://Creator 所有者

DSOP_SCOPE_FLAG_DEFAULT_FILTER_USERS (0x00000040)

如果范围筛选器包含用户,请在对话框中选择“用户检查”框。

DSOP_SCOPE_FLAG_DEFAULT_FILTER_GROUPS (0x00000080)

如果范围筛选器包含组,请在对话框中选择“检查”框。

DSOP_SCOPE_FLAG_DEFAULT_FILTER_COMPUTERS (0x00000100)

如果范围筛选器包含计算机,请在对话框中选择“计算机检查”框。

DSOP_SCOPE_FLAG_DEFAULT_FILTER_CONTACTS (0x00000200)

如果范围筛选器包含联系人,请在对话框中选择“联系人检查”框。

DSOP_SCOPE_FLAG_DEFAULT_FILTER_SERVICE_ACCOUNTS (0x00000400)

如果范围筛选器包含服务帐户,请在对话框中选择“服务帐户”和“组托管服务帐户”检查框。

DSOP_SCOPE_FLAG_DEFAULT_FILTER_PASSWORDSETTINGS_OBJECTS (0x00000800)

如果范围筛选器包含密码设置对象,请在对话框中选择“密码设置对象检查框。

FilterFlags

包含一个 DSOP_FILTER_FLAGS 结构,该结构指示为此范围或作用域向用户呈现的对象类型。

pwzDcName

指向以 null 结尾的 Unicode 字符串的指针,该字符串包含目标计算机加入到的域的域控制器的名称。 仅当 flType 成员包含 DSOP_SCOPE_TYPE_UPLEVEL_JOINED_DOMAIN 标志时,才使用此成员。 如果未设置该标志, pwzDcName 必须为 NULL

即使指定了DSOP_SCOPE_TYPE_UPLEVEL_JOINED_DOMAIN标志,此成员也可以为 NULL,在这种情况下,对话框将查找域控制器。 此成员使你能够命名多主机域中的特定域控制器。 例如,管理应用程序可能会在多主机域中的域控制器上进行更改,然后在其他域控制器上复制更改之前打开对象选取器对话框。

pwzADsPath

保留;必须为 NULL

hr

包含一个 HRESULT 值,该值指示特定作用域的状态。 如果 IDsObjectPicker::Initialize 方法成功创建此结构指定的范围, 则 hr 包含 S_OK。 否则, hr 包含错误代码。

如果 IDsObjectPicker::Initialize 返回S_OK,则所有指定DSOP_SCOPE_INIT_INFO结构的 hr 成员也包含S_OK

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
标头 objsel.h

另请参阅

DSOP_FILTER_FLAGS

DSOP_INIT_INFO

目录对象选取器

IDsObjectPicker::Initialize